原创 Java 併發:學習Thread 類

Java 中 Thread類 的各種操作與線程的生命週期密不可分,瞭解線程的生命週期有助於對Thread類中的各方法的理解。一般來說,線程從最初的創建到最終的消亡,要經歷創建、就緒、運行、阻塞 和 消亡 五個狀態(想要了解線程進程的關係可以

原创 Java 併發:內置鎖 Synchronized

在多線程編程中,線程安全問題是一個最爲關鍵的問題,其核心概念就在於正確性,即當多個線程訪問某一共享、可變數據時,始終都不會導致數據破壞以及其他不該出現的結果。而所有的併發模式在解決這個問題時,採用的方案都是序列化訪問臨界資源 。在 Java

原创 進程上下文切換與和線程上下文切換有什麼不同?

1.首先,需要搞明白什麼是上下文切換?上下文切換就是從當前執行任務切換到另一個任務執行的過程。但是,爲了確保下次能從正確的位置繼續執行,在切換之前,會保存上一個任務的狀態。 2. 然後,需要明白進程與線程的區別?(網上很多,這裏簡單說明)

原创 深入學習Java對象創建的過程:類的初始化與實例化

  在Java中,一個對象在可以被使用之前必須要被正確地初始化,這一點是Java規範規定的。在實例化一個對象時,JVM首先會檢查相關類型是否已經加載並初始化,如果沒有,則JVM立即進行加載並調用類構造器完成類的初始化。在類初始化過程中或初始

原创 JVM類生命週期概述:加載時機與加載過程

  一個.java文件在編譯後會形成相應的一個或多個Class文件,這些Class文件中描述了類的各種信息,並且它們最終都需要被加載到虛擬機中才能被運行和使用。事實上,虛擬機把描述類的數據從Class文件加載到內存,並對數據進行校驗,轉換解

原创 Java回收機制概述

Java技術體系中所提倡的 自動內存管理 最終可以歸結爲自動化地解決了兩個問題:給對象分配內存 以及 回收分配給對象的內存,而且這兩個問題針對的內存區域就是Java內存模型中的 堆區。 垃圾回收機制的引入可以有效的防止內存泄露、保證內存的有

原创 JVM 內存模型概述

 我們都知道,Java程序在執行前首先會被編譯成字節碼文件,然後再由Java虛擬機執行這些字節碼文件從而使得Java程序得以執行。事實上,在程序執行過程中,內存的使用和管理一直是值得關注的問題。Java虛擬機在執行Java程序的過程中會把它

原创 Java網絡編程

內容介紹  網絡通信協議  UDP通信  TCP通信 1    網絡通信協議 通過計算機網絡可以使多臺計算機實現連接,位於同一個網絡中的計算機在進行連接和通信時需要遵守一定的規則,這就好比在道路中行駛的汽車一定要遵守交通規則一樣。在計算

原创 Java之反射

內容介紹  類加載器  反射構造方法  反射成員變量  反射成員方法  反射配置文件運行類中的方法 1    類加載器 1.1     類的加載 當程序要使用某個類時,如果該類還未被加載到內存中,則系統會通過加載,連接,初始化三步來實現

原创 Java學習多線程第二天

內容介紹  線程安全  線程同步  死鎖  Lock鎖  等待喚醒機制 1    多線程 1.1     線程安全 如果有多個線程在同時運行,而這些線程可能會同時運行這段代碼。程序每次運行結果和單線程運行的結果是一樣的,而且其他的變量的

原创 Java學習多線程第一天

內容介紹 Thread 線程創建 線程池 線程狀態圖 1 多線程 1.1     多線程介紹 學習多線程之前,我們先要了解幾個關於多線程有關的概念。 進程:進程指正在運行的程序。確切的來說,當一個程序進入內存運行,即變成一個進程,進程是

原创 Java幾種常見的排序算法

   一、所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。排序算法,就是如何使得記錄按照要求排列的方法。排序算法在很多領域得到相當地重視,尤其是在大量數據的處理方面。一個優秀的算法可以節省大量的資源。

原创 IO流的Properties集合,序列化流與反序列化流,打印流及commons-IO

內容介紹 Properties集合 序列化流與反序列化流 打印流 commons-IO Properties類 Properties類介紹 Properties 類表示了一個持久的屬性集。Properties 可保存

原创 String a=new String("abc")創建了幾個對象

String str=new String("abc");   緊接着這段代碼之後的往往是這個問題,那就是這行代碼究竟創建了幾個String對象呢? 相信大家對這道題並不陌生,答案也是衆所周知的,2個。 接下來我們就從這道題展開,一起回顧一

原创 Java_轉換流和緩衝流

今日內容介紹 轉換流 緩衝流 1 轉換流 在學習字符流(FileReader、FileWriter)的時候,其中說如果需要指定編碼和緩衝區大小時,可以在字節流的基礎上,構造一個InputStreamReader或者Outp