Time of Update: 2018-12-04
Java 編碼問題總結一、實踐原則 1、分頁檔的儲存格式做到與聲明一致 如聲明<%@ page language="java" pageEncoding="utf-8"%>,則該檔案儲存為utf-8格式 2、無論是Get、Post還是JavaScript直接調用,瀏覽器以分頁檔指定的編碼格式提交請求 3、JavaScript的方法如encodeURI、encodeURIComponent等使用utf-8格式編碼資料二、Http協議和Servlet規範
Time of Update: 2018-12-04
轉自:http://polaris.blog.51cto.com/1146394/273614一、java反射機制 JAVA反射機制是在運行狀態中,對於任意一個類,都能夠得到這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法;這種動態擷取的資訊以及動態調用對象的方法的功能稱為java語言的反射機制。 用一句比較白的話來概括,反射就是讓你可以通過名稱來得到對象 ( 類,屬性,方法 )
Time of Update: 2018-12-04
java.lang.OutOfMemoryError: Java heap space 的解決(2009-05-14 22:42:38){scope.articel_quote_alert && scope.articel_quote_alert('3caf06b20100czvo');return false;}" href="javascript:;">轉載標籤:雜談 關鍵字: tomcat outofmemoryerror permgen space java heap
Time of Update: 2018-12-04
Java記憶體組成1) 堆 運行時資料區域,所有類執行個體和數組的記憶體均從此處分配。JAVA 虛擬機器啟動時建立。對象的堆記憶體由稱為記憶體回收行程 的自動記憶體管理系統回收。 堆由兩部分組成: 其中eden+fromspace+tospace也叫年輕代(young),old space叫舊生代. 其中還有S1,S0(在JDK的內建工具輸出中會看到),分別指的是Survivor space,存放每次記憶體回收後存活的對象. Old Generation ,
Time of Update: 2018-12-04
位元組碼助記符的首碼類型 代碼 樣本描述byte b baload 從數組裝載 byte 類型short s sastore 將 short 類型存入數組中int i iload_1從局部變數 1 中裝載 int 類型long l lcmp 比較 long 類型值char c i2c 把 int 類型資料轉換為 char 類型float f fload 從局部變數中裝載 float 類型double d dconst_1 將 double 類型常量 1.0 壓入棧reference a
Time of Update: 2018-12-04
1. serialersionUID版本控制。兩種用途1).強制更新(每自動產生)不一致時報錯強製版本更新。2).保持相容性。服務端類版本更新後,如果serialVersionUID不變,則還原序列化可通過,未識別的field填充預設值。2. 靜態變數不序列化。序列化只針對對象的資料而不是類層級的內容。3. 不序列化未實現Serializable介面的父類虛擬機器將不序列化父類,但是父類必須提供(預設的)構造器,因為JVM建立對象時必須先初始化其父類。4.
Time of Update: 2018-12-04
在並發環境中,對於共用資源通常會採用顯式的鎖機制(比如synchronized或ReentrantLock)來保證在任意時刻只會有一條線程訪問這些變數,並且這些變數的修改對隨後擷取鎖的線程是可見的。無法擷取鎖的線程會進入阻塞狀態,並被JVM和作業系統掛起,在未來某一時刻被調度重新擷取鎖,掛起和恢複線程會產生很多的系統消耗和較長時間的中斷。線程的切換同時會引起環境切換,即把當前線程的運行時上下文儲存起來,裝入新線程的運行時上下文,所以環境切換並不是免費的,另外被換入的新線程所需要的資料不太可能在C
Time of Update: 2018-12-04
New- start() ->Runnable - wait(),sleep(), yield() -><- notify()/notifyAll()/TimeOutNot Runnable (wait/sleep/block) - exit run() ->Death 一個線程建立之後,總是處於其生命週期的4個狀態之一中。線程的狀態表明此線 程當前進行中的活動,而線程的狀態是可以通過程式來進行控制的,就是說,可以對線程
Time of Update: 2018-12-04
Java EE叢集技術初探 第一部分(對一些術語的解釋) 越來越多的任務關鍵型與大規模應用運行在Java EE技術上。有的應用例如銀行的或者是記費系統需要越來越高的高可用性(HA),另外一些應用比如像Google或者是Yahoo則需要越來越好的可擴充性。eBay在99年的22小時宕機,造成230萬筆交易的中斷,影響其股價下跌9.2%。這個樣本充分證明了高可用性和可擴充性在今天變得越來越重要。 Java EE的叢集技術是為了提供高可用和有容錯能力的可擴充服務。但是由於Java
Time of Update: 2018-12-04
按照《Unix網路編程》的劃分,IO模型可以分為:阻塞IO、非阻塞IO、IO複用、訊號驅動IO和非同步IO,按照POSIX標準來劃分只分為兩類:同步IO和非同步IO.同步IO和非同步IO如何區分呢?首先一個IO操作其實分成了兩個步驟:發起IO請求和實際的IO操作,同步IO和非同步IO的區別就在於第二個步驟是否阻塞,如果實際的IO讀寫阻塞請求進程,那麼就是同步IO,因此阻塞IO、非阻塞IO、IO服用、訊號驅動IO都是同步IO,如果不阻塞,而是作業系統幫你做完IO操作再將結果返回給你,那麼就是非同步
Time of Update: 2018-12-04
Sun Hotspot JVMjava version "1.6.0_12" 一、vm參數方式1、-verbose:gc 會列印出每次GC執行的情況[GC 進行GC以前活動的對象佔用空間->GC以後無法清除的對象佔用空間(Heap的可用空間大小),GC執行時間]2、-XX:+PrintGCDetails 會列印出更加詳細的資訊[GC [DefNew: GC執行前Young Generation使用中的物件佔用空間->GC以後YG無法清除對象佔用空間(YG可用空間), 執行時間]
Time of Update: 2018-12-04
記幾個要點:一、思想 1、分離接收請求與執行請求 a、由一個線程池通過阻塞方式接收網路連接請求 b、由一個線程池通過非阻塞去執行任務隊列中的具體任務二、知識點 1、Selector是多安全執行緒的,但是容易進入死結,如 a、selector.slect(); b、channel.register(selector,SelectionKey.OP_READ);
Time of Update: 2018-12-04
一、class檔案內容註:每個java類只能有一個class檔案或介面,下面討論中u4表示4個位元組,u2表示2個位元組class檔案內容如下:magic(魔數)-u4(u4表示4個位元組)0xCAFEBABE,其作用在於可以輕鬆辨別出Java class檔案和非Java
Time of Update: 2018-12-04
用二進位表示的類使用 Java 語言的開發人員在用編譯器編譯他們的原始碼時,通常不必關心對這些原始碼做了些什麼這樣的細節。但是本系列文章中,我將討論從原始碼到執行程式所涉及的許多幕後細節,因此我將首先探討由編譯器產生的二進位類。二進位類格式實際上是由 JVM 規範定義的。通常這些類表示是由編譯器從 Java 語言原始碼產生的,而且它們通常儲存在副檔名為 .class 的檔案中。但是,這些特性都無關緊要。已經開發了可以使用 Java
Time of Update: 2018-12-04
jvm classLoader architecture :a, Bootstrap ClassLoader/啟動類載入器主要負責jdk_home/lib目錄下的核心 api 或 -Xbootclasspath 選項指定的jar封裝入工作.b, Extension ClassLoader/擴充類載入器主要負責jdk_home/lib/ext目錄下的jar包或 -Djava.ext.dirs 指定目錄下的jar封裝入工作c, System ClassLoader/系統類別載入器主要負責java -
Time of Update: 2018-12-04
8.1
Time of Update: 2018-12-04
轉自:http://www.blogjava.net/xylz/archive/2010/07/07/325410.html接上篇,這篇從Lock.lock/unlock開始。特別說明在沒有特殊情況下所有程式、API、文檔都是基於JDK 6.0的。public void java.util.concurrent.locks.ReentrantLock.lock()擷取鎖。如果該鎖沒有被另一個線程保持,則擷取該鎖並立即返回,將鎖的保持計數設定為 1。如果當前線程已經保持該鎖,則將保持計數加
Time of Update: 2018-12-04
文章目錄 起到第一道安全保障作用的"雙親委派類載入模型"
Time of Update: 2018-12-04
註:文中的類型指的是一個類或一個介面。5.1、什麼是Java虛擬機器 當你談到Java虛擬機器時,你可能是指: 1、抽象的Java虛擬機器規範 2、一個具體的Java虛擬機器實現 3、一個啟動並執行Java虛擬機器執行個體 5.2、Java虛擬機器的生命週期 一個運行中的Java虛擬機器有著一個清晰的任務:執行Java程式。程式開始執行時他才運行,程式結束時他就停止。你在同一台機器上運行三個程式,就會有三個運行中的Java虛擬機器。 Java虛擬機器總是開始於一個main()
Time of Update: 2018-12-04
19.1