原创 Heritrix的架構

[b]10.2 Heritrix的架構[/b]在上一節中,詳細介紹了Heritrix的使用入門。讀者通過上一節的介紹,應該已經能夠使用Heritri

原创 java core--java 核心技術學習筆記----java.util.Arrays

package com.zfsoft.monday; import java.util.Arrays; public class Array { Arrays autil ; static int[] a = {3,5,2

原创 java synchronized詳解(轉自Gang.Wang)

記下來,很重要。 Java語言的關鍵字,當它用來修飾一個方法或者一個代碼塊的時候,能夠保證在同一時刻最多隻有一個線程執行該段代碼。      一、當兩個併發線程訪問同一個對象object中的這個synchronized(this)同步代

原创 我的 effective java -- 6.消除過期的對象引用

 6.消除過期的對象引用   例子: public class Stack { private Object[] elements; private int size = 0; private static final i

原创 OSGI筆記----1.基礎概念

    1 Bundle 是OSGI中的模塊,其生命週期是被OSGI框架所管理。形式上講是一個jar包。META-INF目錄下的 MANIFEST.MF文件中是對Bundle的特定描述。 Budle 的狀態:INSTALLED、RESOL

原创 我的 effective java -- 7.避免使用中介方法 finalizer

7.避免使用終結方法 finalizer 終結方法(finalizer)通常是不可預測的,也是很危險的,一般情況下是不必要的。使用終結方法會導致行爲不穩定,降低性能,以及可移植性問題。   正確終結方法: 提供顯性終止方法,try-f

原创 關於java 的常量池

  常量:在編譯初期就確定的既爲常量      java中的常量池技術,是爲了方便快捷地創建某些對象而出現的,當需要一個對象時,就可以從池中取一個出來(如果池中沒有則創建一個),則在需要重複創建相等變量時節省了很多時間。常量池其實也

原创 我的 effective java -- 構建器

    public class TestConstruct { private final int serviceSize; private final int servings; private final int cal;

原创 我的 effective java -- 5.避免創建不必要的對象.

5 避免創建不必要的對象         一般來說,最好能重用對象而不是在每次需要的時候就創建一個相同功能的新對象。重用的方式即快速,又流程。如果對象是不可變的,他就始終可以被重用。     對於只需要實例化一次的對象,可以使用靜態初始化

原创 我的 effective java -- 4.通過私有構造器強化不可實例化的能力

4.通過私有化構造器強化不可實例化的能力   當編寫的工具類只包換靜態方法和靜態域,並且不希望被實例化,因爲實例對它沒有任何意義。可以通過構造私有化構造器來避免類被實例化。   注: 1 企圖將類做成抽象類來強制該類不可被實例化,這

原创 [轉]java中byte轉換int時爲何與0xff進行與運算

在剖析該問題前請看如下代碼public static String bytes2HexString(byte[] b) {  String ret = "";  for (int i = 0; i < b.length; i++)

原创 (轉)思考、學習新技術的原則和方式

先看下面這樣的困惑: 最近了解了幾個MVC的框架,其中有兩個是公司內部的。發現這些東西都是類似的,從處理邏輯到頁面渲染;從service到layout;配置的實現無非就是XML,或者annotation……我有種感覺,興許已經跳不出這

原创 遞歸------單詞變位

public class AnagarmApp { static int size; static int count; static char[] arrChar = new char[100]; public stat

原创 高級排序--希爾排序

希爾排序:   實際上是基於插入排序的,在插入排序中相比較的是相鄰的兩個元素,但是如果一個很小的數在數組的最右端,而他本應該是在最左端的,這樣的話所有中間的元素都要向右移動一位,並且執行了N次。希爾排序就是首先對大跨度的元素做比較並且進行

原创 遞歸------消除遞歸(遞歸原理解析)

遞歸原理:大部分編譯器都是使用棧來實現遞歸的,當調用一個方法的時候編譯器會將參數和返回地址壓入棧中,然後把控制轉移給這個方法,當方法返回時,這些值退棧,參數小時。   下面是模擬的遞歸的過程: package digui; public