原创 二叉樹遍歷算法——Morris算法

Morris算法的時間複雜度是O(n),空間複雜度爲O(1) 基本思想是: 1. 找到當前節點的前驅節點,即左節點的最右節點,若爲空則指向當前節點,若爲當前節點則表明該節點左邊以及該節點已經遍歷完,並將前驅節點的有指針恢復爲空 2. 若當

原创 java.util包中的重要接口

1. Collection接口 該接口繼承了Iterable接口,是除了Map以外所有集合類的根集合,一般來說Collection的實現類需要提供兩個構造器,一是無參構造器,用於創建一個空集合,二是參數爲Collection類型的構造器,

原创 java.time包下的日期API

1. LocalDateTime類 獲取LocalDateTime對象 LocalDateTime localDateTime1 = LocalDateTime.now(); LocalDateTime localDateTime2 =

原创 抽象類InputStream、OutputStream、Reader和Writer

一、InputStream類 該抽象類是所有代表一個字節輸入流類的父類。 read():每次只讀一個字節或者讀多個字節到一個緩衝數組,後者默認實現是在一個循環裏調用前者,這是個抽象方法 skip():跳過n字節,默認實現是讀n個字節 av

原创 java.util包下的日期API

1. Date類 實例化Date對象 // 表示當前日期 Date date1 = new Date(); // 表示當前日期,注意年份爲當前年減去1900,月份的值0-11 Date date2 = new Date(120, 4,

原创 用ReetrantLock實現生產者消費者

Basket類:生產者消費者需要互斥訪問的資源 class Basket { int capacity; int num; final Lock lock = new ReentrantLock();

原创 Lock接口和ReentrantLock類

一、Lock的一般用法 Lock l = ...; l.lock(); try { // access the resource protected by this lock } finally { l.unlock()

原创 用Synchronized實現生產者消費者

Basket類:生產者消費者需要互斥訪問的資源 class Basket { int capacity; int num; Basket(int capacity) { this.capaci

原创 Java中的Thread類

一、Thread類中的屬性 String name:線程的名稱 int priority:線程的優先級(默認爲5,最低爲1,最高爲10) boolean daemon:是否爲守護線程 boolean sitllborn:JVM狀態 Run

原创 MySQL入門(三)

一、連接查詢交叉連接select 字段列表[字段別名]/* from 左表 cross join 右表;或select 字段列表[字段別名]/* from 左表, 右表;結果爲笛卡爾積,都可以跟條件where/on,效果和內連接一樣。內連

原创 MySQL入門(二)

一、列類型1. 數值型整數型:tinyint、smallint、mediumint、int、bigint(顯示寬度和zerofill一起使用,e.g. int_3 tinyint(3) unsigned zerofill)小數型:其中浮點

原创 MySQL入門(一)

1. MySQL簡介MySQL是一個關係型數據庫管理系統,屬於Oracle旗下產品。MySQL所使用的SQL語言是用於訪問數據庫的最常用標準化語言,特點是體積小,速度快,總體擁有成本低以及源代碼開放,一般中小型網站的開發都選擇MySQL作