<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    推薦淘寶秋冬男裝熱賣網(wǎng)店

    追求無(wú)止境

    我的程序人生
    隨筆 - 31, 文章 - 2, 評(píng)論 - 20, 引用 - 0
    數(shù)據(jù)加載中……

    Java DOC學(xué)習(xí)筆記

    1、Interface Comparable<T>

    只有實(shí)現(xiàn)該接口的對(duì)象的列表或數(shù)組才能調(diào)用Collections.sort()方法。

    在實(shí)現(xiàn) int compareTo(T o)時(shí),需要注意:

    1、如果兩個(gè)對(duì)象相等,返回為0;

    2、如果同一個(gè)null對(duì)象進(jìn)行比較,應(yīng)拋出NullPointerException。

    3、實(shí)現(xiàn)必須保證sgn(x.compareTo(y)) == -sgn(y.compareTo(x))、(x.compareTo(y)==0) == (x.equals(y)) 、(x.compareTo(y)>0 && y.compareTo(z)>0) impliesx.compareTo(z)>0 。如果 x.compareTo(y)拋出異常,y.compareTo(x)也必須拋出異常。

    2、Interface Iterable<T>

    Iterator<T> iterator()

    對(duì)于鏈表等對(duì)象應(yīng)實(shí)現(xiàn)該接口來(lái)允許一個(gè)對(duì)象可以使用foreach語(yǔ)句。

    上面的方法返回java.util.Interface Iterator<E>,該接口的主要方法有:

    hasNext();next();remove();

    3、Interface Readable

    java.lang.Interface Readable

          一個(gè)Readable 是一個(gè)字符串的來(lái)源。實(shí)現(xiàn)這個(gè)接口需要實(shí)現(xiàn)的方法是:

    int read(CharBuffer cb)

    4、java.lang  Interface Runnable

    不用說(shuō),這個(gè)誰(shuí)都知道。如果想在一個(gè)單獨(dú)的線程中執(zhí)行,就需要實(shí)現(xiàn)這個(gè)接口。

    5、java.lang Interface Thread.UncaughtExceptionHandler

           從名字就可以判斷出來(lái),當(dāng)線程拋出未捕獲的異常時(shí),實(shí)現(xiàn)這個(gè)接口的類的對(duì)象可以對(duì)一場(chǎng)進(jìn)行處理。

          官方文檔:當(dāng)線程被一個(gè)未捕獲的異常打斷時(shí),這個(gè)接口被調(diào)用。

          當(dāng)線程要被為捕獲異常打斷是,JVM使用Thread.getUncaughtExceptionHandler(),查詢異常處理器,如果線程沒有這個(gè)接口的設(shè)置,則查詢?cè)摼€程的ThreadGroup的UncaughtExceptionHandler,如果縣城沒有處理異常,他就會(huì)拋出這個(gè)異常。

    void uncaughtException(Thread t, Throwable e)
              Method invoked when the given thread terminates due to the given uncaught exception.

    6、包裝型對(duì)象:Boolean Byte Character Double Float Long Short Integer

        這些類就不用了說(shuō)了,主要會(huì)使用里面的靜態(tài)方法和一些常量就可以了。

    7、Class Character.Subset

       這個(gè)類的實(shí)例代表了Unicode字符集的特殊的子集。定義在Character中的唯一子集族類是UnicodeBlock.其他的Java API或許因?yàn)樽约旱挠脩舳x了其他的子集。

    static Character.UnicodeBlock
    AEGEAN_NUMBERS
              Constant for the "Aegean Numbers" Unicode character block.

    static Character.UnicodeBlock
    ALPHABETIC_PRESENTATION_FORMS
              Constant for the "Alphabetic Presentation Forms" Unicode character block.

    static Character.UnicodeBlock
    ARABIC
              Constant for the "Arabic" Unicode character block.

    static Character.UnicodeBlock
    ARABIC_PRESENTATION_FORMS_A
              Constant for the "Arabic Presentation Forms-A" Unicode character block.

    static Character.UnicodeBlock
    ARABIC_PRESENTATION_FORMS_B
              Constant for the "Arabic Presentation Forms-B" Unicode character block.

    static Character.UnicodeBlock
    ARMENIAN
              Constant for the "Armenian" Unicode character block.

    static Character.UnicodeBlock
    ARROWS
              Constant for the "Arrows" Unicode character block.

    static Character.UnicodeBlock
    BASIC_LATIN
              Constant for the "Basic Latin" Unicode character block.

    static Character.UnicodeBlock
    BENGALI
              Constant for the "Bengali" Unicode character block.

    static Character.UnicodeBlock
    BLOCK_ELEMENTS
              Constant for the "Block Elements" Unicode character block.

    static Character.UnicodeBlock
    BOPOMOFO
              Constant for the "Bopomofo" Unicode character block.

    static Character.UnicodeBlock
    BOPOMOFO_EXTENDED
              Constant for the "Bopomofo Extended" Unicode character block.

    static Character.UnicodeBlock
    BOX_DRAWING
              Constant for the "Box Drawing" Unicode character block.

    …………

    具體參見java.lang
    Class Character.UnicodeBlock里面的定義。

    8 、java.langClass Class<T>

    這個(gè)類的實(shí)力代表了Java運(yùn)行程序中的類和接口。Enum是類,而Annotation是一個(gè)接口。Every array also belongs to a class that is reflected as a Class object that is shared by all arrays with the same element type and number of dimensions.

    Class的對(duì)象在程序中可以獲取類的詳細(xì)信息。

    9、Java.lang.Class ClassLoader

    ClassLoader是個(gè)不錯(cuò)的東西,下面是官方文檔的簡(jiǎn)單翻譯和注解:

    1、ClassLoader用于加載類對(duì)象。ClassLoader是一個(gè)抽象類。給出類的二進(jìn)制名字(如“

      "java.lang.String"
       "javax.swing.JSpinner$DefaultEditor"
       "java.security.KeyStore$Builder$FileBuilder$1"
       "java.net.URLClassLoader$3$1"

    ”),ClassLoader會(huì)使用定位和生成類。一個(gè)典型的策略就是將二進(jìn)制名字轉(zhuǎn)化為文件名,然后從文件系統(tǒng)中讀取這個(gè)類文件。

    每一個(gè)Class對(duì)象都包含了一個(gè)創(chuàng)建它的引用。

    數(shù)組的Class對(duì)象不能由ClassLoader創(chuàng)建,但是可以由Java運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建。一個(gè)數(shù)組類的ClassLoader,和他的元素的ClassLoader是一樣的;如果元素是基本類型,則數(shù)組類沒有ClassLoader。

    應(yīng)用程序可以實(shí)現(xiàn)ClassLoader的子類,來(lái)擴(kuò)展行為。這樣可以在JVM動(dòng)態(tài)的創(chuàng)建類。

    ClassLoader主要由安全管理器來(lái)使用,用于保證安全區(qū)域。

    ClassLoader 使用一個(gè)delegation(委托)模型來(lái)搜索類和資源。每一個(gè)ClassLoader有一個(gè)相關(guān)的父類ClassLoader。當(dāng)請(qǐng)求來(lái)查找一個(gè)資源或者類的時(shí)候,ClassLoader 實(shí)例會(huì)委托搜索類和資源。

    內(nèi)建的ClassLoader,叫做bootstrap class loader,沒有父類。

    正常的,ClassLoader從本地文件系統(tǒng)中加載數(shù)據(jù)。通過CLassPath。

    當(dāng)然,也可以通過NetWork從服務(wù)器上下載字節(jié)碼。來(lái)加載類:

    ClassLoader loader = new NetworkClassLoader(host, port);
    Object main = loader.loadClass("Main", true).newInstance();
    Network ClassLoader 子類必須定義方法FindClass 和loadClassData來(lái)加載來(lái)自互聯(lián)網(wǎng)上的類。一旦或得到字節(jié)碼,它使用defineClass方法來(lái)創(chuàng)建類實(shí)例。
    class NetworkClassLoader extends ClassLoader {
             String host;
             int port;
    
             public Class findClass(String name) {
                 byte[] b = loadClassData(name);
                 return defineClass(name, b, 0, b.length);
             }
    
             private byte[] loadClassData(String name) {
                 // load the class data from the connection  . . .
             }
         }

    個(gè)人理解:

    ClassLoader是一個(gè)類加載器,除了可以從ClassPath加載類之外,還可以從ClassPath中加載資源:

    InputStream
    getResourceAsStream(String name)
              Returns an input stream for reading the specified resource.

    Enumeration<URL>
    getResources(String name)
              Finds all the resources with the given name.

    static URL
    getSystemResource(String name)
              Find a resource of the specified name from the search path used to load classes.

    static InputStream
    getSystemResourceAsStream(String name)
              Open for reading, a resource of the specified name from the search path used to load classes.

    static Enumeration<URL>
    getSystemResources(String name)
              Finds all resources of the specified name from the search path used to load classes.

    protected  Class<?>
    findClass(String name)
              Finds the class with the specified binary name.

    10、Compiler類3

    編譯類是提供給支持Java到本地代碼編譯器和相關(guān)服務(wù)。根據(jù)設(shè)計(jì),編譯器類什么都不做;它作為一個(gè)占位符來(lái)為運(yùn)行時(shí)編譯執(zhí)行的技術(shù)。

    當(dāng)JVM第一次啟動(dòng)時(shí),他判斷java.compiler是否存在。如果存在,他3

    posted @ 2009-11-16 13:11 追求無(wú)止境 閱讀(149) | 評(píng)論 (0)編輯 收藏

    CSS學(xué)習(xí)筆記


    1、background相關(guān):

    屬性
    描述

    background
    簡(jiǎn)寫屬性,作用是將背景屬性設(shè)置在一個(gè)聲明中。

    background-attachment
    背景圖像是否固定或者隨著頁(yè)面的其余部分滾動(dòng)。

    background-color
    設(shè)置元素的背景顏色。

    background-image
    把圖像設(shè)置為背景。

    background-position
    設(shè)置背景圖像的起始位置。

    background-repeat
    設(shè)置背景圖像是否及如何重復(fù)。

    (1)background

    background-color:


    描述

    color_name
    規(guī)定顏色值為顏色名稱的背景顏色(比如 red)。

    hex_number
    規(guī)定顏色值為十六進(jìn)制值的背景顏色(比如 #ff0000)。

    rgb_number
    規(guī)定顏色值為 rgb 代碼的背景顏色(比如 rgb(255,0,0))。

    transparent
    默認(rèn)。背景顏色為透明。

    inherit
    規(guī)定應(yīng)該從父元素繼承 background-color 屬性的設(shè)置。

    background-image :


    描述

    url('URL')
    指向圖像的路徑。

    none
    默認(rèn)值。不顯示背景圖像。

    inherit
    規(guī)定應(yīng)該從父元素繼承 background-image 屬性的設(shè)置。

    background-repeat :

    repeat

    默認(rèn)。背景圖像將在垂直方向和水平方向重復(fù)。

    repeat-x

    背景圖像將在水平方向重復(fù)。

    repeat-y

    背景圖像將在垂直方向重復(fù)。

    no-repeat

    背景圖像將僅顯示一次。

    background-position :center top buttom right left XX% XX%


    描述

    • top left
    • top center
    • top right
    • center left
    • center center
    • center right
    • bottom left
    • bottom center
    • bottom right

    如果您僅規(guī)定了一個(gè)關(guān)鍵詞,那么第二個(gè)值將是"center"。

    默認(rèn)值:0% 0%。

    x% y%

    第一個(gè)值是水平位置,第二個(gè)值是垂直位置。

    左上角是 0% 0%。右下角是 100% 100%。

    如果您僅規(guī)定了一個(gè)值,另一個(gè)值將是 50%。

    xpos ypos

    第一個(gè)值是水平位置,第二個(gè)值是垂直位置。

    左上角是 0 0。單位是像素 (0px 0px) 或任何其他的 CSS 單位。

    如果您僅規(guī)定了一個(gè)值,另一個(gè)值將是50%。

    您可以混合使用 % 和 position 值。

    background-attachment: fixed

     


    2、文本相關(guān)

    text-indent :縮進(jìn)元素中的首行文本。


    描述

    length
    定義固定的縮進(jìn)。默認(rèn)值:0。

    %
    定義基于父元素寬度的百分比的縮進(jìn)。

    text-align: 文本對(duì)應(yīng)方式

    您可能會(huì)認(rèn)為 text-align:center 與 <CENTER> 元素的作用一樣,但實(shí)際上二者大不相同。

    <CENTER> 不僅影響文本,還會(huì)把整個(gè)元素居中。text-align 不會(huì)控制元素的對(duì)齊,而只影響內(nèi)部?jī)?nèi)容。元素本身不會(huì)從一段移到另一端,只是其中的文本受影響。


    描述

    left
    把文本排列到左邊。默認(rèn)值:由瀏覽器決定。

    right
    把文本排列到右邊。

    center
    把文本排列到中間。

    justify
    實(shí)現(xiàn)兩端對(duì)齊文本效果。

    word-spacing :以改變字(單詞)之間的標(biāo)準(zhǔn)間隔


    描述

    normal
    默認(rèn)。定義單詞間的標(biāo)準(zhǔn)空間。

    length
    定義單詞間的固定空間。

    letter-spacing:改變字母之間的距離


    描述

    normal
    默認(rèn)。定義字符間的標(biāo)準(zhǔn)空間。

    length
    定義字符間的固定空間。

    text-transform:處理文本的大小寫


    描述

    none
    默認(rèn)。定義帶有小寫字母和大寫字母的標(biāo)準(zhǔn)的文本。

    capitalize
    文本中的每個(gè)單詞以大寫字母開頭。

    uppercase
    定義僅有大寫字母。

    lowercase
    定義無(wú)大寫字母,僅有小寫字母。

    text-decoration


    描述

    none
    默認(rèn)。定義標(biāo)準(zhǔn)的文本。

    underline
    定義文本下的一條線。

    overline
    定義文本上的一條線。

    line-through
    定義穿過文本下的一條線。

    blink
    定義閃爍的文本(無(wú)法運(yùn)行在 IE 和 Opera 中)。

    white-space


    描述

    normal
    默認(rèn)??瞻讜?huì)被瀏覽器忽略。

    pre
    空白會(huì)被瀏覽器保留。其行為方式類似 HTML 中的 <pre> 標(biāo)簽。

    nowrap
    文本不會(huì)換行,文本會(huì)在在同一行上繼續(xù),直到遇到 <br> 標(biāo)簽為止。

    pre-wrap
    保留空白符序列,但是正常地進(jìn)行換行。

    pre-line
    合并空白符序列,但是保留換行符。

     

    空白 換行 自動(dòng)換行
    pre-line 合并 保留 允許
    normal 合并 忽略 允許
    nowrap 合并 忽略 不允許
    pre 保留 保留 不允許

    pre-wrap

    保留

    保留

    允許

    direction :文本的方向?qū)傩?/p>

    ltr
    默認(rèn)。文本方向從左到右。

    rtl
    文本方向從右到左。

    屬性
    描述

    color
    設(shè)置文本顏色

    direction
    設(shè)置文本方向。

    line-height
    設(shè)置行高。

    letter-spacing
    設(shè)置字符間距。

    text-align
    對(duì)齊元素中的文本。

    text-decoration
    向文本添加修飾。

    text-indent
    縮進(jìn)元素中文本的首行。

    text-shadow
    設(shè)置文本陰影。CSS2 包含該屬性,但是 CSS2.1 沒有保留該屬性。

    text-transform
    控制元素中的字母。

    unicode-bidi
    設(shè)置文本方向。

    white-space
    設(shè)置元素中空白的處理方式。

    word-spacing
    設(shè)置字間距。


    3、CSS字體相關(guān)

    font
    簡(jiǎn)寫屬性。作用是把所有針對(duì)字體的屬性設(shè)置在一個(gè)聲明中。

    font-family
    設(shè)置字體系列。

    font-size
    設(shè)置字體的尺寸。

    font-size-adjust
    當(dāng)首選字體不可用時(shí),對(duì)替換字體進(jìn)行智能縮放。(CSS2.1 已刪除該屬性。)

    font-stretch
    對(duì)字體進(jìn)行水平拉伸。(CSS2.1 已刪除該屬性。)

    font-style
    設(shè)置字體風(fēng)格。

    font-variant
    以小型大寫字體或者正常字體顯示文本。

    font-weight
    設(shè)置字體的粗細(xì)。


    CSS 列表屬性(list)

    屬性
    描述

    list-style
    簡(jiǎn)寫屬性。用于把所有用于列表的屬性設(shè)置于一個(gè)聲明中。

    list-style-image
    將圖象設(shè)置為列表項(xiàng)標(biāo)志。

      1. url
        圖像的路徑。
      2. none
        默認(rèn)。無(wú)圖形被顯示。

    list-style-position
    設(shè)置列表中列表項(xiàng)標(biāo)志的位置。

      1. inside
        列表項(xiàng)目標(biāo)記放置在文本以內(nèi),且環(huán)繞文本根據(jù)標(biāo)記對(duì)齊。
      2. outside
        默認(rèn)。保持標(biāo)記位于文本的左側(cè)。列表項(xiàng)目標(biāo)記放置在文本以外,且環(huán)繞文本不根據(jù)標(biāo)記對(duì)齊。

    list-style-type
    設(shè)置列表項(xiàng)標(biāo)志的類型。

      1. none
        無(wú)標(biāo)記。
      2. disc
        默認(rèn)。標(biāo)記是實(shí)心圓。
      3. circle
        標(biāo)記是空心圓。
      4. square
        標(biāo)記是實(shí)心方塊。
      5. decimal
        標(biāo)記是數(shù)字。
      6. decimal-leading-zero
        0開頭的數(shù)字標(biāo)記。(01, 02, 03, 等。)
      7. lower-roman
        小寫羅馬數(shù)字(i, ii, iii, iv, v, 等。)
      8. upper-roman
        大寫羅馬數(shù)字(I, II, III, IV, V, 等。)
      9. lower-alpha
        小寫英文字母The marker is lower-alpha (a, b, c, d, e, 等。)
      10. upper-alpha
        大寫英文字母The marker is upper-alpha (A, B, C, D, E, 等。)
      11. lower-greek
        小寫希臘字母(alpha, beta, gamma, 等。)
      12. lower-latin
        小寫拉丁字母(a, b, c, d, e, 等。)
      13. upper-latin
        大寫拉丁字母(A, B, C, D, E, 等。)
      14. hebrew
        傳統(tǒng)的希伯來(lái)編號(hào)方式
      15. armenian
        傳統(tǒng)的亞美尼亞編號(hào)方式
      16. georgian
        傳統(tǒng)的喬治亞編號(hào)方式(an, ban, gan, 等。)
      17. cjk-ideographic
        簡(jiǎn)單的表意數(shù)字
      18. hiragana
        標(biāo)記是:a, i, u, e, o, ka, ki, 等。(日文片假名)
      19. katakana
        標(biāo)記是:A, I, U, E, O, KA, KI, 等。(日文片假名)
      20. hiragana-iroha
        標(biāo)記是:i, ro, ha, ni, ho, he, to, 等。(日文片假名)
      21. katakana-iroha
        標(biāo)記是:I, RO, HA, NI, HO, HE, TO, 等。(日文片假名)

    marker-offset


    CSS Table 屬性

    CSS 表格屬性允許你設(shè)置表格的布局。(請(qǐng)注意,本節(jié)介紹的不是如何使用表來(lái)建立布局,而是要介紹 CSS 中表本身如何布局。)

    屬性
    描述

    border-collapse
    設(shè)置是否把表格邊框合并為單一的邊框。

    caption-side
    設(shè)置表格標(biāo)題的位置。

    table-layout
    設(shè)置顯示單元、行和列的算法。


    CSS 邊框?qū)傩?/h4>

    "CSS" 列中的數(shù)字指示哪個(gè) CSS 版本定義了該屬性。

    輪廓(outline)是繪制于元素周圍的一條線,位于邊框邊緣的外圍,可起到突出元素的作用。

    CSS outline 屬性規(guī)定元素輪廓的樣式、顏色和寬度。

    outline
    在一個(gè)聲明中設(shè)置所有的輪廓屬性。
    2

    outline-color
    設(shè)置輪廓的顏色。
    2

    outline-style
    設(shè)置輪廓的樣式。
    2

    outline-width
    設(shè)置輪廓的寬度。
    2


    CSS 框模型概述

     

    CSS 框模型 (Box Model) 規(guī)定了元素框處理元素內(nèi)容、內(nèi)邊距、邊框外邊距 的方式。

    ct_boxmodel

     

    • element : 元素。
    • padding : 內(nèi)邊距,也有資料將其翻譯為填充。
    • border : 邊框。
    • margin : 外邊距,也有資料將其翻譯為空白或空白邊。

    CSS 內(nèi)邊距屬性

    屬性
    描述

    padding
    簡(jiǎn)寫屬性。作用是在一個(gè)聲明中設(shè)置元素的所內(nèi)邊距屬性。

    padding-bottom
    設(shè)置元素的下內(nèi)邊距。

    padding-left
    設(shè)置元素的左內(nèi)邊距。

    padding-right
    設(shè)置元素的右內(nèi)邊距。

    padding-top
    設(shè)置元素的上內(nèi)邊距。


    CSS 邊框?qū)傩?/h4>

    屬性
    描述

    border
    簡(jiǎn)寫屬性,用于把針對(duì)四個(gè)邊的屬性設(shè)置在一個(gè)聲明。

    border-style
    用于設(shè)置元素所有邊框的樣式,或者單獨(dú)地為各邊設(shè)置邊框樣式。

    1. none
      定義無(wú)邊框。
    2. hidden
      與 "none" 相同。不過應(yīng)用于表時(shí)除外,對(duì)于表,hidden 用于解決邊框沖突。
    3. dotted
      定義點(diǎn)狀邊框。在大多數(shù)瀏覽器中呈現(xiàn)為實(shí)線。
    4. dashed
      定義虛線。在大多數(shù)瀏覽器中呈現(xiàn)為實(shí)線。
    5. solid
      定義實(shí)線。
    6. double
      定義雙線。雙線的寬度等于 border-width 的值。
    7. groove
      定義 3D 凹槽邊框。其效果取決于 border-color 的值。
    8. ridge
      定義 3D 壟狀邊框。其效果取決于 border-color 的值。
    9. inset
      定義 3D inset 邊框。其效果取決于 border-color 的值。
    10. outset
      定義 3D outset 邊框。其效果取決于 border-color 的值。

    border-width
    簡(jiǎn)寫屬性,用于為元素的所有邊框設(shè)置寬度,或者單獨(dú)地為各邊邊框設(shè)置寬度。

    1. thin
      定義細(xì)的邊框。
    2. medium
      默認(rèn)。定義中等的邊框。
    3. thick
      定義粗的邊框。
    4. length
      允許您自定義邊框的寬度。

    border-color
    簡(jiǎn)寫屬性,設(shè)置元素的所有邊框中可見部分的顏色,或?yàn)?4 個(gè)邊分別設(shè)置顏色。

     

    border-bottom
    簡(jiǎn)寫屬性,用于把下邊框的所有屬性設(shè)置到一個(gè)聲明中。

    border-bottom-color
    設(shè)置元素的下邊框的顏色。

    border-bottom-style
    設(shè)置元素的下邊框的樣式。

    border-bottom-width
    設(shè)置元素的下邊框的寬度。

    border-left
    簡(jiǎn)寫屬性,用于把左邊框的所有屬性設(shè)置到一個(gè)聲明中。

    border-left-color
    設(shè)置元素的左邊框的顏色。

    border-left-style
    設(shè)置元素的左邊框的樣式。

    border-left-width
    設(shè)置元素的左邊框的寬度。

    border-right
    簡(jiǎn)寫屬性,用于把右邊框的所有屬性設(shè)置到一個(gè)聲明中。

    border-right-color
    設(shè)置元素的右邊框的顏色。

    border-right-style
    設(shè)置元素的右邊框的樣式。

    border-right-width
    設(shè)置元素的右邊框的寬度。

    border-top
    簡(jiǎn)寫屬性,用于把上邊框的所有屬性設(shè)置到一個(gè)聲明中。

    border-top-color
    設(shè)置元素的上邊框的顏色。

    border-top-style
    設(shè)置元素的上邊框的樣式。

    border-top-width
    設(shè)置元素的上邊框的寬度。


    CSS 外邊距屬性

    屬性
    描述

    margin
    簡(jiǎn)寫屬性。在一個(gè)聲明中設(shè)置所有外邊距屬性。

    margin-bottom
    設(shè)置元素的下外邊距。

    margin-left
    設(shè)置元素的左外邊距。

    margin-right
    設(shè)置元素的右外邊距。

    margin-top
    設(shè)置元素的上外邊距。


    CSS 定位屬性

    CSS 定位屬性允許你對(duì)元素進(jìn)行定位。

    詳細(xì)參見http://www.w3school.com.cn/css/css_positioning.asp

    CSS 定位和浮動(dòng)

    CSS 為定位和浮動(dòng)提供了一些屬性,利用這些屬性,可以建立列式布局,將布局的一部分與另一部分重疊,還可以完成多年來(lái)通常需要使用多個(gè)表格才能完成的任務(wù)。

    定位的基本思想很簡(jiǎn)單,它允許你定義元素框相對(duì)于其正常位置應(yīng)該出現(xiàn)的位置,或者相對(duì)于父元素、另一個(gè)元素甚至瀏覽器窗口本身的位置。顯然,這個(gè)功能非常強(qiáng)大,也很讓人吃驚。要知道,用戶代理對(duì) CSS2 中定位的支持遠(yuǎn)勝于對(duì)其它方面的支持,對(duì)此不應(yīng)感到奇怪。

    另一方面,CSS1 中首次提出了浮動(dòng),它以 Netscape 在 Web 發(fā)展初期增加的一個(gè)功能為基礎(chǔ)。浮動(dòng)不完全是定位,不過,它當(dāng)然也不是正常流布局。我們會(huì)在后面的章節(jié)中明確浮動(dòng)的含義。

    一切皆為框

    div、h1 或 p 元素常常被稱為塊級(jí)元素。這意味著這些元素顯示為一塊內(nèi)容,即“塊框”。與之相反,span 和 strong 等元素稱為“行內(nèi)元素”,這是因?yàn)樗鼈兊膬?nèi)容顯示在行中,即“行內(nèi)框”。

    您可以使用 display 屬性改變生成的框的類型。這意味著,通過將 display 屬性設(shè)置為 block,可以讓行內(nèi)元素(比如 <a> 元素)表現(xiàn)得像塊級(jí)元素一樣。還可以通過把 display 設(shè)置為 none,讓生成的元素根本沒有框。這樣的話,該框及其所有內(nèi)容就不再顯示,不占用文檔中的空間。

    但是在一種情況下,即使沒有進(jìn)行顯式定義,也會(huì)創(chuàng)建塊級(jí)元素。這種情況發(fā)生在把一些文本添加到一個(gè)塊級(jí)元素(比如 div)的開頭。即使沒有把這些文本定義為段落,它也會(huì)被當(dāng)作段落對(duì)待:

    <div>
    some text
    <p>Some more text.</p>
    </div>
    

    在這種情況下,這個(gè)框稱為無(wú)名塊框,因?yàn)樗慌c專門定義的元素相關(guān)聯(lián)。

    塊級(jí)元素的文本行也會(huì)發(fā)生類似的情況。假設(shè)有一個(gè)包含三行文本的段落。每行文本形成一個(gè)無(wú)名框。無(wú)法直接對(duì)無(wú)名塊或行框應(yīng)用樣式,因?yàn)闆]有可以應(yīng)用樣式的地方(注意,行框和行內(nèi)框是兩個(gè)概念)。但是,這有助于理解在屏幕上看到的所有東西都形成某種框。

    CSS 定位機(jī)制

    CSS 有三種基本的定位機(jī)制:普通流、浮動(dòng)和絕對(duì)定位。

    除非專門指定,否則所有框都在普通流中定位。也就是說(shuō),普通流中的元素的位置由元素在 X(HTML) 中的位置決定。

    塊級(jí)框從上到下一個(gè)接一個(gè)地排列,框之間的垂直距離是由框的垂直外邊距計(jì)算出來(lái)。

    行內(nèi)框在一行中水平布置。可以使用水平內(nèi)邊距、邊框和外邊距調(diào)整它們的間距。但是,垂直內(nèi)邊距、邊框和外邊距不影響行內(nèi)框的高度。由一行形成的水平框稱為行框(Line Box),行框的高度總是足以容納它包含的所有行內(nèi)框。不過,設(shè)置行高可以增加這個(gè)框的高度。

    在下面的章節(jié),我們會(huì)為您詳細(xì)講解相對(duì)定位、絕對(duì)定位和浮動(dòng)。

    CSS position 屬性

    通過使用 position 屬性,我們可以選擇 4 中不同類型的定位,這會(huì)影響元素框生成的方式。

    position 屬性值的含義:

    static
    元素框正常生成。塊級(jí)元素生成一個(gè)矩形框,作為文檔流的一部分,行內(nèi)元素則會(huì)創(chuàng)建一個(gè)或多個(gè)行框,置于其父元素中。
    relative
    元素框偏移某個(gè)距離。元素仍保持其未定位前的形狀,它原本所占的空間仍保留。
    absolute
    元素框從文檔流完全刪除,并相對(duì)于其包含塊定位。包含塊可能是文檔中的另一個(gè)元素或者是初始包含塊。元素原先在正常文檔流中所占的空間會(huì)關(guān)閉,就好像元素原來(lái)不存在一樣。元素定位后生成一個(gè)塊級(jí)框,而不論原來(lái)它在正常流中生成何種類型的框。
    fixed
    元素框的表現(xiàn)類似于將 position 設(shè)置為 absolute,不過其包含塊是視窗本身。

    提示:相對(duì)定位實(shí)際上被看作普通流定位模型的一部分,因?yàn)樵氐奈恢孟鄬?duì)于它在普通流中的位置。

    屬性
    描述

    position
    把元素放置到一個(gè)靜態(tài)的、相對(duì)的、絕對(duì)的、或固定的位置中。

    1. static
      默認(rèn)。位置設(shè)置為 static 的元素,它始終會(huì)處于頁(yè)面流給予的位置(static 元素會(huì)忽略任何 top、bottom、left 或 right 聲明)。
    2. relative
      位置被設(shè)置為 relative 的元素,可將其移至相對(duì)于其正常位置的地方,因此 "left:20" 將向元素的 LEFT 位置添加 20 個(gè)像素。
    3. absolute
      位置設(shè)置為 absolute 的元素,可定位于相對(duì)于包含它的元素的指定坐標(biāo)。此元素的位置可通過 "left"、"top"、"right" 以及"bottom" 屬性來(lái)規(guī)定。
    4. fixed
      位置被設(shè)置為 fixed 的元素,可定位于相對(duì)于瀏覽器窗口的指定坐標(biāo)。此元素的位置可通過 "left"、"top"、"right" 以及"bottom" 屬性來(lái)規(guī)定。不論窗口滾動(dòng)與否,元素都會(huì)留在那個(gè)位置。工作于 IE7(strict 模式)。

    top
    定義了一個(gè)定位元素的上外邊距邊界與其包含塊上邊界之間的偏移。

    1. auto
      默認(rèn)。通過瀏覽器來(lái)計(jì)算頂部的位置。
    2. %
      設(shè)置元素的頂部到最近一個(gè)具有定位設(shè)置父元素的上邊緣的百分比位置。
    3. length
      使用 px、cm 等單位設(shè)置元素的頂部到最近一個(gè)具有定位設(shè)置上邊緣的頂部的位置??墒褂秘?fù)值。

    right
    定義了定位元素右外邊距邊界與其包含塊右邊界之間的偏移。

    bottom
    定義了定位元素下外邊距邊界與其包含塊下邊界之間的偏移。

    left
    定義了定位元素左外邊距邊界與其包含塊左邊界之間的偏移。

    overflow
    設(shè)置當(dāng)元素的內(nèi)容溢出其區(qū)域時(shí)發(fā)生的事情。

    1. visible
      默認(rèn)。內(nèi)容不會(huì)被修剪,會(huì)呈現(xiàn)在元素之外。
    2. hidden
      內(nèi)容會(huì)被修剪,但是瀏覽器不會(huì)顯示供查看內(nèi)容的滾動(dòng)條。
    3. scroll
      內(nèi)容會(huì)被修剪,但是瀏覽器會(huì)顯示滾動(dòng)條以便查看其余的內(nèi)容。
    4. auto
      如果內(nèi)容被修剪,則瀏覽器會(huì)顯示滾動(dòng)條以便查看其余的內(nèi)容。

    clip
    設(shè)置元素的形狀。元素被剪入這個(gè)形狀之中,然后顯示出來(lái)。

    1. shape
      設(shè)置元素的形狀。合法的形狀值是:rect (top, right, bottom, left)
    2. auto
      默認(rèn)。瀏覽器可設(shè)置元素的形狀。

    vertical-align
    設(shè)置元素的垂直對(duì)齊方式。

    1. baseline
      默認(rèn)。元素放置在父元素的基線上。
    2. sub
      垂直對(duì)齊文本的下標(biāo)。
    3. super
      垂直對(duì)齊文本的上標(biāo)
    4. top
      把元素的頂端與行中最高元素的頂端對(duì)齊
    5. text-top
      把元素的頂端與父元素字體的頂端對(duì)齊
    6. middle
      把此元素放置在父元素的中部。
    7. bottom
      把元素的頂端與行中最低的元素的頂端對(duì)齊。
    8. text-bottom
      把元素的底端與父元素字體的底端對(duì)齊。
    9. length
    10. %
      使用 "line-height" 屬性的百分比值來(lái)排列此元素。允許使用負(fù)值。

    z-index
    設(shè)置元素的堆疊順序。

    1. auto
      默認(rèn)。堆疊順序與父元素相等。
    2. number
      設(shè)置元素的堆疊順序。

     


    CSS 尺寸屬性

    CSS 尺寸屬性允許你控制元素的高度和寬度。同樣,還允許你增加行間距。

    屬性
    描述

    height
    設(shè)置元素的高度。

    line-height
    設(shè)置行高。

    max-height
    設(shè)置元素的最大高度。

    max-width
    設(shè)置元素的最大寬度。

    min-height
    設(shè)置元素的最小高度。

    min-width
    設(shè)置元素的最小寬度。

    width
    設(shè)置元素的寬度。


    CSS 分類屬性 (Classification)

    CSS 分類屬性允許你控制如何顯示元素,設(shè)置圖像顯示于另一元素中的何處,相對(duì)于其正常位置來(lái)定位元素,使用絕對(duì)值來(lái)定位元素,以及元素的可見度。

    屬性
    描述

    clear
    設(shè)置一個(gè)元素的側(cè)面是否允許其他的浮動(dòng)元素。

    cursor
    規(guī)定當(dāng)指向某元素之上時(shí)顯示的指針類型。

    display
    設(shè)置是否及如何顯示元素。

    float
    定義元素在哪個(gè)方向浮動(dòng)。

    position
    把元素放置到一個(gè)靜態(tài)的、相對(duì)的、絕對(duì)的、或固定的位置中。

    visibility
    設(shè)置元素是否可見或不可見。

     

    偽類

    瀏覽器支持IE Internet Explorer, F: Firefox, N: Netscape。

    W3C:“W3C” 列的數(shù)字顯示出偽類屬性由哪個(gè) CSS 標(biāo)準(zhǔn)定義(CSS1 還是 CSS2)。

    偽類
    作用
    IE
    F
    N
    W3C

    :active
    將樣式添加到被激活的元素
    4
    1
    8
    1

    :focus
    將樣式添加到被選中的元素
    -
    -
    -
    2

    :hover
    當(dāng)鼠標(biāo)懸浮在元素上方時(shí),向元素添加樣式
    4
    1
    7
    1

    :link
    將特殊的樣式添加到未被訪問過的鏈接
    3
    1
    4
    1

    :visited
    將特殊的樣式添加到被訪問過的鏈接
    3
    1
    4
    1

    :first-child
    將特殊的樣式添加到元素的第一個(gè)子元素
    1
    7
    2

    :lang
    允許創(chuàng)作者來(lái)定義指定的元素中使用的語(yǔ)言
    1
    8
    2

    偽元素
    作用
    IE
    F
    N
    W3C

    :first-letter
    將特殊的樣式添加到文本的首字母
    5
    1
    8
    1

    :first-line
    將特殊的樣式添加到文本的首行
    5
    1
    8
    1

    :before
    在某元素之前插入某些內(nèi)容
    1.5
    8
    2

    :after
    在某元素之后插入某些內(nèi)容
    1.5
    8
    2

     

    不同的媒介類型

    注釋:媒介類型名稱對(duì)大小寫不敏感。

    瀏覽器支持IE: Internet Explorer, F: Firefox, N: Netscape。

    W3C:“W3C” 列的數(shù)字顯示出屬性背景由哪個(gè) CSS 標(biāo)準(zhǔn)定義(CSS1 還是 CSS2)。

    媒介類型
    描述

    all
    用于所有的媒介設(shè)備。

    aural
    用于語(yǔ)音和音頻合成器。

    braille
    用于盲人用點(diǎn)字法觸覺回饋設(shè)備。

    embossed
    用于分頁(yè)的盲人用點(diǎn)字法打印機(jī)。

    handheld
    用于小的手持的設(shè)備。

    print
    用于打印機(jī)。

    projection
    用于方案展示,比如幻燈片。

    screen
    用于電腦顯示器。

    tty
    用于使用固定密度字母柵格的媒介,比如電傳打字機(jī)和終端。

    tv
    用于電視機(jī)類型的設(shè)備。

    posted @ 2009-11-16 13:08 追求無(wú)止境 閱讀(292) | 評(píng)論 (0)編輯 收藏

    JDBC高級(jí)特性

    1、可滾動(dòng)的結(jié)果集(Scrollable Result Sets)

    (1)創(chuàng)建可滾動(dòng)的結(jié)果集:

      Statement stmt = con.createStatement(
                           ResultSet.TYPE_SCROLL_INSENSITIVE, 
                           ResultSet.CONCUR_READ_ONLY);
    ResultSet.TYPE_FORWARD_ONLY:結(jié)果集是不能滾動(dòng)的;他的游標(biāo)只能向前移動(dòng);
    ResultSet.TYPE_SCROLL_INSENSITIVE:結(jié)果是可滾動(dòng)的;游標(biāo)可以向前也可以后退。也可以移動(dòng)到一個(gè)絕對(duì)位置。
    ResultSet.TYPE_SCROLL_SENSITIVE:結(jié)果是可滾動(dòng)的;游標(biāo)可以向前也可以后退。也可以移動(dòng)到一個(gè)絕對(duì)位置。
    ResultSet.CONCUR_READ_ONLY:結(jié)果集是只讀的。
    ResultSet.ResultSet.CONCUR_UPDATABLE:結(jié)果集是可以更新的。
    
      ResultSet srs = stmt.executeQuery("SELECT COF_NAME, 
                           PRICE FROM COFFEES");
    盡管我們可以在這里設(shè)置創(chuàng)建的是可滾動(dòng)結(jié)果集,但是如果廠商的JDBC實(shí)現(xiàn)不支持,我們獲取到的結(jié)果將不具有可滾動(dòng)屬性。
    可以使用ResultSet.getType()方法來(lái)獲取是否支持滾動(dòng):
     int type = rs.getType();
    

    The variable type will be one of the following:

    1003 to indicate ResultSet.TYPE_FORWARD_ONLY

    1004 to indicate ResultSet.TYPE_SCROLL_INSENSITIVE

    1005 to indicate ResultSet.TYPE_SCROLL_SENSITIVE

    TYPE_SCROLL_INSENSITIVE和TYPE_SCROLL_SENSITIVE的主要區(qū)別是在如果發(fā)生改變他們的敏感度。前一個(gè)將不會(huì)很敏感后一個(gè)則會(huì)。

    (2)移動(dòng)游標(biāo),使用以下方法可以移動(dòng)游標(biāo):

    rs.next();

    rs.previous();

    rs.absolute();

    rs.relative();

    rs.first();

    rs.last();

    rs.beforeFirst();

    rs.afterLast();

    使用rs.getRow()獲取游標(biāo)當(dāng)前行。

    rs.isAfterLast();
    rs.isBeforeFirst();
    rs.isLast();
    rs.isFirst();
    rs.hasNext();
    等等方法。
    2、更新結(jié)果集
    (1)創(chuàng)建可以更新的結(jié)果集
    Statement stmt = con.createStatement(
                   ResultSet.TYPE_SCROLL_SENSITIVE, 
                   ResultSet.CONCUR_UPDATABLE);
      ResultSet uprs = stmt.executeQuery(
                   "SELECT COF_NAME, 
                   PRICE FROM COFFEES");

    在JDBC 2.0中,我們可以向可以更新的結(jié)果集中插入行或刪除行,或者修改其中的行。

    下面的方法用于判斷結(jié)果集是否可以更新:

      int concurrency = uprs.getConcurrency();
    

    The variable concurrency will be one of the following:

    1007 to indicate ResultSet.CONCUR_READ_ONLY

    1008 to indicate ResultSet.CONCUR_UPDATABLE

    (2)更新結(jié)果集

    JDBC 1.0中可以這樣更新: 
     stmt.executeUpdate(
        "UPDATE COFFEES SET PRICE = 10.99 " +
        "WHERE COF_NAME = 'French_Roast_Decaf'");
    在JDBC2.0中。則可以:
     uprs.last();
      uprs.updateFloat("PRICE", 10.99f);
    uprs.updateRow();
    在移動(dòng)游標(biāo)前,必須先調(diào)用updateRow方法。否則更新信息會(huì)丟失。調(diào)用cancelRowUpdates可以取消對(duì)行的更新。
    (3)向結(jié)果集中插入或者刪除行
      Connection con = DriverManager.getConnection(
                          "jdbc:mySubprotocol:mySubName");
      Statement stmt = con.createStatement(
                           ResultSet.TYPE_SCROLL_SENSITIVE, 
                           ResultSet.CONCUR_UPDATABLE);
      ResultSet uprs = stmt.executeQuery(
                          "SELECT * FROM COFFEES");
      uprs.moveToInsertRow();
    
      uprs.updateString("COF_NAME", "Kona");
      uprs.updateInt("SUP_ID", 150);
      uprs.updateFloat("PRICE", 10.99f);
      uprs.updateInt("SALES", 0);
      uprs.updateInt("TOTAL", 0);
      
      uprs.insertRow();
    在移動(dòng)游標(biāo)前,必須要先調(diào)用insertRow否則插入的信息將丟失。
    uprs.absolute(4);
    uprs.deleteRow();
    刪除行。
    (4)查看結(jié)果集中的變化(其實(shí)就是說(shuō)了一個(gè)意思,用TYPE_SCROLL_SENSITIVE對(duì)數(shù)據(jù)很敏感,一旦數(shù)據(jù)變化就會(huì)反映在ResultSet中)

    Result sets vary greatly in their ability to reflect changes made in their underlying data. If you modify data in a ResultSet object, the change will always be visible if you close it and then reopen it during a transaction. In other words, if you re-execute the same query after changes have been made, you will produce a new result set based on the new data in the target table. This new result set will naturally reflect changes you made earlier. You will also see changes made by others when you reopen a result set if your transaction isolation level makes them visible.

    So when can you see visible changes you or others made while the ResultSet object is still open? (Generally, you will be most interested in the changes made by others because you know what changes you made yourself.) The answer depends on the type of ResultSet object you have.

    With a ResultSet object that is TYPE_SCROLL_SENSITIVE, you can always see visible updates made to existing column values. You may see inserted and deleted rows, but the only way to be sure is to use DatabaseMetaData methods that return this information. ("New JDBC 2.0 Core API Features" on page 371 explains how to ascertain the visibility of changes.)

    You can, to some extent, regulate what changes are visible by raising or lowering the transaction isolation level for your connection with the database. For example, the following line of code, wherecon is an active Connection object, sets the connection's isolation level to TRANSACTION_READ_COMMITTED:

      con.setTransactionIsolation(
                  Connection.TRANSACTION_READ_COMMITTED);
    

    With this isolation level, a TYPE_SCROLL_SENSITIVE result set will not show any changes before they are committed, but it can show changes that may have other consistency problems. To allow fewer data inconsistencies, you could raise the transaction isolation level to TRANSACTION_REPEATABLE_READ. The problem is that, in most cases, the higher the isolation level, the poorer the performance is likely to be. And, as is always true of JDBC drivers, you are limited to the levels your driver actually provides. Many programmers find that the best choice is generally to use their database's default transaction isolation level. You can get the default with the following line of code, where con is a newly-created connection:

      int level = con.getTransactionIsolation();
    

    The explanation of Connection fields, beginning on page 347, gives the transaction isolation levels and their meanings.

    If you want more information about the visibility of changes and transaction isolation levels, see "What Is Visible to Transactions" on page 597.

    In a ResultSet object that is TYPE_SCROLL_INSENSITIVE, you cannot see changes made to it by others while it is still open, but you may be able to see your own changes with some implementations. This is the type of ResultSet object to use if you want a consistent view of data and do not want to see changes made by others.

    posted @ 2009-11-16 13:05 追求無(wú)止境 閱讀(282) | 評(píng)論 (0)編輯 收藏

    視頻感想

    昨天晚上看了關(guān)于“都市信息網(wǎng)”項(xiàng)目開發(fā)視頻,給人總體感覺差強(qiáng)人意,學(xué)到了一些知識(shí),記錄如下:

    1、頁(yè)面結(jié)構(gòu):

    在頁(yè)面結(jié)構(gòu)的定義上,將頁(yè)面分成多部分,例如頁(yè)頭,頁(yè)尾,左側(cè)欄和右主欄。在每個(gè)欄中導(dǎo)入需要的JSP文件。

    2、關(guān)于controller:

    要讓controller實(shí)現(xiàn)RequestAware和ResponseAware。然后使用繼承。

    3、關(guān)于DAO層的設(shè)計(jì)

    遺憾的是都市信息在DAO層的設(shè)計(jì)上,是一個(gè)敗筆。在controller里面使用sql語(yǔ)句。不利于各個(gè)層次的獨(dú)立。

    4、關(guān)于TreeMap

    在該項(xiàng)目中,使用map多使用TreeMap,查一下TreeMap是什么東西吧:

    A Red-Black tree based NavigableMap implementation. The map is sorted according to the natural ordering of its keys, or by aComparator provided at map creation time, depending on which constructor is used.

    哦,是一個(gè)基于紅黑樹的Map。

    什么是紅黑樹。

    紅黑樹(Red-Black Tree)是二叉搜索樹(Binary Search Tree)的一種改進(jìn)。我們知道二叉搜索樹在最壞的情況下可能會(huì)變成一個(gè)鏈表(當(dāng)所有節(jié)點(diǎn)按從小到大的順序依次插入后)。而紅黑樹在每一次插入或刪除節(jié)點(diǎn)之后都會(huì)花O(log N)的時(shí)間來(lái)對(duì)樹的結(jié)構(gòu)作修改,以保持樹的平衡。也就是說(shuō),紅黑樹的查找方法與二叉搜索樹完全一樣;插入和刪除節(jié)點(diǎn)的的方法前半部分節(jié)與二叉搜索樹完全一樣,而后半部分添加了一些修改樹的結(jié)構(gòu)的操作。
    紅黑樹的每個(gè)節(jié)點(diǎn)上的屬性除了有一個(gè)key、3個(gè)指針:parent、lchild、rchild以外,還多了一個(gè)屬性:color。它只能是兩種顏色:紅或黑。而紅黑樹除了具有二叉搜索樹的所有性質(zhì)之外,還具有以下4點(diǎn)性質(zhì):
    1. 根節(jié)點(diǎn)是黑色的。
    2. 空節(jié)點(diǎn)是黑色的(紅黑樹中,根節(jié)點(diǎn)的parent以及所有葉節(jié)點(diǎn)lchild、rchild都不指向NULL,而是指向一個(gè)定義好的空節(jié)點(diǎn))。
    3. 紅色節(jié)點(diǎn)的父、左子、右子節(jié)點(diǎn)都是黑色。
    4. 在任何一棵子樹中,每一條從根節(jié)點(diǎn)向下走到空節(jié)點(diǎn)的路徑上包含的黑色節(jié)點(diǎn)數(shù)量都相同。

    有了這幾條規(guī)則,就可以保證整棵樹的平衡,也就等于保證了搜索的時(shí)間為O(log N)。

    但是在插入、刪除節(jié)點(diǎn)后,就有可能破壞了紅黑樹的性質(zhì)。所以我們要做一些操作來(lái)把整棵樹修補(bǔ)好。下面我就來(lái)介紹一下。

    posted @ 2009-11-16 13:03 追求無(wú)止境 閱讀(105) | 評(píng)論 (0)編輯 收藏

    一個(gè)簡(jiǎn)單的小測(cè)驗(yàn),考查一下對(duì)Java基礎(chǔ)的掌握情況

    今天看Java Language Specification的時(shí)候看到了下面的一段代碼:
    package testPackage;
    class Test {
    public static void main(String[] args) {
    String hello 
    = "Hello", lo = "lo";
    System.out.print((hello 
    == "Hello"+ " ");
    System.out.print((Other.hello 
    == hello) + " ");
    System.out.print((other.Other.hello 
    == hello) + " ");
    System.out.print((hello 
    == ("Hel"+"lo")) + " ");
    System.out.print((hello 
    == ("Hel"+lo)) + " ");
    System.out.println(hello 
    == ("Hel"+lo).intern());
    }

    }

    class Other static String hello = "Hello"; }


    package other;
    public class Other static String hello = "Hello"; }



    輸出的結(jié)果出人預(yù)料。不運(yùn)行它,大家自己想想答案吧,然后把答案和你的想法貼出來(lái)分享給大家吧。
    正確答案的話,運(yùn)行一下運(yùn)行一下就知道了。。

    posted @ 2009-08-11 09:39 追求無(wú)止境 閱讀(1541) | 評(píng)論 (8)編輯 收藏

    JSP優(yōu)化(轉(zhuǎn))

    你時(shí)常被客戶抱怨JSP頁(yè)面響應(yīng)速度很慢嗎?你想過當(dāng)客戶訪問次數(shù)劇增時(shí),你的WEB應(yīng)用能承受日益增加的訪問量嗎?本文講述了調(diào)整JSP和servlet的一些非常實(shí)用的方法,它可使你的servlet和JSP頁(yè)面響應(yīng)更快,擴(kuò)展性更強(qiáng)。而且在用戶數(shù)增加的情況下,系統(tǒng)負(fù)載會(huì)呈現(xiàn)出平滑上長(zhǎng)的趨勢(shì)。在本文中,我將通過一些實(shí)際例子和配置方法使得你的應(yīng)用程序的性能有出人意料的提升。其中,某些調(diào)優(yōu)技術(shù)是在你的編程工作中實(shí)現(xiàn)的。而另一些技術(shù)是與應(yīng)用服務(wù)器的配置相關(guān)的。在本文中,我們將詳細(xì)地描述怎樣通過調(diào)整servlet和JSP頁(yè)面,來(lái)提高你的應(yīng)用程序的總體性能。在閱讀本文之前,假設(shè)你有基本的servlet和JSP的知識(shí)。
    方法一:在servlet的init()方法中緩存數(shù)據(jù)
    當(dāng)應(yīng)用服務(wù)器初始化servlet實(shí)例之后,為客戶端請(qǐng)求提供服務(wù)之前,它會(huì)調(diào)用這個(gè)servlet的init()方法。在一個(gè)servlet的生命周期中,init()方法只會(huì)被調(diào)用一次。通過在init()方法中緩存一些靜態(tài)的數(shù)據(jù)或完成一些只需要執(zhí)行一次的、耗時(shí)的操作,就可大大地提高系統(tǒng)性能。
    例如,通過在init()方法中建立一個(gè)JDBC連接池是一個(gè)最佳例子,假設(shè)我們是用jdbc2.0的DataSource接口來(lái)取得數(shù)據(jù)庫(kù)連接,在通常的情況下,我們需要通過JNDI來(lái)取得具體的數(shù)據(jù)源。我們可以想象在一個(gè)具體的應(yīng)用中,如果每次SQL請(qǐng)求都要執(zhí)行一次JNDI查詢的話,那系統(tǒng)性能將會(huì)急劇下降。解決方法是如下代碼,它通過緩存DataSource,使得下一次SQL調(diào)用時(shí)仍然可以繼續(xù)利用它:
    <table borderColor=#ffcc66 width="90%" align=center bgColor=#e6e4dd border=1> 
    <tr> 
    <td>public class ControllerServlet extends HttpServlet
    {
    private javax.sql.DataSource testDS = null; 
    public void init(ServletConfig config) throws ServletException
    {
    super.init(config); 
    Context ctx = null;
    try
    ctx = new InitialContext();
    testDS = (javax.sql.DataSource)ctx.lookup("jdbc/testDS");
    }
    catch(NamingException ne)
    {
    ne.printStackTrace(); 
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }
    public javax.sql.DataSource getTestDS()
    {
    return testDS;
    }
    ...
    ... 
    }</td></tr></table>
    方法 2:禁止servlet和JSP 自動(dòng)重載(auto-reloading)
    Servlet/JSP提供了一個(gè)實(shí)用的技術(shù),即自動(dòng)重載技術(shù),它為開發(fā)人員提供了一個(gè)好的開發(fā)環(huán)境,當(dāng)你改變servlet和JSP頁(yè)面后而不必重啟應(yīng)用服務(wù)器。然而,這種技術(shù)在產(chǎn)品運(yùn)行階段對(duì)系統(tǒng)的資源是一個(gè)極大的損耗,因?yàn)樗鼤?huì)給JSP引擎的類裝載器(classloader)帶來(lái)極大的負(fù)擔(dān)。因此關(guān)閉自動(dòng)重載功能對(duì)系統(tǒng)性能的提升是一個(gè)極大的幫助。
    方法 3: 不要濫用HttpSession 
    在很多應(yīng)用中,我們的程序需要保持客戶端的狀態(tài),以便頁(yè)面之間可以相互聯(lián)系。但不幸的是由于HTTP具有天生無(wú)狀態(tài)性,從而無(wú)法保存客戶端的狀態(tài)。因此一般的應(yīng)用服務(wù)器都提供了session來(lái)保存客戶的狀態(tài)。在JSP應(yīng)用服務(wù)器中,是通過HttpSession對(duì)像來(lái)實(shí)現(xiàn)session的功能的,但在方便的同時(shí),它也給系統(tǒng)帶來(lái)了不小的負(fù)擔(dān)。因?yàn)槊慨?dāng)你獲得或更新session時(shí),系統(tǒng)者要對(duì)它進(jìn)行費(fèi)時(shí)的序列化操作。你可以通過對(duì)HttpSession的以下幾種處理方式來(lái)提升系統(tǒng)的性能:
    · 如果沒有必要,就應(yīng)該關(guān)閉JSP頁(yè)面中對(duì)HttpSession的缺省設(shè)置: 如果你沒有明確指定的話,每個(gè)JSP頁(yè)面都會(huì)缺省地創(chuàng)建一個(gè)HttpSession。如果你的JSP中不需要使用session的話,那可以通過如下的JSP頁(yè)面指示符來(lái)禁止它:
    <table borderColor=#ffcc66 width="90%" align=center bgColor=#e6e4dd border=1> 
    <tr> 
    <td><%@ page session="false"%> </td></tr></table>
    · 不要在HttpSession中存放大的數(shù)據(jù)對(duì)像:如果你在HttpSession中存放大的數(shù)據(jù)對(duì)像的話,每當(dāng)對(duì)它進(jìn)行讀寫時(shí),應(yīng)用服務(wù)器都將對(duì)其進(jìn)行序列化,從而增加了系統(tǒng)的額外負(fù)擔(dān)。你在HttpSession中存放的數(shù)據(jù)對(duì)像越大,那系統(tǒng)的性能就下降得越快。
    · 當(dāng)你不需要HttpSession時(shí),盡快地釋放它:當(dāng)你不再需要session時(shí),你可以通過調(diào)用HttpSession.invalidate()方法來(lái)釋放它。
    · 盡量將session的超時(shí)時(shí)間設(shè)得短一點(diǎn):在JSP應(yīng)用服務(wù)器中,有一個(gè)缺省的session的超時(shí)時(shí)間。當(dāng)客戶在這個(gè)時(shí)間之后沒有進(jìn)行任何操作的話,系統(tǒng)會(huì)將相關(guān)的session自動(dòng)從內(nèi)存中釋放。超時(shí)時(shí)間設(shè)得越大,系統(tǒng)的性能就會(huì)越低,因此最好的方法就是盡量使得它的值保持在一個(gè)較低的水平。
    方法 4: 將頁(yè)面輸出進(jìn)行壓縮
    壓縮是解決數(shù)據(jù)冗余的一個(gè)好的方法,特別是在網(wǎng)絡(luò)帶寬不夠發(fā)達(dá)的今天。有的瀏覽器支持gzip(GNU zip)進(jìn)行來(lái)對(duì)HTML文件進(jìn)行壓縮,這種方法可以戲劇性地減少HTML文件的下載時(shí)間。因此,如果你將servlet或JSP頁(yè)面生成的HTML頁(yè)面進(jìn)行壓縮的話,那用戶就會(huì)覺得頁(yè)面瀏覽速度會(huì)非???。但不幸的是,不是所有的瀏覽器都支持gzip壓縮,但你可以通過在你的程序中檢查客戶的瀏覽器是否支持它。下面就是關(guān)于這種方法實(shí)現(xiàn)的一個(gè)代碼片段:
    <table borderColor=#ffcc66 width="90%" align=center bgColor=#e6e4dd border=1> 
    <tr> 
    <td>public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException 
    {
    OutputStream out = null
    String encoding = request.getHeader("Accept-Encoding"); 
    if (encoding != null && encoding.indexOf("gzip") != -1)
    {
    request.setHeader("Content-Encoding" , "gzip");
    out = new GZIPOutputStream(request.getOutputStream());
    }
    else if (encoding != null && encoding.indexOf("compress") != -1)
    {
    request.setHeader("Content-Encoding" , "compress");
    out = new ZIPOutputStream(request.getOutputStream());
    else
    {
    out = request.getOutputStream();
    }
    ...
    ... 
    } </td></tr></table>
    方法 5: 使用線程池
    應(yīng)用服務(wù)器缺省地為每個(gè)不同的客戶端請(qǐng)求創(chuàng)建一個(gè)線程進(jìn)行處理,并為它們分派service()方法,當(dāng)service()方法調(diào)用完成后,與之相應(yīng)的線程也隨之撤消。由于創(chuàng)建和撤消線程會(huì)耗費(fèi)一定的系統(tǒng)資源,這種缺省模式降低了系統(tǒng)的性能。但所幸的是我們可以通過創(chuàng)建一個(gè)線程池來(lái)改變這種狀況。另外,我們還要為這個(gè)線程池設(shè)置一個(gè)最小線程數(shù)和一個(gè)最大線程數(shù)。在應(yīng)用服務(wù)器啟動(dòng)時(shí),它會(huì)創(chuàng)建數(shù)量等于最小線程數(shù)的一個(gè)線程池,當(dāng)客戶有請(qǐng)求時(shí),相應(yīng)地從池從取出一個(gè)線程來(lái)進(jìn)行處理,當(dāng)處理完成后,再將線程重新放入到池中。如果池中的線程不夠地話,系統(tǒng)會(huì)自動(dòng)地增加池中線程的數(shù)量,但總量不能超過最大線程數(shù)。通過使用線程池,當(dāng)客戶端請(qǐng)求急劇增加時(shí),系統(tǒng)的負(fù)載就會(huì)呈現(xiàn)的平滑的上升曲線,從而提高的系統(tǒng)的可伸縮性。
    方法 6: 選擇正確的頁(yè)面包含機(jī)制
    在JSP中有兩種方法可以用來(lái)包含另一個(gè)頁(yè)面:1、使用include指示符(<%@ includee file=”test.jsp” %>)。2、使用jsp指示符(<jsp:includee page=”test.jsp” flush=”true”/>)。在實(shí)際中我發(fā)現(xiàn),如果使用第一種方法的話,可以使得系統(tǒng)性能更高。
    方法 7:正確地確定javabean的生命周期
    JSP的一個(gè)強(qiáng)大的地方就是對(duì)javabean的支持。通過在JSP頁(yè)面中使用<jsp:useBean>標(biāo)簽,可以將javabean直接插入到一個(gè)JSP頁(yè)面中。它的使用方法如下:
    <table borderColor=#ffcc66 width="90%" align=center bgColor=#e6e4dd border=1> 
    <tr> 
    <td><jsp:useBean id="name" scope="page|request|session|application" class=
    "package.className" type="typeName">
    </jsp:useBean></td></tr></table>
    其中scope屬性指出了這個(gè)bean的生命周期。缺省的生命周期為page。如果你沒有正確地選擇bean的生命周期的話,它將影響系統(tǒng)的性能。
    舉例來(lái)說(shuō),如果你只想在一次請(qǐng)求中使用某個(gè)bean,但你卻將這個(gè)bean的生命周期設(shè)置成了session,那當(dāng)這次請(qǐng)求結(jié)束后,這個(gè)bean將仍然保留在內(nèi)存中,除非session超時(shí)或用戶關(guān)閉瀏覽器。這樣會(huì)耗費(fèi)一定的內(nèi)存,并無(wú)謂的增加了JVM垃圾收集器的工作量。因此為bean設(shè)置正確的生命周期,并在bean的使命結(jié)束后盡快地清理它們,會(huì)使用系統(tǒng)性能有一個(gè)提高。
    其它一些有用的方法 
    · 在字符串連接操作中盡量不使用“+”操作符:在java編程中,我們常常使用“+”操作符來(lái)將幾個(gè)字符串連接起來(lái),但你或許從來(lái)沒有想到過它居然會(huì)對(duì)系統(tǒng)性能造成影響吧?由于字符串是常量,因此JVM會(huì)產(chǎn)生一些臨時(shí)的對(duì)像。你使用的“+”越多,生成的臨時(shí)對(duì)像就越多,這樣也會(huì)給系統(tǒng)性能帶來(lái)一些影響。解決的方法是用StringBuffer對(duì)像來(lái)代替“+”操作符。
    · 避免使用System.out.println()方法:由于System.out.println()是一種同步調(diào)用,即在調(diào)用它時(shí),磁盤I/O操作必須等待它的完成,因此我們要盡量避免對(duì)它的調(diào)用。但我們?cè)谡{(diào)試程序時(shí)它又是一個(gè)必不可少的方便工具,為了解決這個(gè)矛盾,我建議你最好使用Log4j工具(http://jakarta.apache.org ),它既可以方便調(diào)試,而不會(huì)產(chǎn)生System.out.println()這樣的方法。
    · ServletOutputStream 與 PrintWriter的權(quán)衡:使用PrintWriter可能會(huì)帶來(lái)一些小的開銷,因?yàn)樗鼘⑺械脑驾敵龆嫁D(zhuǎn)換為字符流來(lái)輸出,因此如果使用它來(lái)作為頁(yè)面輸出的話,系統(tǒng)要負(fù)擔(dān)一個(gè)轉(zhuǎn)換過程。而使用ServletOutputStream作為頁(yè)面輸出的話就不存在一個(gè)問題,但它是以二進(jìn)制進(jìn)行輸出的。因此在實(shí)際應(yīng)用中要權(quán)衡兩者的利弊。
    總結(jié)
    本文的目的是通過對(duì)servlet和JSP的一些調(diào)優(yōu)技術(shù)來(lái)極大地提高你的應(yīng)用程序的性能,并因此提升整個(gè)J2EE應(yīng)用的性能。通過這些調(diào)優(yōu)技術(shù),你可以發(fā)現(xiàn)其實(shí)并不是某種技術(shù)平臺(tái)(比如J2EE和.NET之爭(zhēng))決定了你的應(yīng)用程序的性能,重要是你要對(duì)這種平臺(tái)有一個(gè)較為深入的了解,這樣你才能從根本上對(duì)自己的應(yīng)用程序做一個(gè)優(yōu)化!

    posted @ 2009-07-23 09:55 追求無(wú)止境 閱讀(184) | 評(píng)論 (0)編輯 收藏

    轉(zhuǎn)帖--每個(gè)人都該學(xué)會(huì)的50件事情

       要過得健康充實(shí),還得靠自立。要學(xué)會(huì)自立,必須得掌握一些技巧??赡芎湍阍趯W(xué)校里學(xué)到的不同,但全才遠(yuǎn)遠(yuǎn)要比專門只會(huì)一樣的人更能夠適應(yīng)生活。

    這里是每個(gè)人都該學(xué)會(huì)的50件事情。(不完全統(tǒng)計(jì))

     
    1.   生火——火能產(chǎn)生光和熱。這兩件是生存的必需品。也許在某個(gè)時(shí)候,這項(xiàng)技能可以救你的命。

    2.   操作電腦——基本的電腦常識(shí)是現(xiàn)代生活之必需。必要的時(shí)候,請(qǐng)幫助他人。

    3。有效使用Google——Google無(wú)所不知。如果你用Google找不到你想找的東西,那就是你的問題了。

    4。人工呼吸和處理喉嚨被塞住的急救措施——有一天你的妻子、丈夫、兒子或女兒,可能正是需要你幫助的那個(gè)人。

    5。開手排檔的車——也許有時(shí)候你會(huì)需要這項(xiàng)技能,要是不會(huì)就糟了。

    6。簡(jiǎn)單地做飯——如果你連雞蛋或牛排都不會(huì)煎,那就麻煩了。

    7。講一個(gè)能吸引人們注意力的故事——如果你不能吸引別人的注意力,那還是別廢話了。

    8。不與人打架,除非你能贏——兩種情況下,你都贏了。

    9。告訴別人壞消息——總得有人去做這件事。不幸的是,有一天這個(gè)重任也會(huì)落到你肩上。

    10。換輪胎——輪胎里面有氣體,只要有氣體的東西總有一天會(huì)爆掉。

    11。從容應(yīng)對(duì)面試——要是緊張得渾身是汗,你肯定得不到那份工作。

    12。管理好自己的時(shí)間——否則你就是在浪費(fèi)時(shí)間。偶爾浪費(fèi)時(shí)間也沒關(guān)系,但不能一直這樣。

    13??焖匍喿x——很多時(shí)候你只要讀要點(diǎn)就可以了。(看到這里就覺得沒早點(diǎn)學(xué)會(huì)這條了吧)

    14。記住名字——你會(huì)喜歡別人管你叫“喂,那個(gè)誰(shuí)。。。”嗎?

    15。整理房間——真正做起來(lái)總比想象的要難一點(diǎn)。

    16。輕裝上陣——旅行時(shí)只帶最必需的東西。這樣更便宜、更簡(jiǎn)單、更靈活。

    17。和警察打交道——蹲監(jiān)獄可不是好玩的,監(jiān)獄里面的大漢就更不用說(shuō)了。

    18。給別人指路——沒人喜歡迷路,所以最好第一次就指對(duì)。

    19。進(jìn)行基本的急救——會(huì)正確處理傷口,不是只有醫(yī)生或天才才能做到的。

    20。游泳——地球表面71%的地方都是水,所以學(xué)會(huì)游泳絕對(duì)是個(gè)好主意。

    21。路邊停車——大多數(shù)標(biāo)準(zhǔn)駕照考試都要求考路邊停車,然而大多數(shù)人還是不知道該怎么做。很奇怪啊。

    22。了解自己的酒量——不然你一不小心就會(huì)很難看。

    23。選擇好的產(chǎn)品——腐壞的水果和蔬菜只能成為惡作劇的道具用來(lái)嚇人。

    24。會(huì)用錘子、斧子和手鋸——不是只有木匠才用得著這些工具的。每個(gè)人都得有點(diǎn)使用這些工具的基本常識(shí)。

    25。進(jìn)行簡(jiǎn)單的財(cái)務(wù)規(guī)劃——負(fù)債累累可不好,一個(gè)簡(jiǎn)單地預(yù)算計(jì)劃可以幫你解決這些問題。

    26.至少會(huì)說(shuō)兩種通用的語(yǔ)言——世界上只有25%的人說(shuō)英語(yǔ)。如果能跟剩下75%的人溝通也挺好的。

    27.正確地做俯臥撐和仰臥起坐——姿勢(shì)不正確的話只會(huì)傷害身體,也是浪費(fèi)時(shí)間。

    28.多贊美別人——贊美是世上最好的禮物之一,更何況是免費(fèi)的。

    29.談判——再多問一兩個(gè)問題就會(huì)得到更好的價(jià)錢。

    30.仔細(xì)聽別人說(shuō)話——多聽少講,學(xué)到的多,失去的少。

    31.復(fù)習(xí)基本的地理知識(shí)——如果你不知道你生活圈以外的環(huán)境,大部分的人只會(huì)認(rèn)為你什么都不知道(而且通常他們是對(duì)的)。

    32.粉刷房間——粉刷房間的價(jià)格百分之九十是人工費(fèi)用,簡(jiǎn)單的油漆活自己做比付給別人9倍的工資要來(lái)得劃算。

    33.簡(jiǎn)單明了又內(nèi)容豐富的演說(shuō)——如果下次公司開會(huì)時(shí)你的上司要你解釋你上個(gè)月做了什么活,這樣的演講能讓你過關(guān)。“嗯。。。不知道”的話就慘了。

    34.照相的時(shí)候微笑——硬是不笑的人最糟了!

    35.不出丑的搭訕——搭訕成功跟失敗只是一念之間。如果太刻意的話會(huì)失敗,不夠用心的話也會(huì)失敗。

    36.做有用的筆記——因?yàn)闆]用的筆記和不做筆記一樣都是沒用的。

    37.禮待住在自己家里的客人——要不然的話哪天你需要借住他們家的時(shí)候就只能睡旅館了。

    38.給人好的第一次印象——亞里士多德曾經(jīng)說(shuō)過,“好的開始是成功的一半。”

    39.會(huì)看地圖和使用指南針——如果你的衛(wèi)星導(dǎo)航器在一個(gè)鳥不生蛋的地方壞了,你要怎么辦?

    40.縫鈕扣——比買新衣便宜。

    41.自己裝家里的視聽系統(tǒng)——又不是多難,付錢給別人裝只是因?yàn)橥祽小?

    42.打字——打字打得好的話會(huì)節(jié)省很多時(shí)間,一生受用。

    43.保護(hù)私人資料——除非你是那個(gè)小偷,不然個(gè)人資料被偷可不是好玩的。

    44.設(shè)定基本的電腦系統(tǒng)防護(hù)措施——設(shè)定密碼跟防火墻并不需要計(jì)算機(jī)本科畢業(yè),但可以預(yù)防將來(lái)倒大霉。

    45。識(shí)別謊言——人們會(huì)對(duì)你說(shuō)謊,此乃人生之一大不幸。

    46。有禮貌地結(jié)束約會(huì),而不承諾下一次——千萬(wàn)別給別人一個(gè)你不愿給的承諾。你也不用急著決定和一個(gè)剛認(rèn)識(shí)沒多久的人有什么未來(lái)。

    47。除去污漬——總比再買一件便宜。

    48。保持房間整潔——整潔的房間是健康、規(guī)律生活的開始。

    49。正確地抱嬰兒——你可不想無(wú)意弄傷一個(gè)小寶寶。

    50。啟動(dòng)汽車電瓶——這總比走路或叫拖車好得多。

    風(fēng)雨雷電---MP3MP4專賣;

    posted @ 2008-10-04 14:16 追求無(wú)止境 閱讀(107) | 評(píng)論 (0)編輯 收藏

    迷茫中……

    喜歡聽戴佩妮的那首"小小",歌詞簡(jiǎn)單,卻能讓人安靜下來(lái),心里不在浮躁。就像剛才,心里正浮躁的不知道干什么的時(shí)候,就聽了那首歌,讓我靜了下來(lái),開始寫我的博客。

    關(guān)于保研的問題仍然很尷尬,我也不知道自己到底想不想上。想吧,害怕白上了三年,不想吧,可這是個(gè)好的機(jī)會(huì)啊。而且是上學(xué)還不掏錢。多好啊。或許自己給自己的要求太高了,我想自己以后畢業(yè)一定要去一個(gè)大公司。可今天上課的時(shí)候,給我們講課的老師,那么厲害都不去那些好的公司,何況是我們這些畢業(yè)的社會(huì)上一大把的本科生呢。而且,我們的專業(yè)和二本學(xué)校的專業(yè)是一樣的。

    就是上面的考慮,讓我猶豫了。我不知道自己究竟作何選擇。我的想法是要上的話就上個(gè)好的,比如上北京的學(xué)校,多好啊。要不上的話,就好好的努力工作。如果以后有機(jī)會(huì)的話,再去上。但畢業(yè)卻是另一種情況。

    現(xiàn)在問題是如果我工作了。我做什么工作,我都不知道呢。我可以做網(wǎng)絡(luò)安全,可以做java編程,可以做嵌入式開發(fā)等等。但我卻沒有一個(gè)確定的目標(biāo)。目標(biāo)是什么???阿晶。我也不知道。

    就拿上研究生,我也不知道自己上什么方向呢。所以很迷茫啊。以前就想著給自己做職業(yè)規(guī)劃,但從來(lái)就沒有規(guī)劃好。覺得到時(shí)候就知道了,知道怎么選擇了。到現(xiàn)在也不知道該怎么辦。如果有一天,自己真的研究生畢業(yè)了,我還是不知道自己要干什么。

    語(yǔ)無(wú)倫次。我沒有什么特別的特點(diǎn)。所以,這才導(dǎo)致了我不知道作何選擇了。哎,我究竟是什么樣的人。

    我真不知道。或許這是最重要的。不如做一個(gè)測(cè)試吧,看看自己到底適合做什么啊。測(cè)試的網(wǎng)站是:

    http://www.psytopic.com/mag/post/mbti-career-personality-test-psytopic-special-edition.html

    測(cè)試結(jié)果是:

    Psytopic分析:您的性格類型是“INTP”(內(nèi)向+直覺+思維+知覺)
    對(duì)任何感興趣的事物,都要探索一個(gè)合理的解釋。喜歡理論和抽象的事情,喜歡理念思維多于社交活動(dòng)。沉靜,滿足,有彈性,適應(yīng)力強(qiáng)。在他們感興趣的范疇內(nèi),有非凡的能力去專注而深入地解決問題。有懷疑精神,有 時(shí)喜歡批判,常常善于分析。
    INTP型的人是解決理性問題者。他們很有才智和條理性,以及創(chuàng)造才華的突出表現(xiàn)。INTP型的人外表平靜、緘默、超然,內(nèi)心卻專心致志于分析問題。他們苛求精細(xì)、慣于懷疑。他們努力尋找和利用原則以理解許多想法。 他們喜歡有條理和有目的的交談,而且可能會(huì)僅僅為了高興,爭(zhēng)論一些無(wú)益而瑣細(xì)的問題。只有有條理的推理才會(huì)使他們信服。通常INTP型的人是足智多謀、有獨(dú)立見解的思考者。他們重視才智,對(duì)于個(gè)人能力有強(qiáng)烈的欲 望,有能力也很感興趣向他人挑戰(zhàn)。 INTP型的人最主要的興趣在于理解明顯的事物之外的可能性。他們樂于為了改進(jìn)事物的目前狀況或解決難題而進(jìn)行思考。他們的思考方式極端復(fù)雜,而且他們能很好地組織概念和想法。 偶爾,他們的想法非常復(fù)雜,以致于很難向別人表達(dá)和被他人理解。 INTP型的人十分獨(dú)立,喜歡冒險(xiǎn)和富有想象力的活動(dòng)。他們靈活易變、思維開闊,更感興趣的是發(fā)現(xiàn)有創(chuàng)見而且合理的解決方法,而不是僅僅看到成為事 實(shí)的解決方式。
    您適合的領(lǐng)域有:計(jì)算機(jī)技術(shù) 理論研究、學(xué)術(shù)領(lǐng)域 專業(yè)領(lǐng)域 創(chuàng)造性領(lǐng)域等
    您適合的職業(yè)有:
    · 電腦軟件設(shè)計(jì)師
    · 系統(tǒng)分析人員
    · 計(jì)算機(jī)程序員
    · 研究開發(fā)專業(yè)人員
    · 數(shù)據(jù)庫(kù)管理
    · 故障排除專家
    · 戰(zhàn)略規(guī)劃師
    · 金融規(guī)劃師
    · 信息服務(wù)開發(fā)商
    · 變革管理顧問
    · 企業(yè)金融律師
    · 大學(xué)教授
    · 科研機(jī)構(gòu)研究人員
    · 數(shù)學(xué)家
    · 物理學(xué)家
    · 經(jīng)濟(jì)學(xué)家
    · 考古學(xué)家
    · 歷史學(xué)家
    · 證券分析師
    · 金融投資顧問
    · 律師
    · 法律顧問
    · 財(cái)務(wù)專家
    · 偵探
    · 各類發(fā)明家
    · 作家
    · 設(shè)計(jì)師
    · 音樂家
    · 藝術(shù)家
    · 藝術(shù)鑒賞

    呵呵,最適合的領(lǐng)域是計(jì)算機(jī)技術(shù),剛好,我就是學(xué)計(jì)算機(jī)的。通過測(cè)試,我知道我該從事做什么了。的確如此。但But,仍然迷茫的是下一步該做什么。繼續(xù)先迷茫著把。

    posted @ 2008-09-18 17:31 追求無(wú)止境 閱讀(187) | 評(píng)論 (0)編輯 收藏

    中秋時(shí)節(jié)月兒圓

    中秋時(shí)節(jié)月兒圓,皎潔的月光,云在月光下顯的那樣潔白和安詳。

    最近一直都在考慮關(guān)于自己的抉擇。下面是具體的分析:

    1、上研究生

    上研究生,理論上不錯(cuò),但限制是你只能上本校的研究生。

    優(yōu)點(diǎn)如下:

    1、能夠獲得碩士學(xué)位證書;

    2、在一個(gè)好的導(dǎo)師的情況下,能夠?qū)W到更多的東西;

    3、有獎(jiǎng)學(xué)金上,免費(fèi)的研究生。

    4、研究生畢業(yè)后,可以別的學(xué)校任教。這個(gè)工作也不錯(cuò)。呵呵;

    5、研究生畢業(yè)后,可以有好的工作。。。。

    缺點(diǎn)可能如下:

    1、在上研究生過程中,除了給學(xué)校的導(dǎo)師干活之外,沒有其他的工作經(jīng)驗(yàn),因?yàn)閷W(xué)校周圍沒有好的實(shí)習(xí)機(jī)會(huì);

    2、上完3年,研究生不值錢,還是不好找工作;

    3、學(xué)校的研究生不好。

    總而言之,就是學(xué)校的研究生不好。尤其是我們學(xué)校的研究生。怕自己的三年什么也沒有學(xué)到。

    posted @ 2008-09-14 23:29 追求無(wú)止境 閱讀(109) | 評(píng)論 (0)編輯 收藏

    JSP Web框架研究:Struts

         摘要: 在JSP 的各種Web框架中,據(jù)我看來(lái)Struts框架最為簡(jiǎn)單。下面從Struts框架開始來(lái)研究JSP的web框架。 1、MVC 在研究這個(gè)框架之前,先要對(duì)MVC模式有所了解。幸好以前學(xué)習(xí)過設(shè)計(jì)模式,對(duì)MVC編程和模式了解一些,即將模型、視圖、控制器分開。使三者可以各負(fù)其責(zé),處理自己的邏輯。 2、Struts框架的介紹: Struts框架也采用了MVC結(jié)構(gòu): Model:在Struts框架中,Mo...  閱讀全文

    posted @ 2008-09-14 10:06 追求無(wú)止境 閱讀(2322) | 評(píng)論 (2)編輯 收藏

    僅列出標(biāo)題
    共4頁(yè): 上一頁(yè) 1 2 3 4 下一頁(yè) 
    主站蜘蛛池模板: 久久不见久久见中文字幕免费| 97国产在线公开免费观看| 一级毛片正片免费视频手机看| 久久一区二区免费播放| 亚洲网站免费观看| 免费大黄网站在线观| 亚洲天堂在线播放| 亚洲AV无码精品国产成人| 久久久久久国产精品免费免费男同 | 亚洲日韩精品一区二区三区| 国产91在线|亚洲| yellow视频免费在线观看| 午夜宅男在线永久免费观看网 | 亚洲中文字幕在线观看| 亚洲国产成人手机在线观看| 日日麻批免费40分钟无码| 亚洲精品第一国产综合精品99| 自拍日韩亚洲一区在线| 在线免费观看毛片网站| 亚洲福利一区二区| 亚在线观看免费视频入口| 亚洲综合久久成人69| 永久久久免费浮力影院| 亚洲五月激情综合图片区| 91精品国产免费久久久久久青草| 国产亚洲福利精品一区| 国产黄色片免费看| 亚洲国产成人久久精品99| 欧美激情综合亚洲一二区| 亚洲精品tv久久久久久久久久| 青柠影视在线观看免费| 亚洲日产无码中文字幕| 69pao强力打造免费高清| 亚洲精品国产精品| 国产亚洲精品a在线无码| 国产精品成人观看视频免费| 美女被艹免费视频| 九月婷婷亚洲综合在线| 香蕉视频在线观看免费| 亚洲av日韩av不卡在线观看| 青青草原1769久久免费播放|