
java
Spider--Man
灵魂画家
展开
-
javac编码过程
java编译期:不确定前端编译器:.java--.class;Sun的javac,Eclipse JDT的增量式编译器ECJJIT编译器:just in timer compiler虚拟器后端运行期编译器,字节码到机器码;HotSpot VM的C1,C2编译器AOT编译器:静态提前编译器,ahead of time compiler,.java到机器码;GNU compiler for t原创 2015-03-16 21:52:40 · 523 阅读 · 0 评论 -
对象引用与变量赋值
变量有两种:primitive主数据类型:简单的数据类型,boolean char byte short int long fl oat double,变量值是该值的字节引用变量类型:代表堆上面对象的存取方法,数组,字符串,对象。Dog myDog = new Dog();声明引用变量:Dog myDog创建对象:new Dog()连接对象和引用:=转载 2015-03-08 20:17:58 · 411 阅读 · 0 评论 -
继承,封装,多态
封装:将对象的状态信息隐藏在对象内部,不允许外部程序直接访问内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。封装是面向对象编程语言对客观世界的模拟,客观世界的属性都是被隐藏在对象内部,外界无法直接操作和修改。类成员private-default-protected-publicpriva转载 2015-03-08 21:36:57 · 398 阅读 · 0 评论 -
接口和抽象类的区别
接口和抽象类为我们提供了一种将接口和实现分离的更加结构化的方法。抽象类和接口:接口是100%纯抽象的类。抽象类:无法初始化的类,只能被继承。抽象类代表此类必须被继承,抽象方法代表此方法必须被覆盖。抽象的类带有抽象的方法和非抽象的方法,若类带有抽象的方法,则类必为抽象的。java不支持多重继承,interface接口实现多态解决了此问题,类可以实现多个接口。接口产生一个完全抽象的转载 2015-03-08 21:07:27 · 342 阅读 · 0 评论 -
java的静态static
static静态变量:静态变量只会在类第一次载入时被初始化,其发生在该类的任何静态方法执行之前初始化,静态变量是共享的,同一类所有的实例共享一份静态变量。静态方法:静态方法只能使用类调用,不需实例。静态方法不能调用非静态的变量和非静态的方法。final:值一旦被赋值不能更改方法不能被覆盖类不能被继承转载 2015-03-08 20:57:18 · 361 阅读 · 0 评论 -
java内存中的栈和堆
栈:局部变量和方法堆:对象局部变量是方法内的变量实例变量类内方法外的变量,位于对象所属的堆空间上 变量的生存时间:局部变量:与方法相同实例变量:与对象相同当引用变量被释放时,对象可回收。1、引用永久性的离开它的范围2、引用被赋值到其他对象上3、直接将引用设定为null转载 2015-03-08 20:49:21 · 372 阅读 · 0 评论 -
class文件的格式
每个class文件都对应唯一一个类或接口的定义信息,但类或接口不一定定义在文件里(类或接口通过类加载器直接生成)。每个class文件都是由8字节为单位的字节流组成,所有16,32,64位长度的数据将被构造成2,4,8个8字节单位来表示。多字节数据项总是按照Big-Endian的顺序进行存储。用项item来描述类结构格式的内容,class文件中,各项按照严格顺序连续存放的,之间无任何填充或对原创 2015-05-13 15:03:54 · 991 阅读 · 0 评论