首页 > 代码库 > JAVA每日一旅3

JAVA每日一旅3

1.关于byte

byte在内存中占一个字节,范围是-128-127,128作强制类型转换到byte变成-128,因为128的二进制表示:1000 0000,最高位是符号位。

2.关于Hibernate(先记下笔记,目前还没学到)

 尽量使用many-to-one,避免使用单项one-to-many。
 灵活使用单向one-to-many。
 不用一对一,使用多对一代替一对一。
 配置对象缓存,不使用集合缓存。
 一对多使用Bag 多对一使用Set。
 继承使用显示多态 HQL:from object polymorphism="exlicit" 避免查处所有对象。
 消除大表,使用二级缓存。

3.又谈到wait()

wait()必须进行异常捕捉;调用wait()或者notify()方法必须采用当前锁调用,即必须采用synchronized中的对象。

4.又提到JVM

运行时数据区包括:虚拟机栈区,堆区,方法区,本地方法栈,程序计数器

虚拟机栈区 :也就是我们常说的栈区,线程私有,存放基本类型,对象的引用和 returnAddress ,在编译期间完成分配。

堆区 , JAVA 堆,也称 GC 堆,所有线程共享,存放对象的实例和数组, JAVA 堆是垃圾收集器管理的主要区域。

方法区 :所有线程共享,存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。这个区域的内存回收目标主要是针对常量池的对象的回收和对类型的卸载。

程序计数器 :线程私有,每个线程都有自己独立的程序计数器,用来指示下一条指令的地址。

  学习需要不断的重复啊!

JAVA每日一旅3