大三下学期刚考完,把一个商城项目匆匆做完了,开始捧起这本书,但是感觉内容繁多,为了便于以后复习,这里总结一些笔记,大部分都是直接copy书上的,这本书还没看完也不知道自己能看到哪里,慢慢看吧 第一章 走进java 1.java优点:1)它摆脱了硬件平台的束缚,实现了“一次编写,到处运行”的理想 。 ...
分类:
编程语言 时间:
2017-06-24 18:39:06
阅读次数:
112
Class文件二进制字符流通过类加载器和虚拟机加载到内存(方法区)完成在内存上的布局和初始化后,虚拟机字节码执行引擎就可以执行相关代码实现程序所定义的功能。虚拟机执行引擎执行的对象是方法(均特指非本地方法),方法是 着一个程序所定义的一个功能的载体,实现预定的业务功能或者特定的功能等。 Java虚拟... ...
分类:
编程语言 时间:
2017-06-22 23:48:23
阅读次数:
295
读了《深入理解Java虚拟机》之后,当时理解了,过段时间又忘记了,在此做下记录,方便自我回顾,也希望能帮到想要学习虚拟机的同学。 Java虚拟机在执行java程序时会把它所管理的内存分为5个不同的数据区域(也可以细分为7个不同的区域,后续做介绍):程序计数器、Java虚拟机栈、本地方法栈、Java堆 ...
分类:
编程语言 时间:
2017-06-22 00:15:46
阅读次数:
184
1、Java语言的特性 Java代码经过编译器编译成Class文件(字节码)后,就需要虚拟机将其加载到内存里面执行字节码所定义的代码实现程序开发设定的功能。 Java语言中类型的加载、连接(验证、准备、解析)、初始化都是在程序运行期间内完成的与C++不同(C++在编译期就需要进行连接),这样也使得J... ...
分类:
编程语言 时间:
2017-06-21 22:55:08
阅读次数:
205
运行时数据区示意图 1. 程序计数器 占用一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。主要用来记录线程执行到哪条语句了,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完成。 如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的 ...
分类:
编程语言 时间:
2017-06-17 13:06:25
阅读次数:
133
GC之判断对象是否存活的两种方法——引用计数算法、可达性分析算法 ...
分类:
编程语言 时间:
2017-06-12 00:48:15
阅读次数:
219
OutOfMemoryError以及StackOverflowError异常的测试以及分析 ...
分类:
编程语言 时间:
2017-06-11 23:25:23
阅读次数:
229
初步介绍Java虚拟机运行时数据区——程序计数器、虚拟机栈、本地方法栈、运行时常量池、直接内存 ...
分类:
编程语言 时间:
2017-06-11 22:16:16
阅读次数:
199
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(Java SE 7版)》的规定,Java虚拟机所管理的内存 ...
分类:
编程语言 时间:
2017-06-10 00:34:55
阅读次数:
291