java中得到當前路徑

歸納一些網上取JAVA路徑的方法:註明:如果從ANT啟動程式,this.getClass().getResource("")取出來的比較怪,直接用JAVA命令列調試就可成功。得到classpath和當前類的絕對路徑的一些方法獲得CLASSPATH之外路徑的方法:URL base = this.getClass().getResource(""); //先獲得本類的所在位置,如/home/popeye/testjava/build/classes/net/

java的滑鼠事件

MouseListener 方法介面中的mouseClicked() 方法和mousePressed() 方法有什麼區別 這是一個熱門的話題,讓我們來深入的找尋答案,Java’s AWT 庫提供了兩個介面來監聽和接收滑鼠事件. 一個是 java.awt.event.MouseListener: public interface MouseListener extends EventListener    {    public void

java網路編程

曆史上的網路編程都傾向於困難、複雜,而且極易出錯。程式員必須掌握與網路有關的大量細節,有時甚至要對硬體有深刻的認識。一般地,我們需要理解連網協議中不同的“層”(Layer)。而且對於每個連網庫,一般都包含了數量眾多的函數,分別涉及資訊塊的串連、打包和拆包;這些塊的來回運輸;以及握手等等。這是一項令人痛苦的工作。但是,連網本身的概念並不是很難。我們想獲得位於其他地方某台機器上的資訊,並把它們移到這兒;或者相反。這與讀寫檔案非常相似,只是檔案存在於遠程機器上,而且遠程機器有權

java線程練習題

(1) 從Thread繼承一個類,並(過載)覆蓋run()方法。在run()內,列印出一條訊息,然後調用sleep()。重複三遍這些操作,然後從run()返回。在構建器中放置一條啟動訊息,並覆蓋finalize(),列印一條關閉訊息。建立一個獨立的線程類,使它在run()內調用System.gc()和System.runFinalization(),並列印一條訊息,表明調用成功。建立這兩種類型的幾個線程,然後運行它們,看看會發生什麼。(2) 修改Counter2.java,使線程成為一個內部類,

java線程學習總結

何時使用多線程技術,以及何時避免用它,這是我們需要掌握的重要課題。骼它的主要目的是對大量任務進行有序的管理。通過多個任務的混合使用,可以更有效地利用電腦資源,或者對使用者來說顯得更方便。資源均衡的經典問題是在IO等候期間如何利用CPU。至於使用者方面的方便性,最經典的問題就是如何在一個長時間的下載過程中監視並靈敏地反應一個“停止”(stop)按鈕的按下。多線程的主要缺點包括:(1) 等候使用共用資源時造成程式的運行速度變慢。(2) 對線程進行管理要求的額外CPU開銷。(3

基於java的圖片檔案格式轉換和線性縮放

圖片檔案格式轉換最核心的問題就是要解決各種圖片格式的編碼和解碼,推薦用jimi包,可從http://java.sun.com/products/jimi/下載該包及其源碼和demo。 需要注意的是:jimi提供了對幾乎所有圖片格式的解碼支援,但是為提供gif和tif/tiff格式的編碼api,gif編碼問題在網上可以找到縣相關的源碼,tiff好像jai:http://java.sun.com/products/java-media/jai/index.jsp提供了它的編碼,不過我沒有用jai,暫

java的線程組

所有線程都隸屬於一個線程組。那可以是一個預設線程組,亦可是一個建立線程時明確指定的組。在建立之初,線程被限制到一個組裡,而且不能改變到一個不同的組。每個應用都至少有一個線程從屬於系統線程組。若建立多個線程而不指定一個組,它們就會自動歸屬於系統線程組。線程組也必須從屬於其他線程組。必須在構建器裡指定新線程組從屬於哪個線程組。若在建立一個線程組的時候沒有指定它的歸屬,則同樣會自動成為系統線程組的一名屬下。因此,一個應用程式中的所有線程組最終都會將系統線程組作為自己的“父”。之

回顧Java Beans

我們現在已理解了同步,接著可換從另一個角度來考察Java Beans。無論什麼時候建立了一個Bean,就必須假定它要在一個多線程的環境中運行。這意味著:(1)

Java如何共用資源

對一種特殊的資源——對象中的記憶體——Java提供了內建的機制來防止它們的衝突。由於我們通常將資料元素設為從屬於private(私人)類,然後只通過方法訪問那些記憶體,所以只需將一個特定的方法設為synchronized(同步的),便可有效地防止衝突。在任何時刻,只可有一個線程調用特定對象的一個synchronized方法(儘管那個線程可以調用多個對象的同步方法)。下面列出簡單的synchronized方法:synchronized void f(

java資源訪問的錯誤方法

現在考慮換成另一種方式來使用本章頻繁見到的計數器。在下面的例子中,每個線程都包含了兩個計數器,它們在run()裡增值以及顯示。除此以外,我們使用了Watcher類的另一個線程。它的作用是監視計數器,檢查它們是否保持相等。這表面是一項無意義的行動,因為如果查看代碼,就會發現計數器肯定是相同的。但實際情況卻不一定如此。下面是程式的第一個版本: //: Sharing1.java// Problems with resource sharing while threadingimport

java製作多個線程

現在考慮一下建立多個不同的線程的問題。我們不可用前面的例子來做到這一點,所以必須倒退回去,利用從Thread繼承的多個獨立類來封裝run()。但這是一種更常規的方案,而且更易理解,所以儘管前例揭示了我們經常都能看到的編碼樣式,但並不推薦在大多數情況下都那樣做,因為它只是稍微複雜一些,而且靈活性稍低一些。下面這個例子用計數器和切換按鈕再現了前面的編碼樣式。但這一次,一個特定計數器的所有資訊(按鈕和文字欄位)都位於它自己的、從Thread繼承的對象內。Ticker中的所有欄位都具有private(私

java日期時間選擇控制項(代碼)

一次項目研發中需要日期時間選擇控制項,網上提供的不多,且品質一般,所以只好自己做,參考了網上某位同學的作品Jave日期選擇控制項DateChooser 。目前的代碼將日期時間選擇封裝在一個按鈕組件內,應該很好用,支援Application 、AppletCODE:import java.util.Date;import java.util.Calendar;import java.text.DateFormat;import java.text.SimpleDateFormat;import

從線程繼承(java)

為建立一個線程,最簡單的方法就是從Thread類繼承。這個類包含了建立和運行線程所需的一切東西。Thread最重要的方法是run()。但為了使用run(),必須對其進行過載或者覆蓋,使其能充分按自己的吩咐行事。因此,run()屬於那些會與程式中的其他線程“並發”或“同時”執行的代碼。下面這個例子可建立任意數量的線程,並通過為每個線程分配一個獨一無二的編號(由一個靜態變數產生),從而對不同的線程進行跟蹤。Thread的run()方法在這裡得到了覆蓋,

java響應滑鼠點擊事件的小程式

一個很基礎的小程式,可以作為一種方法嵌入到其他應用中import java.awt.Graphics;import java.awt.Event;import java.awt.Color;public class mouse extends java.applet.Applet{int num=0;//計數器初始化int px,py;public boolean mouseDown(Event evt,int x,int y)//滑鼠按下事件{px=x;py=y;//滑鼠按下時的座標num++

java的卡片式對話方塊

在本章的前部,向我們介紹了老式的CardLayout,並且注意到我們怎樣去管理我們所有的卡片開關。有趣的是,有人現在認為這是一種不錯的設計。幸運的是,Swing用JTabbedPane對它進行了修補,由JTabbedPane來處理這些卡片,開關和其它的任何事物。對比CardLayout和JTabbedPane,我們會發現驚人的差異。下面的程式例子十分的有趣,因為它利用了前面例子的設計。它們都是做為JPanel的衍生物來構建的,因此這個程式將安放前面的每個例子到它自己在JTabbedPane的窗格

判斷當前java程式是否正在運行

/*** 通過檔案鎖來判斷程式是否正在運行* @return 如果正在運行返回true,否則返回false*/private static boolean isRunning(){ boolean rv=false; try { // String os_name=System.getProperty("os.name"); //指定檔案鎖路徑 String path=null;

java的表格

和樹狀物一樣,表格在Swing相當的龐大和強大。它們最初有意被設計成以Java資料庫連結(JDBC,在15章有介紹)為媒介的“網格”資料庫介面,並且因此它們擁有的巨大的靈活性,使我們不再感到複雜。無疑,這是足以成為成熟的電子資料工作表的基礎條件而且可能為整本書提供很好的根據。但是,如果我們理解這個的基礎條件,它同樣可能建立相關的簡單的Jtable。JTable控制資料的顯示方式,但TableModel控制它自己的資料。因此在我們建立JTable前,應先建立一個TableM

java日期加減法

有些時候,我們想在當前的日期上加幾天、幾個月,或幾年,使用java.util.Date,卻總也找不到合適的方法,無奈之下,請一個高人幫忙,老劉給了一句話:使用Canlender。之後,我就使用Calender,一用,還真好用,就寫出來,和大家共同分享:我的需求我在作一個調查問卷,想設定問卷的有效天數:在發布之日後30天之內有效,怎麼實現呢?我的實現/** @author 張毅* 2005-12-14*/Calendar calendar =

java樹型結構

使用一個JTree可以簡單地像下面這樣表示:add(new JTree(new Object[] {"this", "that",

java的滑杆和進度指示條

滑杆使用者能用一個滑塊的來回移動來輸入資料,在很多情況下顯得很直觀(如聲音控制)。進程條從“空”到“滿”顯示相關資料的狀態,因此使用者得到了一個狀態的透視。我最喜愛的有關這的程式例子簡單地將滑動塊同進程條掛接起來,所以當我們移動滑動塊時,進程條也相應的改變: //: Progress.java// Using progress bars and sliderspackage c13.swing;import

總頁數: 4058 1 .... 2779 2780 2781 2782 2783 .... 4058 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.