search
HomeJavajavaTutorialAn in-depth analysis of how Java works

An in-depth analysis of how Java works

Jul 17, 2017 pm 01:24 PM
javaprincipleBase

Java

is a high-level programming language launched by SUN in 1995. It is an Internet-oriented language and the preferred language for WEB applications (the bottom layer of Android, the big data hadoop framework is written in java, and Spark is written in Scala Written in Scala (written in Java), (relative to other languages) it is easy to learn, safe and reliable, completely object-oriented, and cross-platform (operating system, completely ignore the operating system, and can be used on any operating system after writing).

The concept of virtual machine is introduced in Java, which adds an abstract layer of virtual machine between the machine and the compiler. This virtual machine provides a common interface to compilers on any platform. The compiler only needs to be oriented to the virtual machine, generate code that the virtual machine can understand, and then the interpreter will convert the virtual machine code into machine code for a specific system for execution. In Java, this kind of code for the virtual machine to understand is called bytecode (ByteCode) (the content of the class file). It is not oriented to any specific processor, only to the virtual machine. The interpreter for each platform is different, but the virtual machine implemented is the same. The Java source program is compiled by the compiler and becomes bytecode. The bytecode is interpreted and executed by the virtual machine. The virtual machine sends each bytecode to be executed to the interpreter, and the interpreter translates it into a machine on a specific machine. code and then run it on a specific machine.

Principle of cross-platform

In other words, in Beijing, people generally speak Beijing dialect. In Shanghai, people generally speak Shanghai dialect, Guangdong, and Guangdong. If so...
An official document has been issued and needs to be implemented nationwide. What should we do? ——First translate into Mandarin. Various places are translating the Mandarin version into local dialects.

Here, Beijing and Shanghai are different types of machines, windows, linux...
Compilation (javac) is the process of translating official documents into Mandarin, and the compiled .class file is the Mandarin version of the official document. Version.
During execution, the translator in various places is jvm, which is responsible for converting .class into a dialect that can be understood by the local area for execution.

Java Virtual Machine---Java Virtual Machine---JVM, different Java virtual machines have been developed for different operating systems. A Java program does not run directly on the computer but runs On the Java virtual machine, the Java virtual machine translates Java programs into commands that the current system can recognize. The Java language is cross-platform, but the Java virtual machine is not cross-platform.

Technical Structure of Java

J2SE---Standard Edition

J2EE---Enterprise Edition

J2ME---Mobile Edition (Some people used it in the early days , almost no longer used now)

JDK/JRE/JVM

JVM---The premise that Java can be cross-platform

JRE---Java Runtime Environment---Java Runtime environment---JVM+core class library

JDK---Java Development Kit---Java Development Kit---Development Tools+JRE

java.sun.com

www.oracle.com

In 1994, it was called Oak---Oak

and later changed to Java---Java

JDK1.0(-JDK1.1 -1.2 (Applet/swing---GUI was later eliminated) -1.3-1.4-1.5 (JDK5.0, ten features)---JDK6---JDK7.0---JDK8 (can also be called 1.8/ten Features) By 1.8, there are more than 3,000 classes and interface methods

(75 after Jdk1.7.0_75 means 75 updates, no matter which version is installed, try not to use the first 50 minor versions)

C:\\Program Files(X86)

Note: Do not have spaces or Chinese characters in the installation path!

Compile

Compile Java The process of translating the code into a language that the computer can understand

Note:

1. The file name of the class file corresponds to the class name

2.After each class is compiled, it will Generate a class file

3. The class name of the public class must be consistent with the file name of the Java file

4. The entry point for the Java program to run is the main function. Without the main function, the Java program can be compiled

Environment variables

refers to the amount of some operating parameters specified for the operating system

(1)New->Variable name "JAVA_HOME", variable value "C:\Java\jdk1.8.0_05" (that is, the installation path of JDK)
(2) Edit -> Variable name "Path", add ";" at the end of the original variable value %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
(3) New->Variable name “CLASSPATH”, variable value “.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar ;%JAVA_HOME%\lib\tools.jar”

Keywords

refers to words that have been given special meanings in Java

There are 53 keywords in total, 51 of them are in use, and 2 are not currently used---const, goto---reserved words

##voidenum#Keywords used to define data type valuestruefalsenull##Keywords used to define process controlifdoKeywords used to define access modifiersprivate##implementsthiscatchKeywords used for packagespackageimportnative

Note: All keywords are in lowercase!

Identifier

The name customized in the program

Definition rules: 5 points

1 can be composed of letters, numbers,_,$- --It is not recommended to use the $ symbol

2You cannot use pure numbers, and numbers cannot be used as the beginning

3You cannot use keywords

4Java is a strictly case-sensitive language

5 In order to improve the readability of the program, try to be familiar with the name

Supports Chinese naming, but is not recommended

class A{}

class a{} can be written like this, but Windows does not allow it. Windows is not case-sensitive

Camel case naming method

Class name/interface name

If it consists of multiple words, The first letter of each word is capitalized HelloWorld

Variable name/method name

If it consists of multiple words, the first letter of the first word is lowercase, and the first letter of the remaining words is capitalized playGame

Package name

If it consists of multiple words, all letters must be lowercase, separated by .

Constant name

If it consists of multiple words, All letters are in capital letters, separated by _

Comments

Text used to explain or explain the program in the program

Format

//annotation text Single-line comments

/*&*/ Multi-line comments

/**&*/ Documentation comments---are often used to annotate classes, methods or constants

javadoc -d .\\document Demo.java---This command can only be used to extract the content of document comments in public classes

Keywords used to define data types

class

interface

byte

short

int

long

float

double

char

##boolean

else

switch

case

default

while

for

break

##continue

return

protected

##public

is used to define classes, functions, and variable modifiers Keywords

abstract
final

static

synchronized

##Keywords used to define relationships between classes

extends

Keywords used to define the creation and judgment of instances

new

super

instanceof

Keywords used for exception handling

try

finally

##throw

throws

##Other modifier keywords

strictfp
transient

volatile

assert

The above is the detailed content of An in-depth analysis of how Java works. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How does IntelliJ IDEA identify the port number of a Spring Boot project without outputting a log?How does IntelliJ IDEA identify the port number of a Spring Boot project without outputting a log?Apr 19, 2025 pm 11:45 PM

Start Spring using IntelliJIDEAUltimate version...

How to elegantly obtain entity class variable names to build database query conditions?How to elegantly obtain entity class variable names to build database query conditions?Apr 19, 2025 pm 11:42 PM

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

How to use the Redis cache solution to efficiently realize the requirements of product ranking list?How to use the Redis cache solution to efficiently realize the requirements of product ranking list?Apr 19, 2025 pm 11:36 PM

How does the Redis caching solution realize the requirements of product ranking list? During the development process, we often need to deal with the requirements of rankings, such as displaying a...

How to safely convert Java objects to arrays?How to safely convert Java objects to arrays?Apr 19, 2025 pm 11:33 PM

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

How do I convert names to numbers to implement sorting and maintain consistency in groups?How do I convert names to numbers to implement sorting and maintain consistency in groups?Apr 19, 2025 pm 11:30 PM

Solutions to convert names to numbers to implement sorting In many application scenarios, users may need to sort in groups, especially in one...

E-commerce platform SKU and SPU database design: How to take into account both user-defined attributes and attributeless products?E-commerce platform SKU and SPU database design: How to take into account both user-defined attributes and attributeless products?Apr 19, 2025 pm 11:27 PM

Detailed explanation of the design of SKU and SPU tables on e-commerce platforms This article will discuss the database design issues of SKU and SPU in e-commerce platforms, especially how to deal with user-defined sales...

How to set the default run configuration list of SpringBoot projects in Idea for team members to share?How to set the default run configuration list of SpringBoot projects in Idea for team members to share?Apr 19, 2025 pm 11:24 PM

How to set the SpringBoot project default run configuration list in Idea using IntelliJ...

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools