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

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

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

    JAVA—咖啡館

    ——?dú)g迎訪問(wèn)rogerfan的博客,常來(lái)《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術(shù),交流工作經(jīng)驗(yàn),分享JAVA帶來(lái)的快樂(lè)!本網(wǎng)站部分轉(zhuǎn)載文章,如果有版權(quán)問(wèn)題請(qǐng)與我聯(lián)系。

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

    05 2009 檔案

         摘要: Java NIO非堵塞應(yīng)用通常適用用在I/O讀寫等方面,我們知道,系統(tǒng)運(yùn)行的性能瓶頸通常在I/O讀寫,包括對(duì)端口和文件的操作上,過(guò)去,在打開一個(gè)I/O通道后,read()將一直等待在端口一邊讀取字節(jié)內(nèi)容,如果沒(méi)有內(nèi)容進(jìn)來(lái),read()也是傻傻的等,這會(huì)影響我們程序繼續(xù)做其他事情,那么改進(jìn)做法就是開設(shè)線程,讓線程去等待,但是這樣做也是相當(dāng)耗費(fèi)資源的。

    Java NIO非堵塞技術(shù)實(shí)際是采取Reactor模式,或者說(shuō)是Observer模式為我們監(jiān)察I/O端口,如果有內(nèi)容進(jìn)來(lái),會(huì)自動(dòng)通知我們,這樣,我們就不必開啟多個(gè)線程死等,從外界看,實(shí)現(xiàn)了流暢的I/O讀寫,不堵塞了。
      閱讀全文
    posted @ 2009-05-31 15:17 rogerfan 閱讀(685) | 評(píng)論 (0)  編輯

         摘要: //根據(jù)不同的難度產(chǎn)生隨機(jī)字母和數(shù)字
    for(int i=0; readomNumStart.length()<4; i++) {
    if(difficult == 1) {

    //產(chǎn)生隨機(jī)的0-9的數(shù)字
    a = String.valueOf((int)(Math.random() * 10)) ;
    }   閱讀全文
    posted @ 2009-05-14 11:40 rogerfan 閱讀(454) | 評(píng)論 (1)  編輯

         摘要: 歸納一些網(wǎng)上取JAVA路徑的方法:

    注明:如果從ANT啟動(dòng)程序,this.getClass().getResource("")取出來(lái)的比較怪,直接用JAVA命令行調(diào)試就可成功。
     
    得到classpath和當(dāng)前類的絕對(duì)路徑的一些方法

    獲得CLASSPATH之外路徑的方法:
    URL base = this.getClass().getResource(""); //先獲得本類的所在位置,如/home/popeye/testjava/build/classes/net/
    String path = new File(base.getFile(), "../../../"+name).getCanonicalPath(); //就可以得到/home/popeye/testjava/name   閱讀全文
    posted @ 2009-05-14 11:39 rogerfan 閱讀(399) | 評(píng)論 (0)  編輯

         摘要: 主要使用的是java.util.Robot類來(lái)捕獲屏幕,可以實(shí)現(xiàn)對(duì)屏幕一個(gè)矩形區(qū)域的捕獲,通過(guò)這個(gè)類,我們也可以實(shí)現(xiàn)一個(gè)遠(yuǎn)程桌面控制的程序。


    package com.qiu.util;
    import java.io.*;
    import java.net.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import javax.imageio.*;
    import java.io.*;
    /** *//**@Author Qiu_BaiChao
    *一個(gè)簡(jiǎn)單的屏幕抓圖
      閱讀全文
    posted @ 2009-05-14 11:37 rogerfan 閱讀(300) | 評(píng)論 (0)  編輯

         摘要: 由于本人的一個(gè)低級(jí)失誤,造成結(jié)論錯(cuò)誤,for才是最終的勝者。foreach和iterator是類似的機(jī)制,性能都不是很好。以下代碼已經(jīng)重新調(diào)整,再次道歉。

    以前一直有人說(shuō),foreach的性能有損失,不建議使用,今天特意測(cè)試了一下,結(jié)果是 for方式的性能最好,foreach次之,而Iterator循環(huán)性能最差..

    1 完整的測(cè)試代碼
    view plaincopy to clipboardprint?
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    /**
    * 測(cè)試JAVA各種循環(huán)的性能。

    * for 方式的性能最好,foreach次之,而Iterator循環(huán)性能最差。
      閱讀全文
    posted @ 2009-05-14 11:34 rogerfan 閱讀(360) | 評(píng)論 (0)  編輯

         摘要: Collection接口
      Collection是最基本的集合接口,一個(gè)Collection代表一組Object,即Collection的元素(Elements)。一些 Collection允許相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接繼承自Collection的類, Java SDK提供的類都是繼承自Collection的“子接口”如List和Set。
      所有實(shí)現(xiàn)Collection接口的類都必須提供兩個(gè)標(biāo)準(zhǔn)的構(gòu)造函數(shù):無(wú)參數(shù)的構(gòu)造函數(shù)用于創(chuàng)建一個(gè)空的Collection,有一個(gè) Collection參數(shù)的構(gòu)造函數(shù)用于創(chuàng)建一個(gè)新的 Collection,這個(gè)新的Collection與傳入的Collection有相同的元素。后一個(gè)構(gòu)造函數(shù)允許用戶復(fù)制一個(gè)Collection。
      如何遍歷Collection中的每一個(gè)元素?不論Collection的實(shí)際類型如何,它都支持一個(gè)iterator()的方法,該方法返回一個(gè)迭代子,使用該迭代子即可逐一訪問(wèn)Collection中每一個(gè)元素。典型的用法如下:
        Iterat  閱讀全文
    posted @ 2009-05-14 09:58 rogerfan 閱讀(878) | 評(píng)論 (0)  編輯

         摘要: 編輯
    作用域 功能 快捷鍵
    文本編輯器 查找上一個(gè) Ctrl+Shift+K
    文本編輯器 查找下一個(gè) Ctrl+K
    全局 恢復(fù)上一個(gè)選擇 Alt+Shift+↓
    全局 快速修正 Ctrl1+1
    全局 內(nèi)容輔助 Alt+/
    全局 上下文信息 Alt+?Alt+Shift+?Ctrl+Shift+Space
    Java編輯器 顯示工具提示描述 F2
    Java編輯器 選擇封裝元素 Alt+Shift+↑
    Java編輯器 選擇上一個(gè)元素 Alt+Shift+←
    Java編輯器 選擇下一個(gè)元素 Alt+Shift+→
    文本編輯器 增量查找 Ctrl+J
    文本編輯器 增量逆向查找 Ctrl+Shift+J
    全局 重做 Ctrl+Y   閱讀全文
    posted @ 2009-05-13 11:47 rogerfan 閱讀(384) | 評(píng)論 (0)  編輯

         摘要: 1.java.util.Calendar
    Calendar 類是一個(gè)抽象類,它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段之間的轉(zhuǎn)換提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來(lái)表示,它是距歷元(即格林威治標(biāo)準(zhǔn)時(shí)間 1970 年 1 月 1 日的 00:00:00.000,格里高利歷)的偏移量。

    例:

    1Calendar cal = Calendar.getInstance();//使用默認(rèn)時(shí)區(qū)和語(yǔ)言環(huán)境獲得一個(gè)日歷。
    2cal.add(Calendar.DAY_OF_MONTH, -1);//取當(dāng)前日期的前一天.
    3
    4cal.add(Calendar.DAY_OF_MONTH, +1);//取當(dāng)前日期的后一天.
    5
    6//通過(guò)格式化輸出日期
    7java.text.SimpleDateFormat format = new java.text.S  閱讀全文
    posted @ 2009-05-13 11:32 rogerfan 閱讀(311) | 評(píng)論 (0)  編輯

    主站蜘蛛池模板: 亚洲an日韩专区在线| 99久久99久久精品免费看蜜桃 | 亚洲综合偷自成人网第页色| 亚洲人成人无码网www国产| 免费做爰猛烈吃奶摸视频在线观看| 国产成人无码免费看片软件| 精品亚洲AV无码一区二区三区| 久久亚洲精品中文字幕无码| 亚洲?V乱码久久精品蜜桃| 无码国产精品一区二区免费I6| 久久aa毛片免费播放嗯啊| 久久www免费人成看国产片| 疯狂做受xxxx高潮视频免费| 最新国产精品亚洲| 亚洲毛片一级带毛片基地| 亚洲AV无码AV男人的天堂| 亚洲人成精品久久久久| 久久精品亚洲男人的天堂| 男人的天堂亚洲一区二区三区 | 100000免费啪啪18免进| 男人都懂www深夜免费网站| 一个人看的www视频免费在线观看| 精品国产日韩亚洲一区在线| 亚洲性色精品一区二区在线| 亚洲免费闲人蜜桃| 亚洲熟妇av一区二区三区下载| 亚洲三级电影网址| 亚洲精品高清视频| 亚洲视频在线不卡| 亚洲欧洲国产经精品香蕉网| 亚洲视频一区在线播放| 久久亚洲国产成人精品性色| 亚洲人成亚洲精品| 亚洲精品午夜久久久伊人| 亚洲综合综合在线| 亚洲天堂一区在线| 亚洲an日韩专区在线| 亚洲中文无码卡通动漫野外| 亚洲日韩国产二区无码| 国产精品亚洲专区无码唯爱网 | 午夜免费福利网站|