原创 java基本數據類型
Java basic data types are 8 String is not a basic data types, String can be seen as a char array (char [])Byte byte : a
原创 Java之靜態內部類(static class)
在一個類中創建另外一個類,叫做成員內部類。這個成員內部類可以靜態的(利用static關鍵字修飾),也可以是非靜態的。由於靜態的內部類在定義、使用的時候會有種種的限制。所以在實際工作中用到的並不多。 在開發過程中,內部類中使用的
原创 Java關鍵字final、static使用總結
一、final 根據程序上下文環境,Java關鍵字final有“這是無法改變的”或者“終態的”含義,它可以修飾非抽象類、非抽象類成員方法和變量。你可能出於兩種理解而需要阻止改變:設計或效率。 final類不能被繼承
原创 深入研究java.lang.ThreadLocal類
一、概述 ThreadLocal是什麼呢?其實ThreadLocal並非是一個線程的本地實現版本,它並不是一個Thread,而是threadlocalvariable(線程局部變量)。也許把它命名爲ThreadLocalVa
原创 JVM client模式和Server模式的區別
這裏向大家描述一下JVM client模式和Server模式兩者的區別和聯繫,JVM如果不顯式指定是-Server模式還是-client模式,JVM能夠根據下列原則進行自動判斷(適用於Java5版本或者Java以上版本)。
原创 Linux特殊權限:SUID、SGID、SBIT
SUID: 只對二進制程序有效 執行者對於程序需要有x權限 在程序運行過程中,執行者擁有程序擁有者的權限 例如: 普通用戶執行passwd命令。 首先查看passwd命令的絕對
原创 JAVA volatile關鍵字
Java中volatile關鍵字原義是“不穩定、變化”的意思,那麼在java語言中,volatile是什麼意思呢? volatile,在Java中用來修飾變量,那是爲什麼呢?volatile是告訴jvm,這個變量
原创 sleep、join、yield、wait、notify、notifyAll、run、start、synchronized
1、sleep() 使當前線程(即調用該方法的線程)暫停執行一段時間,讓其他線程有機會繼續執行,但它並不釋放對象鎖。也就是說如果有synchronized同步快,其他線程仍然不能訪問共享數據。注意該方法要捕捉異常。
原创 Thread的start()和run()
認識Thread的start和run 1) start: 用 start方法來啓動線程,真正實現了多線程運行,這時無需等待run方法體代碼執行完畢而直接繼續執行下面的代碼。通過調用Thread類的 start()方法來啓動一
原创 serialVersionUID 用來表明類的不同版本間的兼容性
簡單來說,Java的序列化機制是通過在運行時判斷類的serialVersionUID來驗證版本一致性的。在進行反序列化時,JVM會把傳來 的字節流中的serialVersionUID與本地相應實體(類)的serialVersion
原创 自動裝箱:小心使用 boxing
自動裝箱與拆箱的功能事實上是編譯器來幫你的忙,編譯器在編譯時期依你所編寫的語法,決定是否進行裝箱或拆箱動作。例如: Integer i = 100; 相當於編譯器自動爲你作以下的語法編譯: Inte
原创 JVM參數表格
參數名稱 含義 默認值 -Xms 初始堆大小 物理內存的1/64(<1GB) 默認(MinHeapFreeRatio參數可以調整)空餘堆內存小於40%時,JVM就會增大堆直到-Xmx的最大限制. -Xmx 最大堆大
原创 JAVA中equals,hashcode方法解析
概述: toString 將對象以字符串形式表示,大多爲了顯示用的compareto 爲了比較大小用的hashcode 獲取對象hash值,只有用到Hashtable、HashMap、HashSet、LinkedHashMap等時纔要
原创 Java中異常的捕獲順序(多個catch)
Java代碼 : import java.io.IOException; public class ExceptionTryCatchTest { public void doSomething() throws IOE