JVM虚拟机的内存主要分为五个部分 提醒自己 不能因为方法区的名字而想当然 实际上方法都存在栈里面 方法区只是存放class字节码文件和static修饰的变量 方法区 又叫静态区(存放着可供全局使用的static修饰的变量) 存放着class字节码文件 方法区中包含的都是在程序中永远唯一的元素 栈 ...
分类:
其他好文 时间:
2018-07-09 23:14:10
阅读次数:
209
Java开发环境搭建 1、下载JDK 2、环境变量配置 3、在dos中输入java -version Java运行过程 源文件:编写源文件,后缀为.java 编译:通过编译器将源文件编译成字节码文件,后缀为.class 运行:用解释器运行字节码文件 第一个Java程序 输出Hello World! ...
分类:
编程语言 时间:
2018-07-06 17:46:21
阅读次数:
140
1.class对象在java中一切都是对象,从某种意义上,java中的对象可以分为:实例对象和Class对象。实例对象通过new关键得到,那么Class对象呢?Class对象无法通过new关键字获取,在类加载的过程中,JVM生成一个与加载的字节码文件相关的class对象。通过类名可以获取对应Clas ...
分类:
其他好文 时间:
2018-07-05 23:14:21
阅读次数:
164
最近建议产品组把jdk 1.7升级到1.8,昨晚开发报了个问题过来,说maven.compiler.source和maven.compiler.target改成1.8之后,编译出来的代码还是1.7,如下: 也可通过javap -v ServiceImpl.class 查看class文件的java编译 ...
分类:
其他好文 时间:
2018-07-04 14:33:36
阅读次数:
737
1、 JavaSE、JavaEE 2、 Java字节码文件 3、 cd dir 4、 path 5、 .class 6、 文档注释 7、 Public 二、 1、AC 2、A 3、B 4、C 三、 1、Y 2、Y 3、Y 4、N 5、Y 6、Y 四、 1、java通过 JVM来实现的,c是编译型语言 ...
分类:
其他好文 时间:
2018-07-03 21:31:25
阅读次数:
236
首先类加载在整个体系结构的哪一个环节呢?见红色圈住的部分。 类加载器分为那几个过程呢?五个过程 加载 根据类的全限定名(简单理解为类的绝对路径,见附录),找到指定的字节码文件,并在内存中生产一个java.lang.Class的对象,存放在方法区中。 根据类的全限定名(简单理解为类的绝对路径,见附录) ...
分类:
编程语言 时间:
2018-07-03 00:56:47
阅读次数:
229
在编译源文件时,所用到的其他源文件也会被自动编译。这是因为它会使用到其他源文件产生的字节码文件。 虽然在一个java源文件中可以有很多类,但是仍然提倡在一个java源文件中只编写一个类。 参数传值 如果向方法的int型参数x传递一个int值,那么参数x得到的是传递的值的拷贝。如果改变x的值是不会影响 ...
分类:
其他好文 时间:
2018-07-02 01:15:26
阅读次数:
214
当程序使用类的时候,类会被加载到内存中。整个过程分三步: 1.加载:将类文件加载到内存的堆中中,创建字节码文件对象。 2.连接,验证文件内部结构是否正确。 准备:为静态成员分配内存,并设置默认初始化值 解析:将类的二进制数据的符号引用换为直接引用 3.初始化 类加载器组成: Bootstrap Cl ...
分类:
其他好文 时间:
2018-07-01 14:16:02
阅读次数:
166
.java叫源文件,java编译器编译源文件后会产生字节码文件,java解释器将字节码文件加载进内存,java虚拟机来执行字节码文件。 如下列文件名为“String01.java” public class String01 { int h; int l; public String01(int h ...
分类:
其他好文 时间:
2018-07-01 00:24:58
阅读次数:
163
Type及其子接口的来历 泛型出现之前的类型 没有泛型的时候,只有原始类型。此时,所有的原始类型都通过字节码文件类Class类进行抽象。Class类的一个具体对象就代表一个指定的原始类型。 泛型出现之后的类型 泛型出现之后,扩充了数据类型。从只有原始类型扩充了参数化类型、类型变量类型、限定符类型 、 ...
分类:
编程语言 时间:
2018-06-26 15:00:53
阅读次数:
1846