Time of Update: 2018-07-27
對象是放在堆裡面的,基本類型資料是放在棧裡面的。 堆:放new出來的對象 棧:放基本類型資料和對對象的引用(相當於指標,但是對象本身還是在堆裡) 常量池:public static final存放字串常量和基本類型的常量 靜態域:放靜態成員 static定義的 對對來講,棧比堆快 棧的回收機制:當程式塊結束,基礎資料型別 (Elementary Data Type)不被使用,就自動銷毀了 堆的回收機制:是由虛擬機器自動判斷
Time of Update: 2018-07-27
Java將記憶體分為兩種:一種是棧記憶體,一種是堆記憶體。 1、 棧(stack)與堆(heap)都是Java用來在Ram(隨機存取儲存空間)中存放資料的地方。與C++不同,Java自動管理棧和堆,程式員不能直接地設定棧或堆。 2、棧的優勢是,存取速度比堆要快,僅次於直接位於CPU中的寄存器,棧資料可以共用。但缺點是,存在棧中的資料大小與生存期必須是確定的,缺乏靈活性。棧中主要存放一些基本類型的變數(int, short, long, byte, float, double,
Time of Update: 2018-07-27
堆棧的理解 在JAVA中,把記憶體分為兩種----1.堆記憶體;2.棧記憶體 ***棧空間是由系統自動分配和釋放的; ***堆空間是是手動申請和釋放的。 優勢:棧比堆存取速度快,資料可共用 注意: 棧是來存放對象引用,而堆是存放JAVA對象資料的 **棧中變數指向堆中變數-----可以理解為JAVA的指標 ----在我們聲明基礎資料型別
Time of Update: 2018-07-27
在談堆和棧之前,首先我們先要瞭解一下Java對記憶體的分配結構。作為Java程式員大家應該都知道Java的程式都是運行在Java虛擬機器上也就是JVM上,程式中所有的變數、執行個體、方法等都是由JVM在記憶體上分配空間的。 那麼讓我們來初步的瞭解一下Java程式在運行時都會存在哪些記憶體地區:
Time of Update: 2018-07-27
翻譯人員: 鐵錨 翻譯時間: 2013年11月13日 原文連結: How does Java handle aliasing? 什麼是Java的引用別名機制 Java的引用別名機制(原文為Aliasing,別名,即Java中的多態)意味著多個引用變數可以定位到同一個實際物理對象,而這些引用變數可以是不同的類型. 下面的代碼中,S類繼承P類, pp 和 ss 分別是P類型 和 S類型的兩個陣列變數名. public class
Time of Update: 2018-07-27
翻譯人員: 鐵錨 翻譯日期: 2013年11月20日 原文連結: A Puzzle from “A Brief History of the (Java) World and a Peek Forward” Presented by Neal Gafter 以下是來自Neal Gafter 演講中的一個Java謎題: import java.util.Random;// Rhymes,押韻public class Rhymes { private
Time of Update: 2018-07-27
集合是Java中非常重要而且基礎的內容,平時我們使用得最多,其用法也很簡單,會使用一個,基本其它就很easy了,得益於集合架構的設計,既然第一步使用已經會了,那麼還是有必要深入瞭解一下,學習其設計技巧,理解其本質,這樣不僅會用,還會用得更好,有了更深層次的理解,那麼使用過程中都很明白,而不是亂用一通,如果出現問題,也容易排查,今天我們就開始Java 集合架構的探險之旅。 說道Java集合,估計大家最熟悉的下面的圖了,這個圖是我從網上找的。
Time of Update: 2018-07-27
註:本文源碼是JDK8的版本 ConcurrentHashMap 介紹(jdk 1.8) ConcurrentHashMap是HashMap的升級版,HashMap是非安全執行緒的集合,ConcurrentHashMap則可以支援並行作業, HashMap是我們平時開發過程中用的比較多的集合,ConcurrentHashMap就算用得少,但是聽過的肯定不少。 在jdk1.8 中HashMap是通過數組+鏈表+紅/黑樹狀結構實現的,ConcurrentHashMap
Time of Update: 2018-07-27
目前常用的設計模式有幾十種,簡單的死記硬除了面試外別無他用,更重要的是熟練運用到實際情境中去,去用好用對至關重要。本欄就從HelloWorld揭開設計模式的面紗。 下面是每個程式員的第一個程式。 public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, world!");}}
Time of Update: 2018-07-27
http://blog.csdn.net/qq_28533563/article/details/72676425 這位博主提供2種思路, 主要實現方式就是 (openoffice+swftools+flexpaper)和(aspose+pdfjs預覽)。 第一種就是上一篇文章的實現,第二種便是這位博主的主要實現 備份原文: Java實現線上預覽附件 office轉換PDF
Time of Update: 2018-07-27
大三上學期我們開設了“JAVA程式設計”這門課程,所用的教材是Bruce Eckel的《Java編程思想》也就是《Thinking in Java Fourth Edition》這本書。 陸紹飛老師第一節上課教我們了如何安裝JAVA的IDE以及配置環境變數,並且向我們展示了第一個JAVA程式“HelloWorld”,於是我決定今天自己試試來編寫運行第一個JAVA程式。 因為覺得只是課上的聽講不夠,於是我又在學堂線上上學習“Java程式設計 清華大學 電腦科學與技術系
Time of Update: 2018-07-27
提示錯誤資訊:com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'not authorized for query on 參考網址:http://stackoverflow.com/questions/31503525/unable-to-connect-to-remote-mongo-db-for-2-days
Time of Update: 2018-07-27
來源:《The "Double-Checked Locking is Broken" Declaration》 1. 單例模式的簡單實現 // 只支援單線程的版本class Foo { private Helper helper = null; public Helper getHelper() { if (helper == null) helper = new Helper();
Time of Update: 2018-07-27
JVM中資料區域分為虛擬機器棧、JAVA堆、方法區、運行時常量池、程式計數器(PC寄存器)這幾類。在這五類中,虛擬機器棧用來表示各個線程中方法執行情況的地區,而棧幀是虛擬機器棧中的棧元素。棧幀是用於支援虛擬機器進行方法調用和方法執行的資料結構。每一個方法從調用開始到執行完成的過程都可以看作是一個棧幀於虛擬機器棧中從入棧到出棧的過程。
Time of Update: 2018-07-27
一:什麼是JVVA。 1.Java是一種物件導向的程式設計語言 2.Java不僅是一種程式設計語言,在該平台上可以開發應用程式並在網際網路或企業內部網路中運行 3.Java開發套件(JDK&JRE)是開發、調試、編譯、運行Java程式的一整套工具 二:Java的應用領域。 1.三大體系分布: Java 平台有三個版本,這使軟體開發人員、服務提供者和裝置生產商可以針對特定的市場進行開發: (1):Java SE(Java Platform,Standard
Time of Update: 2018-07-27
在項目的開發過程中,經常會考慮到提高使用者訪問效率,降低伺服器的壓力,這個時候會用到資料緩衝。當前實現緩衝的技術有很多, 例如: jCache、Ehcache以及快取服務器redis,redis作為分布式系統重要的組成部分,該技術的使用以及相關的一些問題會在後面的文章當中詳細介紹。 目前,我將要提到的就是Ehcache和Spring項目的整合實現緩衝。 前期的準備工作:(實體類、Dao、Service、Controller)、Ehcache的設定檔
Time of Update: 2018-07-27
1.對字串的末尾的進行限定的方法(例:讓末尾不含,—,,)while(strTrue.endsWith("+")||strTrue.endsWith("-")||strTrue.endsWith(","))//過濾掉末尾的++號
Time of Update: 2018-07-27
虛擬機器載入類的途徑 1、由 new 關鍵字建立一個類的執行個體 在由運行時刻用 new 方法載入 如:Dog dog = new Dog(); 2、調用 Class.forName() 方法 通過反射載入類型,並建立對象執行個體 如:Class clazz = Class.forName(“Dog”);
Time of Update: 2018-07-27
Java 讀寫Properties設定檔 1.Properties類與Properties設定檔 Properties類繼承自Hashtable類並且實現了Map介面,也是使用一種索引值對的形式來儲存屬性集。不過Properties有特殊的地方,就是它的鍵和值都是字串類型。 2.Properties中的主要方法 (1)load(InputStream inStream)
Time of Update: 2018-07-27
這是個測試用的例子,通過反射調用對象的方法。 TestRef.java import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; /** * Created by IntelliJ