一、Java类加载机制1.概述Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。虚拟机把描述类的数据从class文...
分类:
编程语言 时间:
2014-09-17 21:50:22
阅读次数:
342
1、泛型(1)泛型的好处:1、把原来程序运行时可能发生的问题,转变为编译时的问题。2、提高程序的安全型。(2)泛型的擦除机制让编译器在源代码级别上,即挡住向集合中插入非法数据。但编译器编译完带有泛型的的Java程序后,生成的class文件中将不再带有泛型信息。简单的说:泛型只在编译阶段有效运行阶段无...
分类:
编程语言 时间:
2014-09-17 10:10:41
阅读次数:
222
Java虚拟机如何把编译好的.class文件加载到虚拟机里面?加载之后如何初始化类?静态类变量和实例类变量的初始化过程是否相同,分别是如何初始化的呢?这篇文章就是解决上面3个问题的。若有不正之处,请多多谅解并欢迎各位能够给予批评指正,提前谢谢各位了。 1.Java虚拟机加载.class过程虚拟机把C...
分类:
编程语言 时间:
2014-09-16 15:46:30
阅读次数:
328
杂谈:
如果一个类里的方法都是静态的,那么就没有必要创建对象,为了不让其他程序创建对象,就可以把当前类的构造函数私有化。
class MAN
{
private MAN()
{
}
}
文档注释:命令:javadoc
只能解析/** 开始至 */结束的内容;/* */则不行
路径设置问题:
当要运行,两个以上路径中的class文件时,路径都要设置,命令:classp...
分类:
编程语言 时间:
2014-09-14 22:09:27
阅读次数:
262
这两天在搞NDK开发,JNI的头文件进行编译的时候,要跑到对应的class文件路径下(通常是工程的bin目录),进行编译生成,很是不便,也容易出错,所以考虑在Eclipse中作为外部工具引入,所以便查了下资料,现记录下来。方法是:1、在Eclipse环境下,打开下图中的最右边那个按钮。2、新建一个P...
分类:
Web程序 时间:
2014-09-14 00:03:26
阅读次数:
239
1.Java程序的运行机制。 Java源文件的后缀名为java 形如 *.java,通过编译器编译后生成*.class文件,由计算机来运行class文件执行java程序。但是,此时所指的计算机并不是物理上的计算机而是java的虚拟机,即JVM。 Java中所有的程序都是运行在JVM上的,即所有的.....
分类:
编程语言 时间:
2014-09-13 21:22:45
阅读次数:
266
原因1:
java运行环境的jdk版本比class文件的编译版本低了导致的。
原因2:
class文件的访问权限或者所在目录的访问权限有问题,导致java无法读这个文件。...
分类:
编程语言 时间:
2014-09-12 22:08:24
阅读次数:
354
将不断保持更新……eclipse不自动编译.class文件,导致程序跑不起来。尝试以下方法:cleanproject--》查看eclipse中problems视图有什么问题--》终极,查看project的buildpath是否存在问题。今天遇到的问题就是buildpath里有个jar包没有remove掉而引起的……浪费了比较多的时间..
分类:
其他好文 时间:
2014-09-11 17:29:22
阅读次数:
105
java类的加载过程。参考书籍:深入理解JAVA虚拟机 书中错误的地方,p222. 字段解析,在解析一个未解析过的字段时,书中说的是先解析字段表的class_index, 但是,字段表示没有class_index, 跟在字节码指令后边的字段的符号引用是CONSTANT_Field_info。 先对其中的cla..
分类:
其他好文 时间:
2014-09-10 03:02:40
阅读次数:
629