Time of Update: 2015-08-20
標籤:看了一堆文章,終於把JAVA CAS的原理深入分析清楚了。感謝GOOGLE強大的搜尋,藉此挖苦下百度,依靠百度什麼都學習不到! 參考文檔:http://www.blogjava.net/xylz/archive/2010/07/04/325206.htmlhttp://blog.hesey.net/2011/09/resolve-aba-by-atomicstampedreference.htmlhttp://www.searchsoa.com.cn/showcontent_69
Time of Update: 2015-08-20
標籤:最近每天上班下班有點時間看下 Effective Java。我一般看看原文,在看看範例程式碼,再想想原文的意思。我英文也不是很好,所以決定中文英文隨便用. Creating and destroying objectsItem 1: Consider static factory methods instead of constructors Advantage of static factory methods1.Unlike
Time of Update: 2015-08-20
標籤:an-error-h昨天晚上下班eclipse都還好好的,今天早上一上班,eclipse老是彈窗顯示An error has occurred. See error log for more details. java.lang.NullPointerException 的錯誤提示。在網上一搜,說各種情況的都有,但是我看錯誤提示應該是日誌有什麼問題。我就把apache-tomcat-8.0.23的logs目錄下檔案全都刪除,問題解決。
Time of Update: 2015-08-20
標籤:單例模式是23種設計模式中的一種,關於它的介紹,已經數不勝數了,一般網上的實現方式無非是什麼懶漢式,餓漢式,內部類,枚舉,volatile加雙重校正鎖等等,今天我又想到一個新的實現方式,利用J.U.C提供的原子類,代碼如下:class SingleTon { private static AtomicReference<SingleTon> reference = new AtomicReference<>(); private SingleTon()
Time of Update: 2015-08-20
標籤:java dateimport java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Test22 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubSimpleDateFormat time = new
Time of Update: 2015-08-20
標籤:為了找到一份好的java工作,網上找來一份java面試題,對自己掌握的知識進行查缺補漏 2015-8-20 begin 1.編寫程式,完成檔案複製功能
Time of Update: 2015-08-20
標籤:Java 中的參考型別?除了8大基礎資料型別 (Elementary Data
Time of Update: 2015-08-20
標籤:二叉排序樹 java leetcode 題目:Given n, how many structurally unique BST‘s (binary search trees) that store values 1...n?For example,Given n = 3, there are a total of 5 unique
Time of Update: 2015-08-20
標籤:hashmap java leetcode valid anagram 題目:Given two strings s and t, write a function to determine if t is an anagram of s.For example,s =
Time of Update: 2015-08-20
標籤:javap是JDK內建的反組譯碼器,可以查看java編譯器為我們產生的位元組碼。通過它,我們可以對照原始碼和位元組碼,從而瞭解很多編譯器內部的工作,有助與我們更加理解java特性。 javap(反組譯碼命令)詳解 使用javap反編譯Java位元組碼檔案 Eclipse整合javap查看位元組碼 在eclipse中使用javap Bytecode Outline plugin 外掛程式查看位元組碼
Time of Update: 2015-08-20
標籤:java 線程 測試 《Java編程思想》中的測試架構整理: 1、首先定義個一介面,僅用此介面表示在代碼中提供有意義的名字,表示狀態。package com.jereh;public interface InvariantState {}2、定義兩種狀態類,表示成功或者失敗,失敗類對象包括一個對象,該對象表示有關失敗的原因資訊,這樣一般是為了把這種資訊顯示出來。package
Time of Update: 2015-08-20
標籤:InputStream 資料流類 一般來說,就是將字串、管道資料(socket通倒)、檔案、位元組等轉換為輸入資料流,以流的方式去讀取; 但是inputstream的讀取速率較低,為了提高讀取速率,一般將InputStream 交給 BufferedReader,然後調用BufferedReader的讀取方法;BufferedReader
Time of Update: 2015-08-20
標籤:多線程間共用資料問題一、Synchronizedkeyword atomic一詞與“原子”無關,它以前被覺得是物質的最小的單元,不能再被拆解成更小的部分。 當一個方法被聲明成synchronized,要執行此方法的thread必須先取得一個token,我們將它稱為鎖。一旦該方法取得(或者說是獲得)鎖,它將執行此方法然後釋放掉(或者返回)此鎖。無論方法時如何返回的(包含通過異常)該鎖會被釋放。
Time of Update: 2015-08-20
標籤:首發:個人部落格,持續更新和錯誤修正主要使用技術:1)FFmpeg,用於主流格式之間的轉換,例如AVI,MP4,FLV等。2)MEncoder,用於奇葩格式轉主流格式,例如RMVB轉AVI。這樣我們可以把奇葩格式先轉AVI,再由FFmpeg把AVI轉成想要的格式。3)java的執行命令列操作的技術,這樣安裝在伺服器上的↑這兩個轉換器就可以被java調用了。包括ProcessBuilder和Runtime這兩種調法。可以參考這篇。FFmpeg的官網在這裡,其文檔在這裡。MEncoder的官網
Time of Update: 2015-08-20
標籤:在Java中有兩類線程:使用者線程 (User Thread)、守護線程 (Daemon Thread)。所謂守護 線程,是指在程式啟動並執行時候在後台提供一種泛型服務的線程,比如記憶體回收線程就是一個很稱職的守護者,並且這種線程並不屬於程式中不可或缺的部分。因
Time of Update: 2015-08-20
標籤:import java.io.ByteArrayOutputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.URL;import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import
Time of Update: 2015-08-20
標籤:java graphics2d
Time of Update: 2015-08-20
標籤:java 堆 棧 常量池 概念 程式運行時,我們最好對資料儲存到什麼地方做到心中有數。特別要注意的是記憶體的分配。有六個地方都可以儲存資料:(1)
Time of Update: 2015-08-20
標籤:一、抽象類別 用abstract關鍵字修飾的類叫抽象類別;用abstract修飾的方法叫抽象方法。 抽象方法必須為public或protected的,預設為public。 含有抽象方法的類必須被聲明為抽象類別,抽象類別必須被繼承,抽象方法必須被重寫 抽象類別不能被執行個體化 抽象方法只需聲明,而不需實現 二、介面 定義: 介面(interface)是抽象方法和常量值定義的集合。 從本質上講,介面是一種特殊的抽象類別,這種抽象類別中只包含常量和方法的定義,而沒有變數
Time of Update: 2015-08-20
標籤:1、在java裡函數拋出異常是需要在函數上定義的,除了runtimeException外 2、java中finally啟動並執行位置在函數return前,其他的代碼後。函數會運算完所有執行的代碼,包括return裡面的運算式,只是在return操作前去執行finally裡面的代碼。執行個體如下面的代碼:public class Test{ public int add(int a,int b){ try { return a+