什么是内部类?内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类内部类的共性...
分类:
编程语言 时间:
2014-09-19 01:10:04
阅读次数:
393
一、Java类加载机制1.概述Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。虚拟机把描述类的数据从class文...
分类:
编程语言 时间:
2014-09-17 21:50:22
阅读次数:
342
在讲解String之前,我们先了解一下Java的内存结构。一、Java内存模型按照官方的说法:Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。 JVM主要管理两种类型内存:堆和非堆,堆内存(HeapMemory)是在 Java 虚拟机启动时创建,非堆内存(Non....
分类:
编程语言 时间:
2014-09-17 13:35:42
阅读次数:
323
《深入理解java虚拟机》一书中介绍到jvm的内存溢出情况,对理解jvm的自动内存管理机制有一定帮助,下面通过几个实例来进行说明。 java虚拟机的规范描述中,除了程序计数器外,java堆,虚拟机栈,本地方法区等运行时区都会发生outOfMemoryError的可能。 《1》java堆溢出 ...
分类:
其他好文 时间:
2014-09-16 20:23:11
阅读次数:
187
今天拿到复印到75页概述,估计很少讲解细节的,准备在网上订的《深入JAVA虚拟机 原书第二版》,看来需要2天时间,京东和亚马逊还没有,嗨,毕竟是2000年的书籍,基于jdk1.4的。据说2002年出现一本《java虚拟机规范 1.7SE》,还是比较不错的。2010之后出现了2本国人写的《深入理解Java虚拟机++JVM高级特性与最佳实践》,书的内容比较新,剧很多人反应,学习虚拟机还是要从00年的那本看看。面对正义,所以先找了概述看看。总结几张图,看完基本上了解了。很多细节的白天补上去。毕竟深夜在寝室敲文字会...
分类:
其他好文 时间:
2014-09-11 23:51:02
阅读次数:
309
java类的加载过程。参考书籍:深入理解JAVA虚拟机 书中错误的地方,p222. 字段解析,在解析一个未解析过的字段时,书中说的是先解析字段表的class_index, 但是,字段表示没有class_index, 跟在字节码指令后边的字段的符号引用是CONSTANT_Field_info。 先对其中的cla..
分类:
其他好文 时间:
2014-09-10 03:02:40
阅读次数:
629
在部分的商用虚拟机中,Java 程序最初是通过解释器( Interpreter )进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁的时候,就会把这些代码认定为“热点代码”。为了提高热点代码的执行效率,在运行时,即时编译器(Just In Time Compiler )会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化。...
分类:
编程语言 时间:
2014-09-10 00:30:49
阅读次数:
294
2014年8月29日参考书籍:深入理解java虚拟机我们可以用javap-verbose字节码来直观的查看字节码文件,参考我在《常量池》中的描述,很容易就可以看得懂javap结果中的常量池。那么方法区呢?应该怎么看?这部分在我的参考书籍中有详细的描述,下边,我总结性的描述一下。为了能够..
分类:
编程语言 时间:
2014-09-09 13:33:39
阅读次数:
278
语法糖(Syntactic Sugar),也叫糖衣语法,是英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语。指的是,在计算机语言中添加某种语法,这种语法能使程序员更方便的使用语言开发程序,同时增强程序代码的可读性,避免出错的机会;但是这种语法对语言的功能并没有影响。
Java中的泛型,变长参数,自动拆箱/装箱,条件编译等都是,下面做简单的介绍和分析。...
分类:
编程语言 时间:
2014-09-05 23:47:32
阅读次数:
293
深入理解Java内存模型(一)——基础并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间...
分类:
编程语言 时间:
2014-09-05 09:56:51
阅读次数:
360