原创 數據庫:MySQL

一、索引 B+ Tree 原理 1. 數據結構 B Tree 指的是 Balance Tree,也就是平衡樹。平衡樹是一顆查找樹,並且所有葉子節點位於同一層。 B+ Tree 是基於 B Tree 和葉子節點順序訪問指針進行實現,它具有

原创 Java集合 3:HashMap,HashTable的實現和區別

一,先說說HashMap HashMap的數據結構 transient Entry[] table; static class Entry<K,V> implements Map.Entry<K,V>{ final

原创 Java集合 4:ConcurrentHashMap的原理

在ConcurrentHashMap中,鍵值都不允許爲null; ConcurrentHashMap使用分段鎖技術,把區間按併發級別分成了若干個sagement,給每個segment配鎖,當線程佔用鎖訪問其中一個segment時其他seg

原创 Java從本地讀取json文件

public static String getDatafromFile(String fileName) { String Path="src/" + fileName+ ".json";

原创 Java基礎 6.String、StringBuilder、StringBuffer

1.可變性 String是不可變的,因爲底層是final修飾的char數組。 StringBuffer和StringBuilder對象是可變的 所以每次對String類型改變的時候,都會重新生成對象,然後指針指向新的對象,多次這樣會產生很

原创 Java基礎 7.抽象類和接口的區別

語法層面: 1.抽象類可以提供成員方法的實現細節,而接口中只能 存在抽象方法(默認 public abstract) 2.抽象類中的成員變量可 以是多種類 型,而接口中的成員變量必須用public static final(常量)修飾 3

原创 Java基礎 4.Exception和Error以及常見的運行時異常

  所有的異常都是由Throwable類,下一層分解爲兩個分支:Error和Exceprion。 Error層次結構描述了java運行時系統的內部錯誤和資源耗盡錯誤。大多數錯誤與代碼編寫者執行的操作無關,而表示代碼運行時 JVM(Java

原创 Java基礎 3.final, finally, finalize 的區別

  final 修飾類時,該類不能被其他類繼承。final類中所有的成員都是final。用final方法的原因主要有兩個:(1) 把方法鎖定,以防止繼承類對其進行更改。(2) 效率,在早期的java版本中,會將final方法轉爲內嵌調用。

原创 Java基礎 9.equals和hashcode的聯繫以及和==的區別

equals與==的區別 ==比較的是2個對象的地址,而equals比較的是2個對象的內容,顯然,當equals爲true時,==不一定爲true。==操作比較的是兩個變量的值是否相等,對於引用型變量表示的是兩個變量在堆中存儲的地址是否相

原创 Java基礎 2.重載和重寫的區別

在1中說到重載和重寫是Java多態性的不同表現方式 重載是在一個類中多態的表現,指在一個類中定義了多個同名的方法,但是參數個數和參數類型不同。 注意:1.重載只能通過不同的方法參數來區分(個數,類型,順序)。            2.不

原创 Java基礎 8.反射的作用與原理

1.反射機制是在運行時對於任一類,都能獲取到這個類的屬性和方法,對任一對象,都可以調用它的方法。只要給出類的名字,都可以使用反射機制來獲取到這個類的所有信息。 2.反射提供的功能: 在運行時判定對象所屬的類;在運行時創建對象;在運行時判定

原创 Java基礎 5.Int和Integer的區別與聯繫,Integer中值的緩存範圍

Integer是int的包裝類;int是基本數據類型; Integer變量必須實例化後才能使用;int變量不需要; Integer實際是對象的引用,指向此new的Integer對象;int是直接存儲數據值 ; Integer的默認值是nu

原创 Java基礎 1.面向對象的三大特性 實現原理

封裝 將類的某些信息隱藏在類內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問。例如將屬性定義爲私有的,只能由get(),set()方法訪問。好處:只能通過規定的方法訪問數據。隱藏類的實例細節,方便修改和實

原创 day3

報告 1,打開虛擬機,連通ip

原创 day2

報告: 1,完成遍歷代碼並單元測試通過; 對集合進行遍歷,Active爲true且不爲空輸出對象 VersionedScript getActiveScript(List<VersionedScript> list) {