JAVA每日一旅3

葉思維發表於2016-10-23

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 堆是垃圾收集器管理的主要區域。

方法區 :所有執行緒共享,儲存已被虛擬機器載入的類資訊,常量,靜態變數,即時編譯器編譯後的程式碼等資料。這個區域的記憶體回收目標主要是針對常量池的物件的回收和對型別的解除安裝。

程式計數器 :執行緒私有,每個執行緒都有自己獨立的程式計數器,用來指示下一條指令的地址。

  學習需要不斷的重複啊!

相關文章