原创 String和常量池
1、String 對象的兩種創建方式: String str1 = "abcd";//先檢查字符串常量池中有沒有"abcd",如果字符串常量池中沒有,則創建一個,然後 str1 指向字符串常量池中的對象,如果有,則直接將 str1 指
原创 Java序列化如果有些字段不想被序列化(transient)
對於不想進行序列化的變量,使用transient關鍵字修飾。 transient關鍵字的作用是:阻止實例中那些用此關鍵字修飾的的變量序列化;當對象被反序列化時,被transient修飾的變量值不會被持久化和恢復。transient只能修飾
原创 Object類中有哪些方法?
Object 類是一個特殊的類,是所有類的父類。它主要提供了以下 11 個方法: public final native Class<?> getClass()//native方法,用於返回當前運行時對象的Class對象,使用了final
原创 雙重校驗鎖實現對象單例(線程安全)
單例模式在多線程下實現線程安全: public class Singleton { private volatile static Singleton uniqueInstance; private Singleto
原创 AtomicInteger線程安全的原理
java併發包 java.util.concurrent 的原子類都存放在 java.util.concurrent.atomic 下 AtomicInteger中的常用方法: public final int get() //獲
原创 Java面向對象編程的三大特性:封裝、繼承、多態
封裝 封裝把一個對象的屬性私有化,同時提供一些可以被外界訪問的屬性的方法,如果屬性不想被外界訪問,我們大可不必提供方法給外界訪問。但是如果一個類沒有提供給外界訪問的方法,那麼這個類也沒有什麼意義了。 繼承 繼承是使
原创 JVM、JDK、JRE的區別?
JVM: Java虛擬機(JVM)是運行 Java 字節碼的虛擬機。JVM有針對不同系統的特定實現(Windows,Linux,macOS),目的是使用相同的字節碼,它們都會給出相同的結果。字節碼和不同系統的 JVM 實現是
原创 面向對象和麪向過程的區別?
面向過程 :面向過程性能比面向對象高。 因爲類調用時需要實例化,開銷比較大,比較消耗資源,所以當性能是最重要的考量因素的時候,比如單片機、嵌入式開發、Linux/Unix等一般採用面向過程開發。但是,面向過程沒有面向對象易維
原创 final關鍵字的總結
final關鍵字主要用在三個地方:變量、方法、類。 對於一個final變量,如果是基本數據類型的變量,則其數值一旦在初始化之後便不能更改;如果是引用類型的變量,則在對其初始化之後便不能再讓其指向另一個對象。 當用final修飾一個類時,表
原创 Java中的異常處理
Java異常類層次結構圖: 在 Java 中,所有的異常都有一個共同的祖先java.lang包中的 Throwable類。Throwable: 有兩個重要的子類:Exception(異常) 和 Error(錯誤) ,二者都
原创 ==和equals的區別?
== : 它的作用是判斷兩個對象的地址是不是相等。即,判斷兩個對象是不是同一個對象。(基本數據類型==比較的是值,引用數據類型==比較的是內存地址) equals() : 它的作用也是判斷兩個對象是否相等。但它一般有兩種使用情況:
原创 重載和重寫的區別?
重載 發生在同一個類中,方法名必須相同,參數類型不同、個數不同、順序不同,方法返回值和訪問修飾符可以不同。 重寫 重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫,發生在子類中,方法名、參數列表必須相同,返回值
原创 java回調簡單實例
先定義一個回調接口,裏邊是你要回調的方法/** * 回調接口 */ public interface ICallBack { public void success(Object obj) ; }在定義一個實體類,要用這個類回調上邊
原创 Linux下DateFormat的parse方法出現”ParseException”異常
做項目用到了時間格式化,將字符串轉成Date格式,用了下面的工具方法public static Date formatStringToDate(String source, String patte
原创 簡單跨域問題
之前寫了一個後臺查詢的頁面,遇到了跨域問題,在網上看到各種解決方案,然後用了一個簡單的方法就解決了 ; 前端在<head>標籤中加上一段代碼,表示允許跨域 此跨域方法目前只在很少的瀏覽器中得以支持,這些瀏覽器可以發送一