For those who want to study Java and those who are starting to study Java. I'm learning Java. I will post an article on qiita as an output so that I can use what I learned as my knowledge.
Smartphone apps, various web services, games, car navigation systems, etc. Typical services that use Java are
・ Twitter ・ Evernote ・ Rakuten ・ Mizuho Bank's system ·Mine Craft
And so on.
Java is a well-established object-oriented language. Object-oriented is a programming orientation in which parts (objects) are divided and assembled. With Java, you can create a large-scale system with multiple people by separating parts for each function and combining them.
The compiler converts the source code into machine language in advance and instructs the computer. The program can be processed at high speed because there is no need to convert it again at runtime. Also, since no compiler is required, the program can be executed independently. Examples of compiler languages include Java, C, C ++, Objective-C, and C #.
Java is a compiler language, but it also has the advantages of an interpreter. Java pre-converts source code into bytecode, which is intermediate code. When this bytecode is run in a virtual machine called JVM (Java Virtual Machine), the virtual machine can convert the bytecode into machine language and instruct the computer. This JVM is like an interpreter who manages a computer and Java, and with the JVM Java can run on any computer. The interpreter works on any platform if there is a "mechanism that converts the source code into machine language when the program is executed", but the execution speed is slow. If the compiler runs on a different platform, it will be necessary to change the source code for the platform and recompile it. To eliminate these disadvantages, Java uses a virtual machine to run bytecode.
Since Java runs on the aforementioned virtual machine JVM and the "Java platform" that has the libraries required for various execution and development committees, it does not depend on the OS or hardware. It can be used on Mac, Windows and Linux.
When the program is executed, it goes through the following process.
The read information becomes unnecessary after processing. If you leave unnecessary information as it is, it will accumulate in memory and the processing speed of the program will slow down. Garbage collection is a function that throws away unnecessary information from memory after use. Garbage collection automatically determines the need for information and processes it without the programmer writing code for memory management. Java has this garbage collection by default.