Time of Update: 2018-07-19
Thought Coding實驗室2016年納新筆試題 姓名: _______ 班級: ________ 連絡方式: ________ Java部分
Time of Update: 2018-07-19
Java Socket編程 對於Java
Time of Update: 2018-07-19
一、Java概述 1、Java相較於PHP、C#、Ruby等一樣很優秀的程式設計語言的優勢是什麼。 (1)體繫結構中立,跨平台效能優越。Java程式依賴於JVM運行,javac編譯器編譯Java程式為平台通用的位元組碼檔案(.class),再由JVM與不同作業系統匹配,裝載位元組碼並解釋(也有可能是編譯,會在第三個問題中說到)為機器指令執行。
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中如何擷取環境變數,發現System. getenv()時最實用的方法, 其實這個也可以用材程式調式設定,一起其他類似的環境中。 public class TestSystemproperty { public static void main(String[] args){
Time of Update: 2018-07-19
一、前言 最近在寫我們實驗室網站內部交流平台,後台架構用的Spring + SpringMVC + Mabatis(資料庫架構)整合架構,作為後台人員,與資料庫互動、處理商務邏輯已經駕輕就熟,但與前端合作就顯得不是那麼熟練了。
Time of Update: 2018-07-19
執行順序: 1、父類靜態塊 2、子類靜態塊 3、父類塊 4、父類構造器 5、子類塊 6、子類構造器 很基礎很簡單的知識,但沒試過又怎麼知道“以為的”是不是正確呢。代碼驗證: package com.java.test;class A {public
Time of Update: 2018-07-19
1、反射概念以及為什麼要使用反射 我們考慮一個情境,如果我們在程式運行時,一個對象想要檢視自己所擁有的成員屬性,該如何操作。 那再考慮這樣另一個情境,如果我們想要在運行期獲得某個類Class的資訊如它的屬性、構造方法、一般方法 後再考慮是否建立它的對象,這種情況該怎麼辦呢。這就需要用到反射。
Time of Update: 2018-07-19
深入Java集合學習系列:HashMap的實現原理 參考文獻 引用文獻:深入Java集合學習系列:HashMap的實現原理,大部分參考這篇部落格,只對其中進行稍微修改 自己曾經寫過的:Hashmap實現原理 1. HashMap概述:
Time of Update: 2018-07-19
(轉載整理自並發編程網,略有修改整理,多涉獵多分享,共同學習,願大家都成為Offer收割機。) 多線程和並發問題是Java技術面試中面試官比較喜歡問的問題之一。在這裡,從面試的角度列出了大部分重要的問題,但是你仍然應該牢固的掌握Java多線程基礎知識來對應日後碰到的問題。 Java多線程面試問題 1. 進程和線程之間有什麼不同。
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
轉載請註明出處:http://blog.csdn.net/ns_code/article/details/17881581 類載入過程 類從被載入到虛擬機器記憶體中開始,到卸載出記憶體為止,它的整個生命週期包括:載入、驗證、準備、解析、初始化、使用和卸載七個階段。它們開始的順序如下圖所示:
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
Java遠程方法調用RMI簡介
Time of Update: 2018-07-19
先看一下代理模式,這個應該是設計模式中最簡單的一個了,類圖 代理模式最大的特點就是代理類和實際業務類實現同一個介面(或繼承同一父類),代理對象持有一個實際對象的引用,外部調用時操作的是代理對象,而在代理對象的內部實現中又會去調用實際對象的操作 Java動態代理其實內部也是通過Java反射機制來實現的,即已知的一個對象,然後在運行時動態調用其方法,這樣在調用前後作一些相應的處理,這樣說的比較籠統,舉個簡單的例子
Time of Update: 2018-07-19
《JAVA與模式》之策略模式(轉載自http://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html) 在閻宏博士的《JAVA與模式》一書中開頭是這樣描述策略(Strategy)模式的: 策略模式屬於對象的行為模式。其用意是針對一組演算法,將每一個演算法封裝到具有共同介面的獨立的類中,從而使得它們可以相互替換。策略模式使得演算法可以在不影響到用戶端的情況下發生變化。 策略模式的結構
Time of Update: 2018-07-19
引 如果對什麼是線程、什麼是進程仍存有疑惑,請先Google之,因為這兩個概念不在本文的範圍之內。 用多線程只有一個目的,那就是更好的利用cpu的資源,因為所有的多線程代碼都可以用單線程來實現。說這個話其實只有一半對,因為反應“多角色”的程式碼,最起碼每個角色要給他一個線程吧,否則連實際情境都無法類比,當然也沒法說能用單線程來實現:比如最常見的“生產者,消費者模型”。 很多人都對其中的一些概念不夠明確,如同步、並發等等,讓我們先建立一個資料字典,以免產生誤會。