Time of Update: 2018-07-19
一、Java把記憶體分為兩種: 1、棧記憶體,用來存放基本類型變數以及對象的引用變數; 2、堆記憶體,用來存放new關鍵字建立的對象與數組; 二、Java裡方法的參數傳遞方式只有一中——值傳遞,即是將實際參數複製一份傳入方法中,實際參數本身不會受到任何影響,參照C語言中的函數參數傳遞,形參與實參(當時學的時候真的好暈); 三、第一段交換代碼(基本類型為參數) public class JavaTest {public static void swap(int a,
Time of Update: 2018-07-19
// 數組是一組資料的集合,數組也是java對象,數組中的元素可以是任意類型(包括基本類型和參考型別), // 數組聲明時要指定長度, // new語句執行以下步驟,在堆區中為數組分配記憶體空間,例如建立一個包含100個元素的int數組,每個元素 // 都是int類型,佔用4個位元組,因此整個數組對象在記憶體中佔用400個位元組,為數組中的每個元素賦予其資料 //
Time of Update: 2018-07-19
1.類的載入過程 JVM將類載入過程分為三個步驟:裝載(Load),連結(Link)和初始化(Initialize)連結又分為三個步驟,如下圖所示: 1) 裝載:尋找並載入類的位元據; 2)連結: 驗證:確保被載入類的正確性; 準備:為類的靜態變數分配記憶體,並將其初始化為預設值; 解析:把類中的符號引用轉換為直接引用; 3)初始化:為類的靜態變數賦予正確的初始值;
Time of Update: 2018-07-19
一、虛擬機器棧(棧記憶體) 1、存放基本類型的變數資料,如: int a = 10; //10就存放在相應棧記憶體中 2、存放引用變數,如: ClassA a = new ClassA(); //a就是引用變數,引用對象,相應棧記憶體中存放對象本身在堆記憶體中開闢空間的首地址 int[] b = new int(5); //b也是引用變數,引用數組,相應棧記憶體中存放數組本身在堆記憶體開闢的連續空間的首地址
Time of Update: 2018-07-19
原創作品,允許轉載,轉載時請務必以超連結形式標明文章 原始出處 、作者資訊和本聲明。否則將追究法律責任。 http://zhangjunhd.blog.51cto.com/113473/20531 總結關鍵字this與super用法。 author: ZJ 07-3-12 Blog:
Time of Update: 2018-07-19
一、Java數組是靜態 Java是典型的靜態語言,Java數組自然也是靜態,即當數組被初始化後,數組的長度是不可變的; 二、何謂數組初始化 所謂數組初始化,就是在堆記憶體中為數組對象分配一塊連續的記憶體空間,並為每個數組元素指定初始值。 三、數組初始化方式 有兩種方式: 1、靜態初始化:由程式員顯式指定每個數組元素的初始值,由系統確定數組大小; 2、動態初始化:由程式員指定數組大小,由系統為每個數組元素分配初始值; 四、陣列變數與數組對象
Time of Update: 2018-07-19
因為在學習集合時知道集合裡存放的對象都是Object類型,取出的時候需要強制類型轉換為目標類型(使用泛型集合不需要),如int a = (Integer)arrayList.get(0);然後我們就會發現,為什麼要強制轉換為Integer,而不是int呢。int與Integer有什麼區別呢。 1、基本類型與封裝類區別 int是基本類型,直接存數值;如: int i = 5;//直接在棧中分配空間,存放5這個數值 Integer是int的封裝類,是類,擁有方法;如:
Time of Update: 2018-07-19
多線程同步:多個線程共同協作正確的執行任務。 我們經常見到多線程同步關鍵字synchronized,那它到底是利用誰做同步鎖呢。 要想實現多線程同步,必須要保證同步鎖是共用唯一的。 synchronized一般用於3中情境: 1.非靜態方法
Time of Update: 2018-07-19
Java 中的堆和棧 Java把記憶體劃分成兩種:一種是棧記憶體,一種是堆記憶體。 在函數中定義的一些基本類型的變數和對象的引用變數都在函數的棧記憶體 中分配 。 當在一段代碼塊定義一個變數時,Java就在棧中為這個變數分配記憶體空間,當超過變數的範圍後,Java會自動釋放掉為該變數所分配的記憶體空間, 該記憶體空間可以立即被另作他用。 堆記憶體用來存放由 new建立的對象和數組。
Time of Update: 2018-07-19
Java集合架構為Java程式設計語言的基礎,也是Java面試中很重要的一個知識點。這裡,我列出了一些關於Java集合的重要問題和答案。 1.Java集合架構是什麼。說出一些集合架構的優點。
Time of Update: 2018-07-19
Java抽象類別與介面都可以實現功能與實現的分離,都對多態提供了很好的支援,那麼我們什麼時候應該使用抽象類別或介面呢。在以前的一篇文章初探Java抽象類別與介面中談到了他們文法的區別,在部落格通過模板方法模式深入理解Java抽象類別中寫到了該如何正確使用抽象類別,那麼這次我就從更高的層次上——設計思想 上談談它們的差異。 1、抽象類別與介面的抽象層次是不同的 抽象類別是對類抽象,介面是對行為抽象。類包含了屬性與行為,所以說介面是更具體的抽象。
Time of Update: 2018-07-19
1. MyCellRenderer.class.getClassLoader().getResource("icon/myfiles.png"); 其中 MyCellRenderer是該類的名字, "icon/myfiles.png"是圖片的相對路徑,該圖片放在src目錄下。
Time of Update: 2018-07-19
現在貼出部分核心代碼,在最後提供全部代碼下載連結。有感興趣的朋友,可以點選連結下載原始碼 二維碼,是一種採用黑白相間的平面幾何圖形通過相應的編碼演算法來記錄文字、圖片、網址等資訊的條碼圖片。 如下圖 一、Java 所需jar包:QRCode.jar http://vdisk.weibo.com/ QRCode類:二維碼操作核心類 package app.Code; import java.awt.Color; import
Time of Update: 2018-07-19
當我們使用Java產生word文檔時,通常首先會想到iText和POI,這是因為我們習慣了使用這兩種方法操作Excel,自然而然的也想使用這種產生word文檔。但是當我們需要動態產生word時,通常不僅要能夠顯示word中的內容,還要能夠很好的保持word中的複雜樣式。這時如果再使用IText和POI去操作,就好比程式員去搬磚一樣痛苦。
Time of Update: 2018-07-19
import java.io.File; public class DeleteFileUtil { /** * 刪除單個檔案 * @param sPath 被刪除檔案的檔案名稱
Time of Update: 2018-07-19
//將時間轉換成規定格式的字串:2014-02-22 13:26:21 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { &
Time of Update: 2018-07-19
package com.xml; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.net.MalformedURLException; import java.util.Iterator; import org.dom4j.Attribute; import org.dom4j.Document; import
Time of Update: 2018-07-19
http://geek.csdn.net/news/detail/239195 很多人做java開發2,3年後,都會感覺自己遇到瓶頸。什麼都會又什麼都不會,如何改變困境,為什麼很多人寫了7,8年還是一個碼農,工作中太多被動是因為不懂底層原理。公司的工作節奏又比較快,難有機會學習架構原理,也沒人教,所以這個時候,學習架構原理,擴充思維,對自己以後職業生涯尤為重要。
Time of Update: 2018-07-19
public void pingIP(String ipKey, String ipValue) throws RSInstallerException{ Boolean bool=false; try { bool =
Time of Update: 2018-07-19
前序 今天去面了幾家公司,主要是Java後端的,有個公司問的東西真的是蠻多的,這裡記錄一下印象深一點的問題吧。 Java基礎 int、byte、char各占幾個位。 注意這裡說的不是位元組,問的是bit位。 我當時就說int 4個位元組,byte 1個位元組,char 2個位元組。 每個位元組又是8位,各再乘以8就好了。結果那面試官居然還說1個位元組是4位,當時我都懵了。回來查查資料發現,我才是對的。1個位元組就是8位。。。 參考資料: