原创 一條 SQL 查詢語句是如何執行的?

一條 SQL 查詢語句是如何執行的? 比如,你有個最簡單的表,表裏只有一個ID字段,在執行下面這個查詢語句時 mysql> select from T where ID=10; 我們只看到一個輸入語句,返回一個結果,卻不知道這個

原创 Java 提供了哪些 IO 方式, NIO 如何實現多路複用?

Java 提供了哪些 IO 方式, NIO 如何實現多路複用? Java IO 方式 Java IO 方式有很多種,基於不同的 IO 抽象模型和交互方式,可以進行簡單區分。 同步阻塞 IO 首先,傳統的 Java.io 包基於流

原创 對比Vector、 ArrayList、 LinkedList有何區別?

對比Vector、 ArrayList、 LinkedList有何區別? 這三者都是實現集合框架中的List,也就是所謂的有序集合,因此具體功能也比較近似,比如都提供按照位置進行定位、添加或者刪除的操作,都提倛迭代器以遍歷其內容等

原创 Java 內存模型中的 happen-before 是什麼?

Java 內存模型中的 happen-before 是什麼? Happen-before 關係,是Java 內存模型中保證多線程可見性的機制,也是早期語言規範中含糊可見性概念的一個精確定義。 它的具體表現形式,包括但遠不止 sy

原创 AtomicInteger 底層實現原理是什麼? 如何在自己代碼中應用 CAS 操作?

AtomicInteger 底層實現原理是什麼? 如何在自己代碼中應用 CAS 操作 AtomicInteger 是對 int 類型的一個封裝,提供原子性的訪問和更新操作,其原子性的操作實現是基於 CAS (compare-and

原创 如何保證容器是線程安全的? ConcurrentHashMap 如何高效的線程安全?

如何保證容器是線程安全的? ConcurrentHashMap 如何高效的線程安全? Java提供了不同層面的線程安全支持。在傳統集合框架內部,除了 Hashtable等同步容器,還提供了所謂的同步包裝器(Synchronized

原创 final 、finally finalize 有什麼不同?

final 、finally finalize 有什麼不同? final 可以用來修飾類、方法、變量。 final 修飾的 class 代表不可以繼承擴展,final 修飾的方法標識不能被重寫(override),final 修飾

原创 synchronized 和 ReentrantLock 有什麼區別?

synchronized 和 ReentrantLock 有什麼區別? synchronized 最慢,這話靠譜麼? Synchronized 是 Java 內建的同步機制,所以也有人稱其爲 Intrinsic Locking

原创 synchronized 底層如何實現?什麼是鎖升級、降級?

synchronized 底層如何實現?什麼是鎖升級、降級? synchronized 代碼塊是由一對 monitorenter/monitorexit 指令實現的,Monitor 對象是同步的基本實現單元。 https://d

原创 Java 併發包提供了哪些併發工具類

Java 併發包提供了哪些併發工具類 Java 基礎併發工具類 提供了比 synchronized更加高級的各種同步結構,包括 CountDownLatch, CyclicBarrier、 Semaphore等,可以實現更加豐富

原创 談談反射機制,動態代理基於什麼原理

談談反射機制,動態代理基於什麼原理 Java 反射機制? 反射機制是Java語言提供的一種基礎功能,賦予程序在運行時自省(introspect,官方用語)的能力。通過反射我們可以直接操作類或者對象,比如獲取某個對象的類定義,獲取類

原创 一個線程兩次調用 start 會出現什麼情況?

一個線程兩次調用 start 會出現什麼情況? 一個線程兩次調用 start()方法會出現什麼情況?談談線程的生命週期和狀態轉移。 在第二次調用 start() 方法的時候,線程可能處於終止或者其他(非NEW)狀態,但是不論如何,

原创 NotePad 正則替換

    看個例子 比如我想刪除文件中  .war 的那些   怎麼辦 \w+\.war 即可 替換成空行   然後再 即可刪除完整空行          

原创 Cannot find any provider supporting DESede/CBC/PKCS5Padding 問題處理

      問題如下: DecryptCipher Exception:- java.security.NoSuchAlgorithmException: Cannot find any provider supporting DESe

原创 Python 安裝 ,Git 安裝 與 Pycharm 開發環境搭建

Python 開發環境搭建與helloWorld 測試   1.去官網下載 然後傻瓜式安裝 2. 下載開發IDE: 這裏選用pychram  下載地址:pychram官網     新建一個工廠後 寫簡單的helloworld  然後: