Time of Update: 2018-12-08
常規調用方式:(這個肯定會彈出cmd視窗)複製代碼 代碼如下:Runtime.getRuntime().exec("cmd.exe /C start D:\\test.bat");解決不彈框只需要“start”後面加一個參數“/b”就行: 複製代碼 代碼如下:Runtime.getRuntime().exec("cmd.exe /C start /b D:\\test.bat");複製代碼 代碼如下:Runtime rt = Runtime.getRuntime();
Time of Update: 2018-12-08
昨天寫this用法總結的時候,突然產生了一個問題,請教別人之後,有了自己的一點認識。還是把它寫下來,為大家更好的認識提供一點思路。1)有人寫了個很好的初始化屬性的建構函式,而你僅僅想要在其中添加另一些自己建立屬性的初始化,這樣在一個建構函式中調用另外一個建構函式,可以避免重複的代碼量,減少工作量;2)在一個建構函式中調用另外一個建構函式的時候應該用的是同一塊記憶體空間,在預設的建構函式中先初始設定變數,調用另一個的時候覆寫已經初始化的變數的值;3)整個調用的過程和遞迴調用函數有點類似,不斷充氣球
Time of Update: 2018-12-08
1.點 “window”-> "Preferences" -> "Java" -> "Installed JRES"2.此時"Installed JRES"右邊是列表格窗格,列出了系統中的 JRE 環境,選擇你的JRE,然後點邊上的 "Edit...", 會出現一個視窗(Edit JRE)3.選中rt.jar檔案的這一項:“c:\program files\java\jre_1.5.0_06\lib\rt.jar”點 左邊的“+” 號展開它,4.展開後,可以看到“Source
Time of Update: 2018-12-08
java本身提供了對象複製的能力,在java.lang.Object類中有clone方法,該方法是一個protected方法,在子類需要重寫此方法並聲明為public類型,而且還需實現Cloneable介面才能提供對象複製的能力,clone()是一個native方法,native方法的效率一般來說都是遠高於java中的非native方法,對效能比較關心的話首先考慮這種方式,這種複製在網上有很多例子就不多寫了;在這要用的另一種方式——通過java的反射機制複製對象,這種方式效率可能會比clone(
Time of Update: 2018-12-08
在Java 5.0之前啟動一個任務是通過調用Thread類的start()方法來實現的,任務的提於交和執行是同時進行的,如果你想對任務的執行進行調度或是控制 同時執行的線程數量就需要額外編寫代碼來完成。5.0裡提供了一個新的任務執行架構使你可以輕鬆地調度和控制任務的執行,並且可以建立一個類似資料庫連接 池的線程池來執行任務。這個架構主要有三個介面和其相應的具體類組成。這三個介面是Executor,
Time of Update: 2018-12-08
複製代碼 代碼如下:public static void main(String[] args) { String str = null; str = "顧亮"; System.out.println("Spell=" + toJP(str)); } public static String toJP(String c){ char[] chars = c.toCharArray(); StringBuffer sb = new StringBuffer("");
Time of Update: 2018-12-08
今天組內兄弟提交代碼 我更新以後發現編譯通過不了異常資訊如下:The method getPOIByName(String) of type POISearchByGeoway must override a superclass method這玩意兒我之前遇到過,於是想寫部落格記之,以饗來者!ok 解決方案如下:1、右鍵項目>Build Path>Configure Build Path >> JAVA Compiler 修改Compiler Compliance
Time of Update: 2018-12-08
1. 基礎資料型別 (Elementary Data Type)整形: byte 1 個位元組short 2 個位元組int 4個位元組long 8個位元組字元:char 2個位元組浮點數:float 4個位元組double 8個位元組布爾:boolean 1個位元組2.java 7
Time of Update: 2018-12-08
線程是作業系統啟動並執行基本單位,它被封裝在進程中,一個進程可以包含多個線程。即使我們不手動創造線程,進程也會有一個預設的線程在運行。對於JVM來說,當我們編寫一個單線程的程式去運行時,JVM中也是有至少兩個線程在運行,一個是我們建立的程式,一個是記憶體回收。線程基本資料我們可以通過Thread.currentThread()方法擷取當前線程的一些資訊,並對其進行修改。我們來看以下代碼:複製代碼 代碼如下:查看並修改當前線程的屬性 String name =
Time of Update: 2018-12-08
Java中的集合主要集中在2部分,一部分是java.util包中,一部分是java.util.concurrent中,後者是在前者的基礎上,定義了一些實現了同步功能的集合。這篇文章主要關注java.util下的各種集合對象。Java中的集合對象可以粗略的分為3類:List、Set和Map。對應的UML圖如下(包括了java.util下大部分的集合對象):Collection概述Java集合中的List和Set都從Collection出來,它是一個學習集合很不錯的入口,它包含了集合中通常需要有的操
Time of Update: 2018-12-08
1.ArrayList是實現了基於動態數組的資料結構,LinkedList基於鏈表的資料結構。 2.對於隨機訪問get和set,ArrayList優於LinkedList,因為ArrayList可以隨機定位,而LinkedList要移動指標一步一步的移動到節點處。(參考數組與鏈表來思考)
Time of Update: 2018-12-08
Java 記憶體劃分: 在Java記憶體配置中,java將記憶體分為:方法區,堆,虛擬機器棧,本地方法棧,程式計數器。其中方法區和堆對於所有線程共用,而虛擬機器棧和本地方法棧還有程式計數器對於線程隔離的。每個地區都有各自的建立和銷毀時間。程式計數器: 作用是當前線程所執行的位元組嗎的行號指標。Java的多線程是通過線程輪流切換並分配處理器執行時間方式來實現的。因此,每個線程為了能在切換後能恢複到正確的位置,每個線程需要獨立的程式計數器。JAVA 虛擬機器棧:
Time of Update: 2018-12-08
1.switch條件陳述式中可以加入字串了,實現方法是利用了字串的hashcode()值作業真正的值2.增加了一種可以在字面量中使用的進位,二進位,通過在數字前面加“0b”或“0B”3.在數字字面量中使用底線來分隔數字方便閱讀,不影響數值大小。基本原則是前後都是數位才可以出現底線4.java7對異常做了兩個改動: 4.1.支援在一個catch子句中同時捕獲多個異常,另外一個是在捕獲並重新拋出異常時的異常類型更加精確。java7中Throwable類增加addSuppressed方法,當一個異常
Time of Update: 2018-12-08
這是一道微軟經典筆試題,就是兩個指標h1,h2都從頭開始遍曆單鏈表,h1每次向前走1步,h2每次向前走2步,如果h2碰到了NULL,說明環不存在;如果h2碰到本應在身後的h1說明環存在(也就是發生了套圈)。 如果環不存在,一定是h2先碰到NULL: 如果環存在,h2與h1一定會相遇,而且相遇的點在環內:h2比h1遍曆的速度快,一定不會在開始的那段非環的鏈表部分相遇,所以當h1,h2都進入環後,h2每次移動都會使h2與h1之間在前進方向上的差距縮小1,最後,會使得h1和h2差距減少為0
Time of Update: 2018-12-08
Regex在處理字串的效率上是相當高的關於Regex的使用,更多的是自己的經驗,有興趣可以參閱相關書籍這裡主要寫一下java中的正則操作方法執行個體1:匹配複製代碼 代碼如下:import java.util.Scanner; class Demo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //擷取輸入
Time of Update: 2018-12-08
在曆史上,Java試圖提供過搶佔式限制中斷,但問題多多,例如前文介紹的已被廢棄的Thread.stop、Thread.suspend和 Thread.resume等。另一方面,出於Java應用代碼的健壯性的考慮,降低了編程門檻,減少不清楚底層機制的程式員無意破壞系統的機率。 如今,Java的線程調度不提供搶佔式中斷,而採用協作式的中斷。其實,協作式的中斷,原理很簡單,就是輪詢某個表示中斷的標記,我們在任何普通代碼的中都可以實現。 例如下面的代碼: volatile bool
Time of Update: 2018-12-08
dom是個功能強大的解析工具,適用於小文檔為什麼這麼說呢?因為它會把整篇xml文檔裝載進記憶體中,形成一顆文檔對象樹總之聽起來怪嚇人的,不過使用它來讀取點小東西相對Sax而言還是挺方便的至於它的增刪操作等,我是不打算寫了,在我看教程的時候我就差點被那代碼給醜到吐了也正因為如此,才有後來那些jdom和dom4j等工具的存在……不多說,直接上代碼Dom解析樣本複製代碼 代碼如下:import java.io.File;import javax.xml.parsers.DocumentBuilder;
Time of Update: 2018-12-08
Socket是指在一個特定編程模型下,處理序間通訊鏈路的端點。因為這個特定編程模型的流行,Socket這個名字在其他領域得到了複用,包括Java叫技術。如果要建立串連,一台機器必須運行一個進程來等待串連,而另一台機器必須試圖到達第一台機器。這個電話系統類別似:一方必鬚髮起呼叫,而另一方在此時必須等待撥打電話。java網路模型圖下面通過一個有“回顯”功能的伺服器和用戶端來介紹應用java.net包編寫網路應用程式。這個例子主要功能是伺服器端的程式等待客戶的輸入,然後將讀取到的資訊回顯給用戶端,同時
Time of Update: 2018-12-08
複製代碼 代碼如下:package my; import java.io.File; import java.io.IOException; import java.net.URL; public class MyUrlDemo { public static void main(String[] args) { MyUrlDemo muDemo = new MyUrlDemo(); try { muDemo.showURL();
Time of Update: 2018-12-08
在java的開發中,java開發人員建議,盡量少用內部類,要把內部類提出他所處的那個類,單獨產生一個類。直接來代碼:複製代碼 代碼如下:package com.b510; /** * 內部類之間的調用 * * @author Hongten * * @time 2012-3-19 2012 */ public class InnerClassTest { public static void main(String[] args) { //