JVM自身物理结构 JVM是Java的核心和基础,在Java编译器和os平台之间的虚拟处理器,它是一种基于下层的操作系统和硬件平台利用软件方法来实现的抽象的计算机,Java编译器只需面向jvm,生成jvm能理解的代码或者字节码文件.Java源文件编译器,编译成字节码程序,通过jvm将每一条指令翻译成 ...
分类:
其他好文 时间:
2017-02-11 12:17:09
阅读次数:
137
字节码是编译后的文件,格式固定,对一些个人认为关键的属性做一些总结:1、两个类在编译成Class之后就不存在任何联系了。如果只修改一个字节码文件,对运行时可能会有影响,最好重新进行编译。2、指向常量池的索引值为0的数据,说明它不引用任何常量池项。3、指令码+操作数,..
分类:
其他好文 时间:
2017-01-19 20:09:34
阅读次数:
179
Java代码编译后生成一种与平台无关的字节码(也就是class文件)。当然,这种字节码不是可执行的,必须使用Java解释器来解释执行。 负责解释执行字节码文件的是Java虚拟机,即JVM。JVM是可运行Java字节码文件的虚拟计算机。所有平台上的JVM向编译器提供相同的编程接口,而编译器只需要面向虚 ...
分类:
其他好文 时间:
2017-01-16 19:53:37
阅读次数:
150
元注解是指注解的注解,包括@Retention @Target @Document @Inherited四种。 1.@Retention: 定义注解的保留策略@Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含@Retentio ...
分类:
编程语言 时间:
2017-01-16 10:38:30
阅读次数:
207
需要频繁的拼接String的时候,使用\'+\'拼接会影响性能,应该用StringBuilder或者StringBuffer的append反方法来拼接,从执行速度上来讲:StringBuilder > StringBuffer > String,但StringBuilder是非线程安全的,Strin ...
分类:
其他好文 时间:
2017-01-13 20:57:56
阅读次数:
227
1 web应用的目录结构 web的根目录自定义 其中可以包括静态资源(html,image,css,js) |-WEB-INF(注意格式就是这样,大小写等等一模一样) |-class:存放的是字节码文件 |-lib:存放第三方的jar包 |-web.xml配置文件 注意: WEB-INF下的资源是不 ...
分类:
编程语言 时间:
2017-01-09 20:39:15
阅读次数:
204
1. 什么是JVM? 为什么称Java为跨平台的编程语言? Java虚拟机(Java Virtual Machine)是可以执行Java字节码的虚拟机,每个Java源文件将被编译成字节码文件,然后在JVM中执行。Java之所以被设计成可以在任意的平台运行,而不需要重写或者在不同的平台下重新编译,这些 ...
分类:
编程语言 时间:
2017-01-09 16:21:16
阅读次数:
186
用jdk提供的javap工具了解java编译器的机制。 1、javac Cat.java 2、javap -c Cat.class 3、当创建任何java对象时,程序总会先一次调用每个父类非静态初始化块、父类构造器(总是从Object开始)执行初始化,最后 才会调用本类的非静态初始化块、构造器执行初 ...
分类:
其他好文 时间:
2016-12-18 17:44:18
阅读次数:
194
反射技术:其实就是动态加载一个指定的类,并获取该类中的所有的内容。而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员。简单说:反射技术可以对一个类进行解剖。 反射的好处:大大的增强了程序的扩展性。 反射的基本步骤: 1、获得Class对象,就是获取到指定的名称的字节 ...
分类:
其他好文 时间:
2016-12-12 02:22:09
阅读次数:
161