Java技术体系 Java程序设计语言、Java虚拟机、Java API类库统称为JDK Java API类库中Java SE API子集和Java虚拟机统称为JRE Java发展史 1991年4月 Java语言的前身-Oak语言启动 1995年5月 Oak改名为Java并发布1.0版本 Write ...
分类:
编程语言 时间:
2018-07-17 12:44:00
阅读次数:
184
运行时数据区域 1、线程独有的内存区域 程序计数器空间较小,是当前线程执行字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。 如果线程执行的是Java方法,记录的是正在执行的虚拟机字节码指令的地址;如果执行的是Native方法,则为空 虚拟机栈生命周期 ...
分类:
编程语言 时间:
2018-07-17 12:36:22
阅读次数:
166
1、构造方法 定义:与类同名没有返回值的方法称为构造方法; public class test1 {private String name;private int age;public test1(){} } 上面的test1()是默认构造方法,即使没有定义java虚拟机在运行的时候也会自动生成, ...
分类:
编程语言 时间:
2018-07-17 00:11:12
阅读次数:
173
1,通过使用静态字段,只有真正定义这个字段的类才会被初始化,(子类不初始化,父类初始化 2,new数组,不初始化 3,通过类来调用一些类的常量,可以不初始化类,(常量在编译期,被优化到NotInitialization类,成为了他的引用,所以可以不初始化 4,类和接口的初始化必要条件不同的是,接口可 ...
分类:
编程语言 时间:
2018-07-16 11:16:21
阅读次数:
135
因为Java虚拟机内存有堆内存、方法区、虚拟机栈、本地方法栈和程序计数器五部分组成,其中程序计数器是唯一一块不会发生内存溢出异常的内存区,所以只有四类内存区可能发生内存溢出异常,其中虚拟机栈和本地方法栈都是Java方法执行的内存模型,所以它们的异常发生情况几乎相同,另外,在方法区中。又有一块内存是常 ...
分类:
编程语言 时间:
2018-07-16 00:58:25
阅读次数:
187
1、虚拟机的类型 sun classic VM 第一款商用虚拟机,java虚拟机 只能解释不能编译 Exact VM 混合类型,编译和解释 HostSpot VM KVM 嵌入式 Azul VM Liquid VM 高性能 TaobaoVM 国产 兼容性问题 性能高 2、对象结构 包括对象头(Hea ...
分类:
其他好文 时间:
2018-07-15 16:06:18
阅读次数:
150
Java和C++之间有一堵由内存管理和垃圾收集技术所围成的“高墙”,墙外的人想进去,墙内的人却想出来。 摘自《深入理解Java虚拟机》 作为一个Java程序员,因为虚拟机的好处,在开发过程中一般不用关心内存分配和垃圾回收方面的内容,这就让我在跟C++的朋友聊天或沟通的时候,总觉得自己是个假的程序员, ...
分类:
编程语言 时间:
2018-07-15 00:49:37
阅读次数:
198
概述 JVM是Java语言的精髓所在,因为它Java语言实现了跨平台运行,以及自动内存管理机制等,本文将从概念上介绍JVM内存的各个区域,说明个区域的作用。 JVM运行时数据区模型 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分成若干个不同的数据区域,这些数据区域都有各自的用途,以及 ...
分类:
编程语言 时间:
2018-07-14 14:50:31
阅读次数:
200
JRE(Java Runtime Environment Java运行环境) 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。 JDK(Java Development Kit ... ...
分类:
编程语言 时间:
2018-07-14 13:04:31
阅读次数:
159
Java虚拟机的内存可以分为三个区域:栈(stack)、堆(heap)、方法区(method area) 方法区也在堆里面。 栈的特点: 1.栈描述的是方法执行的内存模型。每个方法被焦勇都会创建一个栈帧(存储局部变量、操作数、方法出口等) 2.JVM为每个线程创建一个栈,用于存放该线程执行方法的信息 ...
分类:
其他好文 时间:
2018-07-13 17:45:50
阅读次数:
174