1.main是一个用于描述程序开发方法的特殊名称,但它不是一个关键字。
2.在Java中编写类,是创建新的数据类型。
3.如果我们将一个数字值硬编码在代码中,这个值就成为字面量。硬编码是指将可变变量用一个固定值来代替的方法。
4. 表示空字符。
5.字符串是一序列的字符。
6.字符串不是基本类型,要用类来表示。String类来表示字符串对象。
7.对于Java代码中的字符串字面量,JVM会自动为我们创建一个String 对象。
8.每个要与String对象连接的基本类型将被自动转换成一个新的String对象。
9.Java中每个对象都有toString()方法,任何对象都可以转换为String对象。
10.String对象表示的字符串是不能被改变的。
11.除了基本类型外的变量类型都称之为引用类型。
12.当我们声明一个类类型的变量时,该变量就成为引用。
13.一个引用要指向一个对象,或者null。
14.引用类型与基本类型的区别:引用不包含它所指向的对象的实际数据,而是指向内存中对象所在的位置。
15.编译器不允许我们将一个引用转换为任何数值。
16.Java虚拟机的内部由类装载器、运行时数据区、执行引擎组成。类装载器装载要执行的Java类,执行引擎负责执行被装载类的方法中的指令,需要在内存中存储的东西(如字节码、对象、变量)都组织在运行时数据区。
17.一个正在运行的Java程序在内存中以进程的形式存在,JVM为该进程分配内存空间。
18.一个进程可以有一到多个线程,多个线程共享该进程的内存空间。每个线程是一个单独的执行单元。
19.每个Java虚拟机都有一个方法区和一个Java堆,它们由该JVM中所有线程共享。类文件的字节码和常量池(常量和字面量)放在方法区,程序运行时创建的所有对象都放在堆中。
20.对于基本类型的变量,Java虚拟机将其放在Java栈中。对于引用类型的变量,引用变量本身放在栈中,而引用所指向的对象放在堆中。
21.关键字goto和const是保留关键字,在Java中没有实现。true、false、null是特殊的字面量值,从技术角度讲,他们不是Java关键字。
22.整数字面量被JVM当作int类型,浮点字面量被JVM当作double类型,字符串字面量被当作是java.lang.String对象。
23.一旦String对象被实例化,它的内容就不能被修改。