1
.静态
编译的程序在执行前全部被翻译为机器码,而
解释执行的则是一句一句边运行边翻译
2.基于 序列化和反序列化实现的克隆不仅仅是深度克隆,更重要的是通过 泛型限定,可以检查出要克隆的对象是否支持序列化,这项检查是编译器完成的,不是在运行时抛出异常,这种是方案明显优于使用Object类的clone方法克隆对象,让问题在编译的时候暴露出来总是优于把问题留到运行时
3.Java虚拟机 不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收
4.Java获取 系统当前时间的两种方法:Calendar.getInstance().getTimeInMillis();System.currentTimeMillis();
5. Error表示系统级的错误和程序不必处理的异常, Exception表示需要捕捉或需要程序进行处理的异常,是一种设计或实现问题
6.所谓 设计模式,就是一套被反复使用的代码设计经验的总结
7.MyBatis利用 本地缓存机制防止循环引用和加速重复嵌套,查询默认值为SESSION,这种情况下会缓存一个会话中的所有查询
8.GC在方法区的回收目标仅 针对常量池和类型卸载。方法区也称为永久代,不会像java堆区那么频繁的被执行内存回收,但方法区在物理上属于java堆区的一部分,仅仅是逻辑上的独立
9.在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意: 一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务
10.ArrayList与LinkedList的区别
1)ArrayList是实现了基于 动态数组的数据结构,LinkedList基于 链表的数据结构。 (LinkedList是双向链表,有next也有previous)
2)对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3)对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
ArrayList的空间浪费主要体现在在list列表的结尾 预留一定的容量空间,而LinkedList的空间花费则体现在它的 每一个元素都需要消耗相当的空间
2.基于 序列化和反序列化实现的克隆不仅仅是深度克隆,更重要的是通过 泛型限定,可以检查出要克隆的对象是否支持序列化,这项检查是编译器完成的,不是在运行时抛出异常,这种是方案明显优于使用Object类的clone方法克隆对象,让问题在编译的时候暴露出来总是优于把问题留到运行时
3.Java虚拟机 不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收
4.Java获取 系统当前时间的两种方法:Calendar.getInstance().getTimeInMillis();System.currentTimeMillis();
5. Error表示系统级的错误和程序不必处理的异常, Exception表示需要捕捉或需要程序进行处理的异常,是一种设计或实现问题
6.所谓 设计模式,就是一套被反复使用的代码设计经验的总结
7.MyBatis利用 本地缓存机制防止循环引用和加速重复嵌套,查询默认值为SESSION,这种情况下会缓存一个会话中的所有查询
8.GC在方法区的回收目标仅 针对常量池和类型卸载。方法区也称为永久代,不会像java堆区那么频繁的被执行内存回收,但方法区在物理上属于java堆区的一部分,仅仅是逻辑上的独立
9.在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意: 一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务
10.ArrayList与LinkedList的区别
1)ArrayList是实现了基于 动态数组的数据结构,LinkedList基于 链表的数据结构。 (LinkedList是双向链表,有next也有previous)
2)对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3)对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
ArrayList的空间浪费主要体现在在list列表的结尾 预留一定的容量空间,而LinkedList的空间花费则体现在它的 每一个元素都需要消耗相当的空间