原创 Java 線程 詳解

Java線程:概念與原理 一、操作系統中線程和進程的概念 現在的操作系統是多任務操作系統。多線程是實現多任務的一種方式。 進程是指一個內存中運行的應用程序,每個進程都有自己獨立的一塊內存空間,一個進程中可以啓動多個線程。比如

原创 JAVA面試2

1、List遍歷時刪除的幾種方式比較 1.1、會報錯的刪除方式: (1)在Iterator遍歷時使用list刪除     [java] view plain copy   Iterator<String> it

原创 JAVA面試3

1、String的split(String regex)方法參數注意點 使用這個方法時,當我們直接以“.”爲參數時,是會出錯的,如: [java] view plain copy   String str = "

原创 JAVA面試4

1、HashMap、HashTable、ConcurrentHashMap的區別     【參考:http://www.cnblogs.com/carbs/archive/2012/07/04/2576995.html】     (

原创 JAVA面試6

1、線程池ThreadPool相關 在java.util.concurrent包下,提供了一系列與線程池相關的類。合理的使用線程池,可以帶來多個好處: (1)降低資源消耗。通過重複利用已創建的線程降低線程創建和銷燬造成的消耗; (2)

原创 JAVA面試5

1、實現多線程的兩種方法 實現多線程有兩種方法:繼承Thread和實現Runnable接口。 繼承Thread: 以賣票爲例:     [java] view plain copy   public cla

原创 JAVA堆內存設置管理

堆內存設置 原理 JVM堆內存分爲2塊:Permanent Space 和 Heap Space。 Permanent 即 持久代(Permanent Generation),主要存放的是Java類定義信息,與垃圾收集器要收集的J

原创 內部類

成員內部類 class Outer { class Inner{} } 編譯上述代碼會產生兩個文件:Outer.class和Outer$Inner.class。 方法內部類 把類放在方法內 class Outer { publ

原创 StringBuilder的實現與技巧

StringBuilder的實現與技巧 在上一篇進一步瞭解String 中,發現了string的不便之處,而string的替代解決方案就是StringBuilder的使用..它的使用也很簡單System.Text.StringBui

原创 StringBuffer 與StringBuilder 區別

String 字符串常量 StringBuffer 字符串變量(線程安全) StringBuilder 字符串變量(非線程安全)  簡要的說, String 類型和 StringBuffer 類型的主要性能區別其實在於 String 是不

原创 JAVA引用傳遞問題

可能有些同學覺得,只要是引用傳遞,對引用的修改直接影響着原對象,其實不然,只有對引用對象的內部做了修改,纔會影響原對象,如果直接將引用修改了,則對原對象沒有影響,唯一的影響就是:這個被修改的引用,現在不是原來對象的引用,而是新對象的引用

原创 Struts的工作流程:

Struts的工作流程: 在web應用啓動時就會加載初始化ActionServlet,ActionServlet從  struts-config.xml文件中讀取配置信息,把它們存放到各種配置對象 當ActionServlet接收到一個客

原创 JAVA結構型模式

結構型模式是描述如何將類對象結合在一起,形成一個更大的結構,結構模式描述兩種不同的東西:類與類的實例。故可以分爲類結構模式和對象結構模式。 在GoF設計模式中,結構型模式有: 1.適配器模式 Adapter   適配器模式是將一個

原创 TCP的流量控制

TCP的流量控制 1.TCP的滑動窗口        爲了提高信道的利用率TCP協議不使用停止等待協議,而是使用連續ARQ協議,意思就是可以連續發出若干個分組然後等待確認,而不是發送一個分組就停止並等待該分組的確認。  

原创 Java多線程之wait(),notify(),notifyAll()

在多線程的情況下,由於同一進程的多個線程共享同一片存儲空間,在帶來方便的同時,也帶來了訪問衝突這個嚴重的問題。Java語言提供了專門機制以解決這種衝突,有效避免了同一個數據對象被多個線程同時訪問。    wait與notify是Java