原创 Java的發展:從Java0到Java14的新特性

Java0 1996 年 1 月Sun公司發佈第一個正式的Java版本,JDK1.0 Java1 1997 年 2 月Sun 公司發佈 JDK1.1 重新編寫了用於桌面軟件開發的 AWT 庫(因爲上個版本的 AWT 是 Jav

原创 Java解析線程池

什麼是線程池 線程池就是裝有線程的池子,把要執行的線程交給線程池來處理,通過維護一定數量的線程池來達到多個線程的複用。 線程池的好處 如果不用線程池,每個線程都要通過new Thread(xxRunnable).start()的方

原创 十種分佈式ID生成方法

什麼是分佈式ID 以MySQL爲例,數據量不大的時候,單庫單表可以支撐現有業務,再大一點主從同步讀寫分離也可以。 但數據是不斷增加的,當主從同步也不行了,就需要分庫分表了。分庫分表需要一個全局唯一ID做標識,這就是分佈式ID。一個

原创 MySql引起的CPU消耗你懂嗎

誰消耗CPU 用戶、系統、IO等待、軟硬中斷、空閒。 其中系統和軟硬中斷是比較難改變的,另外用戶和IO等待消耗了大部分CPU 用戶消耗和IO等待 用戶空間CPU消耗,各種邏輯運算: 函數 排序 類型轉換 邏輯IO訪問 以及等待I

原创 Java文件的運行

class文件 一個Java文件通過編譯工具javac編譯成class字節碼文件,通過JVM進行加載運行。因爲JVM屏蔽底層操作系統的差異,所以一次編譯到處運行。 JVM內存結構 JVM分爲外部和內部,內部就是數據區,其他部分就

原创 編譯器的發展史

編譯器的工作就是將用代碼編寫的源程序翻譯爲計算機可以執行的目標程序,例如.c編譯後生成.exe 前面會涉及一些基礎,可以直接看第四標題的內容 機器語言 計算機剛發明的時候人們通過各種開關和電纜來編寫程序。這時候的程序是真正的二進制

原创 該怎麼選擇編程語言

一、 根據目的學習編程語言 做蘋果手機的應用軟件,選擇Swift 做安卓的應用軟件,選擇Java 做遊戲軟件,例如家庭用遊戲機PlayStation4和Wii U上的遊戲軟件,選擇C# 互聯網服務和網頁設計,選擇JavaScri

原创 Ubuntu實現科幻黑客效果

前幾天在公衆號良許Linux看到一個視頻,挺有趣的,現在就來和大家分享一下 代碼 sudo apt-add-rapository ppa:hollywood/ppa sudo apt-get update sudo apt-get