Java: ThreadLocal用法

顧名思義,ThreadLocal是為了支援thread-local的變數,它有這樣的特點:對於同一個線程來說,ThreadLocal是全域的,你可以在這個線程的任何地方得到這個ThreadLocal的值。比如在函數A中設定ThreadLocal的值,然後在函數B中得到這個值。對於別的線程來說,ThreadLocal是局部的,你不能這樣做:線上程A中設定ThreadLocal的值,然後線上程B中得到這個值。ThreadLocal類只有三個成員函數:protected Object

Java定時任務ScheduledThreadPoolExecutor

以前定時任務一直用Timer這個類,後來發現ScheduledThreadPoolExecutor功能更強大,我們先看個簡單的樣本,然後再看看API中的描述:這個定時任務是我的項目中,每隔5分鐘去檢查裝置的線上狀態的。public class CheckDeviceStateExcuter {private static final Log log = LogFactory.getLog(CheckDeviceStateExcuter.class);private static final

Java安全執行緒兼談DCL

我之前寫過一篇談DCL的文章,最近又收到一個問題,本想直接回複,但我又不想再看原來寫的文章,那些順序分析其實很繞。這次我不會直接分析順序,而是從基礎概念講起,希望大家能看得輕鬆一些。如果你搜尋網上分析dcl為什麼在java中失效的原因,都會談到編譯器會做最佳化云云,我相信大家看到這個一定會覺得很沮喪、很無助,對自己寫的程式很沒信心。我很理解這種感受,因為我也經曆過,這或許是為什麼網上一直有人喜歡談dcl的原因。如果放在java5之前,從編譯器的角度去解釋dcl也無可厚非,在java5的JMM(記

一段神奇的Java代碼

下面的代碼輸出什嗎?public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } private static java.lang.reflect.Field valueField; static { try { valueField =

Ubuntu Linux 離線安裝Java,卸載Java

系統:Ubuntu 10.04JDK:jdk-6u20-linux-i586.bin一.安裝JDK1.安裝JDKsudo chmod u+x jdk-6u16-linux-i586.bin sudo cp -a jdk-6u20-linux-i586.bin /opt sudo /opt/jdk-6u20-linux-i586.bin sudo rm -f /opt/jdk-6u20-linux-i586.bin 2.設定JDK環境變數 sudo gedit

前序,中序,後序遍曆Java實現(遞迴演算法)

一道HP的面試題,拿來複習下遞迴:import java.util.Stack;/** * @author gl65293 * */public class TreeTest { public static void main(String[] args) { Noder root = Noder.init(); System.out.println("DLR:"); Noder.preOrder(root);

Java 帶滑鼠截屏

上一篇博文簡要說明了Robot類的截屏API。但是沒有現成的API來產生帶滑鼠的截屏。下面給個帶滑鼠截屏的執行個體。原理就是截屏後擷取到滑鼠的位置,用java.awt.Graphics2D的.drawImage方法繪製滑鼠即可,代碼如下:public class ScreenSnapshot { public static void main(String[] args) { try { Robot robot = new Robot()

利用Java反射擷取類的私人變數值

從設計的原則來說,類的成員變數如果設計成private,那麼我們就不能在類外部去擷取到此private變數的值。通常的做法是提供此private變數的get 和set方法。但是如果這個類沒有提供get和set方法,我們如何去擷取到這個類的private成員變數呢?比如有這麼一個類 Person:class Person{private String name =

對Java複製方法的研究(三)

沒有辦法阻止對引用的改動。  什麼是"clone"?   在實際編程過程中,我們常常要遇到這種情況:有一個對象A,在某一時刻A中已經包含了一些有效值,此時可能會需要一個和A完全相同新對象B,並且此後對B任何改動都不會影響到A中的值,也就是說,A與B是兩個獨立的對象,但B的初始值是由A對象確定的。在Java語言中,用簡單的指派陳述式是不能滿足這種需求的。要滿足這種需求雖然有很多途徑,但實現clone()方法是其中最簡單,也是最高效的手段。

對Java複製方法的研究(完結篇)

怎麼進行深度clone?   把上面的例子改成深度clone很簡單,需要兩個改變:一是讓UnCloneA類也實現和CloneB類一樣的clone功能(實現Cloneable介面,重載clone()方法)。二是在CloneB的clone()方法中加入一句o.unCA = (UnCloneA)unCA.clone();   程式如下: package clone.ext; class UnCloneA implements Cloneable{  private int i;  public

變態級JAVA程式員面試32問(附答案)

第一,談談final, finally, finalize的區別。final—修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變數或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變數必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載finally—再異常處理時提供 finally

【收藏】Java開發人員必去的技術網站

【收藏】Java開發人員必去的技術網站英文網站 http://www.javaalmanac.com - Java開發人員年鑒一書的線上版本. 要想快速查到某種Java技巧的用法及範例程式碼, 這是一個不錯的去處. http://www.onjava.com - O'Reilly的Java網站. 每周都有新文章. http://java.sun.com - 官方的Java開發人員網站 - 每周都有新文章發表. http://www.developer.com/java -

北京一家JAVA開發公司面試題(留給後人)

1、jsp有哪些內建對象?作用分別是什嗎?2、描述一下servlet的生命週期和基本架構。3、多線程有幾種實現方法,都是什嗎?   同步有幾種實現方法,都是什嗎?4、範圍public private protected以及不寫時的區別?5、用JAVA實現資料庫查詢(寫一段完整的程式)。6、用Regex判斷123456_78不是一個數字。7、排序都有哪幾種方法?請列舉。用JAVA實現一個快速排序。---------------------------------------------------

java讀寫windows註冊表

package CenTo;/*** 本程式將在HKEY_CURRENT_USER/Software/JavaSoft/Prefs設定目錄設定相應的操作。* 本程式實現對註冊表:* 增加目錄、增加鍵及相應的值、刪除、儲存為XML檔案*/import java.io.*;import java.util.prefs.*;public class Prefs {public static void main(String args[]) {String denominations[] = {"One

java日期操作執行個體

import java.util.*;import java.util.*;import java.text.*;public class Default { public static void main(String[] args)  { Locale aLocale = Locale.JAPAN; Locale.setDefault(aLocale); System.out.println("Locale: " + aLocale); System.out.println("ISO 2 l

Java 實現輸入鍵盤上任意鍵顯示出相對應的ASCII

//主程式類public class KeyPress extends JFrame { public static void main(String[] args) {  KeyFrame frame = new KeyFrame();  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  frame.setVisible(true); }} //面板設定類class KeyFrame extends JFrame { public

java.lang.UnsatisfiedLinkError : no Java in java.library.path 問題

今天在做項目的時候,遇到了一個問題,在bin目錄下的tomcat下啟動正常,但是在Eclipse目錄下啟動就報錯了,而且還報了一個奇怪的異常java.lang.UnsatisfiedLinkError : no HASPJava in java.library.path後來在網上查了下,需要去下載一個tcnative-1.dll檔案,但是放到windows/system32目錄下,結果還是不行後來看了path路徑 

Java中存取權限-類和介面

(1)類和介面的存取權限種類一樣,有兩中public,default,它們的不同在於是否能訪問不同包中的類或介面    default:只能在本包中訪問    public:任何地方都可以訪問,當然不同的包中,首先要import,匯入類。(2)類中成員或方法的存取權限,有四種:public,protected,default,private範圍         當前類          同一package           子孫類                其他packagepublic 

Java IO 流學習

一、IO流的三種分類方式    1.按流的方向分為:輸入資料流和輸出資料流    2.按流的資料單位不同分為:位元組流和字元流    3.按流的功能不同分為:節點流和處理流二、IO流的四大抽象類別:    字元流:Reader Writer    位元組流:InputStream(讀資料)    OutputStream(寫資料)三、InputStream的基本方法    int read() throws IOException 讀取一個位元組以整數形式返回,如果返回-1已到輸入資料流的末尾 

Java物件導向

本文摘自:Java基礎總結物件導向的設計思想:考慮的是1.       問題域有哪些對象和類2.       類和對象應該具有哪些方法和屬性3.       對象跟對象,類跟類之間的關係 對象和類的概念 對象:用電腦語言對問題域中事物的描述,對象通過attribute(靜態)和method(動態)來區分事物 類:用來描述同一類形的對象的一個抽象概念。類定義了這一類對象所因具有的靜態和動態屬性 類可以看成對象的一個模板(template),對象可以看成一個類的具體執行個體。 類(對象)之間的關係 

總頁數: 4058 1 .... 469 470 471 472 473 .... 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.