隨筆 - 24  文章 - 0  trackbacks - 0
          <2011年1月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          public class Test {

           /**
            * @param args
            * @throws java.text.ParseException
            */

           public static void main(String[] args) throws java.text.ParseException {
            // Date dateNow = new Date();
            //
            // String dateNowStr = dateFormat.format(dateNow);
            // System.out.println(dateNowStr);

            final String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五",
              "星期六" };
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日");

            Calendar calendar = Calendar.getInstance();
            Date date = new Date();
            String datarq = dateFormat.format(date); //日期
            
            calendar.setTime(date);
            int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
            if (dayOfWeek < 0)
             dayOfWeek = 0;

            System.out.println(datarq + "  " + dayNames[dayOfWeek]);

           }

          }

          posted @ 2011-12-22 15:07 馮占科 閱讀(145) | 評(píng)論 (0)編輯 收藏

          開(kāi)始–運(yùn)行–cmd 進(jìn)入命令提示符 輸入netstat -ano 即可看到所有連接的PID 之后在任務(wù)管理器中找到這個(gè)PID所對(duì)應(yīng)的程序如果任務(wù)管理器中沒(méi)有PID這一項(xiàng),可以在任務(wù)管理器中選”查看”-”選擇列”

          經(jīng)常,我們?cè)趩?dòng)應(yīng)用的時(shí)候發(fā)現(xiàn)系統(tǒng)需要的端口被別的程序占用,如何知道誰(shuí)占有了我們需要的端口,很多人都比較頭疼,下面就介紹一種非常簡(jiǎn)單的方法,希望對(duì)大家有用。

          我們需要確定誰(shuí)占用了我們的80端口

          在windows命令行窗口下執(zhí)行:
          C:\>netstat -aon|findstr “80″
           TCP    0.0.0.0:19780             0.0.0.0:0                    LISTENING         2044
           TCP    10.72.224.5:2558       96.17.109.8:80          ESTABLISHED     2044
           TCP    10.72.224.5:2757       60.210.176.209:80    TIME_WAIT         0
           TCP    10.72.224.5:3956       125.46.1.234:80        ESTABLISHED     2044
           TCP    10.72.224.5:3959       125.46.1.234:80        ESTABLISHED     2044
           UDP    0.0.0.0:2280               *:*                                                       3700

          看到了嗎,端口被進(jìn)程號(hào)為2044的進(jìn)程占用,繼續(xù)執(zhí)行下面命令:
          C:\>tasklist|findstr “2044″
          avp.exe                     2044 Console                 0     37,680 K
          很清楚吧,avp 卡巴監(jiān)聽(tīng)80端口,調(diào)整卡巴網(wǎng)絡(luò)監(jiān)聽(tīng)設(shè)置。
          當(dāng)然,如果你的80端口被其他程序占用,kill掉或者調(diào)整端口。


          posted @ 2011-01-17 16:20 馮占科 閱讀(485) | 評(píng)論 (0)編輯 收藏

          package l6;
          /**
           * 實(shí)現(xiàn)棧的數(shù)據(jù)結(jié)構(gòu)
           */
          import java.util.LinkedList;

          public class MyStack {
           LinkedList mylist = new LinkedList();

           public void push(Object o) {
            mylist.addFirst(o);
           }

           public Object pop() {
            return mylist.removeFirst();
           }

           public Object peek() {
            return mylist.getFirst();
           }

           public boolean empty() {
            return mylist.isEmpty();
           }
           
           
           public static void main(String[] args) {
            MyStack  ms = new MyStack();
            ms.push("1");
            ms.push("2");
            ms.push("3");
            ms.push("4");
            
            System.out.println(ms.pop());
            System.out.println(ms.pop());
            System.out.println(ms.peek());
            System.out.println(ms.empty());
           }
          }




          package l6;

          import java.util.LinkedList;

          /**
           * 實(shí)現(xiàn)隊(duì)列的數(shù)據(jù)結(jié)構(gòu)
           *
           */
          public class MyQueue {

           private LinkedList ll = new LinkedList();

           public void put(Object o) {
            ll.addLast(o);
           }

           public Object get() {
            return ll.removeFirst();
           }

           public Object peek() {
            return ll.getFirst();
           }

           public boolean empty() {
            return ll.isEmpty();
           }

           /**
            * @param args
            */
           public static void main(String[] args) {

            MyQueue mq = new MyQueue();
            mq.put("1");
            mq.put("2");
            mq.put("3");
            mq.put("4");
            mq.put("5");
            mq.put("6");

            System.out.println(mq.get());
            System.out.println(mq.get());
            System.out.println(mq.get());
            System.out.println(mq.get());
            System.out.println(mq.peek());
            System.out.println(mq.empty());
           }

          }

          posted @ 2011-01-13 22:48 馮占科 閱讀(249) | 評(píng)論 (0)編輯 收藏

          //學(xué)生類
          package l6;

          import java.util.Comparator;

          public class Student implements Comparable {

           public int num;
           public String name;
           

           public Student(int num, String name) {
            this.num = num;
            this.name = name;
           }

           public int compareTo(Object o) {
            Student s = (Student) o;
            if (num > s.num) {
             return 1;
            } else if (num == s.num) {
             return 0;
            } else {
             return -1;
            }
           }

           public String toString() {
            return "num:" + num + " name:" + name;
           }

           public int compare(Object o1, Object o2) {
            // TODO Auto-generated method stub
            return 0;
           }
          }

          //學(xué)生比較器

          package l6;

          import java.util.Comparator;

          public  class StudentComparator implements Comparator {

           public int compare(Object o1, Object o2) {
            Student s1 = (Student) o1;
            Student s2 = (Student) o2;
            if (s1.num > s2.num) {
             return 1;
            } else if (s1.num < s2.num) {
             return -1;
            } else {
             return s1.name.compareTo(s2.name);
            }
           }
          }


          //測(cè)試類
          package l6;

          import java.util.ArrayList;
          import java.util.Collection;
          import java.util.Collections;
          import java.util.Iterator;

          public class ArrayListTest {

           /**
            * @param args
            */

           public static void main(String[] args) {

            ArrayList<Student> slist = new ArrayList<Student>();
            Student s1 = new Student(1, "z1");
            slist.add(s1);
            Student s3 = new Student(2, "z3");
            slist.add(s3);
            Student s2 = new Student(2, "z2");
            slist.add(s2);
            Student s5 = new Student(2, "z5");
            slist.add(s5);
            Student s4 = new Student(4, "z4");
            slist.add(s4);

             // Collections.sort(slist); //未使用比較器
              Collections.sort(slist, new StudentComparator());//未使用比較器
            PaintE(slist);

           }

           public static void PaintE(Collection c) {
            Iterator it = c.iterator();
            while(it.hasNext()){
             System.out.println(it.next().toString());
            }
            

           }

          }


           

           

          posted @ 2011-01-12 23:01 馮占科 閱讀(216) | 評(píng)論 (0)編輯 收藏


          //All the divs on the page:
          $$('div');

          //All the divs and paragraphs
          //note: this returns an array with all the divs first,then all the paragraphs:
          $$('div', 'p');

          //All the divs with the css class 'myClass':
          $$('div.myClass')

          /All the paragraphs that are inside divs:
          $$('div p');

          //All the bold tags in paragraphs with Class 'foo' in divs with class 'myClass':
          $$('div.myClass p.foo b');

          posted @ 2011-01-11 22:50 馮占科 閱讀(215) | 評(píng)論 (0)編輯 收藏


          <1>hasClass 應(yīng)用
          Examples:
          HTML
          <div id="myElement" class="testClass"></div>
          JavaScript
          $('myElement').hasClass('testClass'); // returns true

          <2>addClass 應(yīng)用

          Examples:
          HTML
          <div id="myElement" class="testClass"></div>
          JavaScript
          $('myElement').addClass('newClass');

          <3>removeClass 應(yīng)用
          Examples:
          HTML
          <div id="myElement" class="testClass newClass"></div>
          JavaScript
          $('myElement').removeClass('newClass');
          Resulting HTML
          <div id="myElement" class="testClass"></div>

          <4>toggleClass 應(yīng)用
          Adds or removes the passed in class name to the Element, depending on whether or not it's already present.
          Examples:
          HTML
          <div id="myElement" class="myClass"></div>
          JavaScript
          $('myElement').toggleClass('myClass');
          Resulting HTML
          <div id="myElement" class=""></div>

          JavaScript
          $('myElement').toggleClass('myClass');
          Resulting HTML
          <div id="myElement" class="myClass"></div>

           

          posted @ 2011-01-11 22:21 馮占科 閱讀(1302) | 評(píng)論 (0)編輯 收藏
                  打印集合類的對(duì)象,將調(diào)用所有元素的toString()方法,如果是自己寫的類,則要實(shí)現(xiàn)toString()方法;
          posted @ 2011-01-05 22:40 馮占科 閱讀(136) | 評(píng)論 (0)編輯 收藏
           

          Java關(guān)鍵字finalstatic使用總結(jié)

          Java關(guān)鍵字final有“這是無(wú)法改變的”或者“終態(tài)的”含義,它可以修飾非抽象類、非抽象類成員方法和變量。你可能出于兩種理解而需要阻止改變:設(shè)計(jì)或效率。

          final類不能被繼承,沒(méi)有子類,final類中的方法默認(rèn)是final的。

          final方法不能被子類的方法覆蓋,但可以被繼承。

          final成員變量表示常量,只能被賦值一次,賦值后值不再改變。

          final不能用于修飾構(gòu)造方法。

          注意:父類的private成員方法是不能被子類方法覆蓋的,因此private類型的方法默認(rèn)是final類型的。

          1final

           final類不能被繼承,因此final類的成員方法沒(méi)有機(jī)會(huì)被覆蓋,默認(rèn)都是final的。在設(shè)計(jì)類時(shí)候,如果這個(gè)類不需要有子類,類的實(shí)現(xiàn)細(xì)節(jié)不允許改變,并且確信這個(gè)類不會(huì)載被擴(kuò)展,那么就設(shè)計(jì)為final類。

          2final方法

          如果一個(gè)類不允許其子類覆蓋某個(gè)方法,則可以把這個(gè)方法聲明為final方法。

          使用final方法的原因有二:

          第一、把方法鎖定,防止任何繼承類修改它的意義和實(shí)現(xiàn)。

          第二、高效。編譯器在遇到調(diào)用final方法時(shí)候會(huì)轉(zhuǎn)入內(nèi)嵌機(jī)制,大大提高執(zhí)行效率。

          3final變量(常量)

           用final修飾的成員變量表示常量,值一旦給定就無(wú)法改變!

           final修飾的變量有三種:靜態(tài)變量、實(shí)例變量和局部變量,分別表示三種類型的常量。

          4final參數(shù)

          當(dāng)函數(shù)參數(shù)為final類型時(shí),你可以讀取使用該參數(shù),但是無(wú)法改變?cè)搮?shù)的值。

          二、static

           static表示“全局”或者“靜態(tài)”的意思,用來(lái)修飾成員變量和成員方法,也可以形成靜態(tài)static代碼塊,但是Java語(yǔ)言中沒(méi)有全局變量的概念。

           static修飾的成員變量和成員方法獨(dú)立于該類的任何對(duì)象。也就是說(shuō),它不依賴類特定的實(shí)例,被類的所有實(shí)例共享。只要這個(gè)類被加載,Java虛擬機(jī)就能根據(jù)類名在運(yùn)行時(shí)數(shù)據(jù)區(qū)的方法區(qū)內(nèi)定找到他們。因此,static對(duì)象可以在它的任何對(duì)象創(chuàng)建之前訪問(wèn),無(wú)需引用任何對(duì)象。

           public修飾的static成員變量和成員方法本質(zhì)是全局變量和全局方法,當(dāng)聲明它類的對(duì)象市,不生成static變量的副本,而是類的所有實(shí)例共享同一個(gè)static變量。

           static變量前可以有private修飾,表示這個(gè)變量可以在類的靜態(tài)代碼塊中,或者類的其他靜態(tài)成員方法中使用(當(dāng)然也可以在非靜態(tài)成員方法中使用--廢話),但是不能在其他類中通過(guò)類名來(lái)直接引用,這一點(diǎn)很重要。實(shí)際上你需要搞明白,private是訪問(wèn)權(quán)限限定,static表示不要實(shí)例化就可以使用,這樣就容易理解多了。static前面加上其它訪問(wèn)權(quán)限關(guān)鍵字的效果也以此類推。

           static修飾的成員變量和成員方法習(xí)慣上稱為靜態(tài)變量和靜態(tài)方法,可以直接通過(guò)類名來(lái)訪問(wèn),訪問(wèn)語(yǔ)法為:

          類名.靜態(tài)方法名(參數(shù)列表...)

          類名.靜態(tài)變量名

           用static修飾的代碼塊表示靜態(tài)代碼塊,當(dāng)Java虛擬機(jī)(JVM)加載類時(shí),就會(huì)執(zhí)行該代碼塊(用處非常大,呵呵)。

          1static變量

           按照是否靜態(tài)的對(duì)類成員變量進(jìn)行分類可分兩種:一種是被static修飾的變量,叫靜態(tài)變量或類變量;另一種是沒(méi)有被static修飾的變量,叫實(shí)例變量。兩者的區(qū)別是:

           對(duì)于靜態(tài)變量在內(nèi)存中只有一個(gè)拷貝(節(jié)省內(nèi)存),JVM只為靜態(tài)分配一次內(nèi)存,在加載類的過(guò)程中完成靜態(tài)變量的內(nèi)存分配,可用類名直接訪問(wèn)(方便),當(dāng)然也可以通過(guò)對(duì)象來(lái)訪問(wèn)(但是這是不推薦的)。

           對(duì)于實(shí)例變量,沒(méi)創(chuàng)建一個(gè)實(shí)例,就會(huì)為實(shí)例變量分配一次內(nèi)存,實(shí)例變量可以在內(nèi)存中有多個(gè)拷貝,互不影響(靈活)。

          2、靜態(tài)方法

           靜態(tài)方法可以直接通過(guò)類名調(diào)用,任何的實(shí)例也都可以調(diào)用,因此靜態(tài)方法中不能用thissuper關(guān)鍵字,不能直接訪問(wèn)所屬類的實(shí)例變量和實(shí)例方法(就是不帶static的成員變量和成員成員方法),只能訪問(wèn)所屬類的靜態(tài)成員變量和成員方法。因?yàn)閷?shí)例成員與特定的對(duì)象關(guān)聯(lián)!這個(gè)需要去理解,想明白其中的道理,不是記憶!!!

           因?yàn)?/span>static方法獨(dú)立于任何實(shí)例,因此static方法必須被實(shí)現(xiàn),而不能是抽象的abstract

          3static代碼塊

           static代碼塊也叫靜態(tài)代碼塊,是在類中獨(dú)立于類成員的static語(yǔ)句塊,可以有多個(gè),位置可以隨便放,它不在任何的方法體內(nèi),JVM加載類時(shí)會(huì)執(zhí)行這些靜態(tài)的代碼塊,如果static代碼塊有多個(gè),JVM將按照它們?cè)陬愔谐霈F(xiàn)的先后順序依次執(zhí)行它們,每個(gè)代碼塊只會(huì)被執(zhí)行一次。

           利用靜態(tài)代碼塊可以對(duì)一些static變量進(jìn)行賦值,最后再看一眼這些例子,都一個(gè)staticmain方法,這樣JVM在運(yùn)行main方法的時(shí)候可以直接調(diào)用而不用創(chuàng)建實(shí)例。

          4staticfinal一塊用表示什么

          static final用來(lái)修飾成員變量和成員方法,可簡(jiǎn)單理解為“全局常量”!

          對(duì)于變量,表示一旦給值就不可修改,并且通過(guò)類名可以訪問(wèn)。

          對(duì)于方法,表示不可覆蓋,并且可以通過(guò)類名直接訪問(wèn)。

          posted @ 2011-01-05 21:51 馮占科 閱讀(213) | 評(píng)論 (0)編輯 收藏

            

          為了獲取對(duì)象的一份拷貝,我們可以利用Object類的clone()方法。
          在派生類中覆蓋基類的clone()方法,并聲明為public。
          在派生類的clone()方法中,調(diào)用super.clone()。
          在派生類中實(shí)現(xiàn)Cloneable接口。

          為什么我們?cè)谂缮愔懈采wObject的clone()方法時(shí),一定要調(diào)用super.clone()呢?在運(yùn)行時(shí)刻,Object中的clone()識(shí)別出你要復(fù)制的是哪一個(gè)對(duì)象,然后為此對(duì)象分配空間,并進(jìn)行對(duì)象的復(fù)制,將原始對(duì)象的內(nèi)容一一復(fù)制到新對(duì)象的存儲(chǔ)空間中。


            Student s1 = new Student("gaoer", 14);
            System.out.println("s1name=" + s1.getName());
            
            Student s2 = s1; // 未使用clone,他倆使用一個(gè)地址,
            s2.setAge(12);
            s2.setName("zhangsan");
            System.out.println("s1name=" + s1.getName());

            Student s3 = (Student) s1.clone();
            s3.setAge(12);
            s3.setName("lisi");
            System.out.println("s1name=" + s1.getName());


          package l4;
          /**
           *
           * @author Administrator
           * 當(dāng)沒(méi)有引用類型的變量時(shí),為淺層次的拷貝
           *
           */
          public class Student implements Cloneable {
           private String name;
           private int age;

           public Student(String name, int age) {

            this.name = name;
            this.age = age;
           }

           public String getName() {
            return name;
           }

           public void setName(String name) {
            this.name = name;
           }

           public int getAge() {
            return age;
           }

           public void setAge(int age) {
            this.age = age;
           }

           protected Object clone() throws CloneNotSupportedException {

            Object o = null;
            o = super.clone();
            return o;
           }

          }







          package l4;
          /**
           *
           * @author Administrator
           * 當(dāng)沒(méi)有引用類型的變量時(shí),為淺層次的克隆
           * 當(dāng)有引用類型的變量時(shí),為深層次的克隆
           */
          public class Student implements Cloneable {
           private String name;
           private int age;
           Point pt;

           public Student(String name, int age) {

            this.name = name;
            this.age = age;
           }
           public Student(String name, int age,Point pt) {

            this.name = name;
            this.age = age;
            this.pt = pt;
           }


           public String getName() {
            return name;
           }

           public void setName(String name) {
            this.name = name;
           }

           public int getAge() {
            return age;
           }

           public void setAge(int age) {
            this.age = age;
           }

           protected Object clone() throws CloneNotSupportedException {

            Student o = null;
            o = (Student)super.clone();
            o.pt = (Point)pt.clone();
            return o;
           }

          }




          package l4;

          public class Point implements Cloneable {
           public int x;
           public int y;

           @Override
           public String toString() {
            return "x=" + x + "y=" + y;
           }

           protected Object clone() throws CloneNotSupportedException {
            Object o = null;
            o = super.clone();
            return o;
           }
          }


          posted @ 2011-01-04 22:16 馮占科 閱讀(166) | 評(píng)論 (0)編輯 收藏
          java 函數(shù)參數(shù)傳遞都是傳值
          對(duì)于基本數(shù)據(jù)類型,傳遞的是數(shù)據(jù)的拷貝;
          對(duì)于引用類型,傳遞的是引用的拷貝; 

            int x = 3;
            int y = 4;
            change(x, y);
            System.out.println("x=" + x + "y=" + y);
            //不可交換

            int[] num1 = new int[]{3,4};
            change(num1);
            System.out.println("num x=" + num1[0] + "num y=" + num1[1]);
            //可交換

            Point pt = new Point();
            pt.x = 3;
            pt.y = 4;
            change(pt);
            System.out.println("pt.x=" + pt.x + "pt.y=" + pt.y);
          //可交換

          public static void change(int x, int y) {
            x = x + y;
            y = x - y;
            x = x - y;
           }

           public static void change(int[] num) {
            num[0] = num[0] + num[1];
            num[1] = num[0] - num[1];
            num[0] = num[0] - num[1];
           }

           public static void change(Point pt) {
            pt.x = pt.x + pt.y;
            pt.y = pt.x - pt.y;
            pt.x = pt.x - pt.y;
           }


          posted @ 2011-01-04 21:14 馮占科 閱讀(182) | 評(píng)論 (0)編輯 收藏

          Eclipse快捷鍵大全
          Ctrl+1 快速修復(fù)(最經(jīng)典的快捷鍵,就不用多說(shuō)了)
          Ctrl+D: 刪除當(dāng)前行
          Ctrl+Alt+↓ 復(fù)制當(dāng)前行到下一行(復(fù)制增加)
          Ctrl+Alt+↑ 復(fù)制當(dāng)前行到上一行(復(fù)制增加)
          Alt+↓ 當(dāng)前行和下面一行交互位置(特別實(shí)用,可以省去先剪切,再粘貼了)
          Alt+↑ 當(dāng)前行和上面一行交互位置(同上)
          Alt+← 前一個(gè)編輯的頁(yè)面
          Alt+→ 下一個(gè)編輯的頁(yè)面(當(dāng)然是針對(duì)上面那條來(lái)說(shuō)了)
          Alt+Enter 顯示當(dāng)前選擇資源(工程,or 文件 or文件)的屬性
          Shift+Enter 在當(dāng)前行的下一行插入空行(這時(shí)鼠標(biāo)可以在當(dāng)前行的任一位置,不一定是最后)
          Shift+Ctrl+Enter 在當(dāng)前行插入空行(原理同上條)
          Ctrl+Q 定位到最后編輯的地方
          Ctrl+L 定位在某行 (對(duì)于程序超過(guò)100的人就有福音了)
          Ctrl+M 最大化當(dāng)前的Edit或View (再按則反之)
          Ctrl+/ 注釋當(dāng)前行,再按則取消注釋
          Ctrl+O 快速顯示 OutLine
          Ctrl+T 快速顯示當(dāng)前類的繼承結(jié)構(gòu)
          Ctrl+W 關(guān)閉當(dāng)前Editer
          Ctrl+K 參照選中的Word快速定位到下一個(gè)
          Ctrl+E 快速顯示當(dāng)前Editer的下拉列表(如果當(dāng)前頁(yè)面沒(méi)有顯示的用黑體表示)
          Ctrl+/(小鍵盤) 折疊當(dāng)前類中的所有代碼
          Ctrl+×(小鍵盤) 展開(kāi)當(dāng)前類中的所有代碼
          Ctrl+Space 代碼助手完成一些代碼的插入(但一般和輸入法有沖突,可以修改輸入法的熱鍵,也可以暫用Alt+/來(lái)代替)
          Ctrl+Shift+E 顯示管理當(dāng)前打開(kāi)的所有的View的管理器(可以選擇關(guān)閉,激活等操作)
          Ctrl+J 正向增量查找(按下Ctrl+J后,你所輸入的每個(gè)字母編輯器都提供快速匹配定位到某個(gè)單詞,如果沒(méi)有,則在stutes line中顯示沒(méi)有找到了,查一個(gè)單詞時(shí),特別實(shí)用,這個(gè)功能Idea兩年前就有了)
          Ctrl+Shift+J 反向增量查找(和上條相同,只不過(guò)是從后往前查)
          Ctrl+Shift+F4 關(guān)閉所有打開(kāi)的Editer
          Ctrl+Shift+X 把當(dāng)前選中的文本全部變味小寫
          Ctrl+Shift+Y 把當(dāng)前選中的文本全部變?yōu)樾?br /> Ctrl+Shift+F 格式化當(dāng)前代碼
          Ctrl+Shift+P 定位到對(duì)于的匹配符(譬如{}) (從前面定位后面時(shí),光標(biāo)要在匹配符里面,后面到前面,則反之)

          下面的快捷鍵是重構(gòu)里面常用的,本人就自己喜歡且常用的整理一下(注:一般重構(gòu)的快捷鍵都是Alt+Shift開(kāi)頭的了)
          Alt+Shift+R 重命名 (是我自己最愛(ài)用的一個(gè)了,尤其是變量和類的Rename,比手工方法能節(jié)省很多勞動(dòng)力)
          Alt+Shift+M 抽取方法 (這是重構(gòu)里面最常用的方法之一了,尤其是對(duì)一大堆泥團(tuán)代碼有用)
          Alt+Shift+C 修改函數(shù)結(jié)構(gòu)(比較實(shí)用,有N個(gè)函數(shù)調(diào)用了這個(gè)方法,修改一次搞定)
          Alt+Shift+L 抽取本地變量( 可以直接把一些魔法數(shù)字和字符串抽取成一個(gè)變量,尤其是多處調(diào)用的時(shí)候)
          Alt+Shift+F 把Class中的local變量變?yōu)閒ield變量 (比較實(shí)用的功能)
          Alt+Shift+I 合并變量(可能這樣說(shuō)有點(diǎn)不妥Inline)
          Alt+Shift+V 移動(dòng)函數(shù)和變量(不怎么常用)
          Alt+Shift+Z 重構(gòu)的后悔藥(Undo)

          編輯
          作用域 功能 快捷鍵
          全局 查找并替換 Ctrl+F
          文本編輯器 查找上一個(gè) Ctrl+Shift+K
          文本編輯器 查找下一個(gè) Ctrl+K
          全局 撤銷 Ctrl+Z
          全局 復(fù)制 Ctrl+C
          全局 恢復(fù)上一個(gè)選擇 Alt+Shift+↓
          全局 剪切 Ctrl+X
          全局 快速修正 Ctrl1+1
          全局 內(nèi)容輔助 Alt+/
          全局 全部選中 Ctrl+A
          全局 刪除 Delete
          全局 上下文信息 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+V
          全局 重做 Ctrl+Y

           
          查看
          作用域 功能 快捷鍵
          全局 放大 Ctrl+=
          全局 縮小 Ctrl+-

           
          窗口
          作用域 功能 快捷鍵
          全局 激活編輯器 F12
          全局 切換編輯器 Ctrl+Shift+W
          全局 上一個(gè)編輯器 Ctrl+Shift+F6
          全局 上一個(gè)視圖 Ctrl+Shift+F7
          全局 上一個(gè)透視圖 Ctrl+Shift+F8
          全局 下一個(gè)編輯器 Ctrl+F6
          全局 下一個(gè)視圖 Ctrl+F7
          全局 下一個(gè)透視圖 Ctrl+F8
          文本編輯器 顯示標(biāo)尺上下文菜單 Ctrl+W
          全局 顯示視圖菜單 Ctrl+F10
          全局 顯示系統(tǒng)菜單 Alt+-

           
          導(dǎo)航
          作用域 功能 快捷鍵
          Java編輯器 打開(kāi)結(jié)構(gòu) Ctrl+F3
          全局 打開(kāi)類型 Ctrl+Shift+T
          全局 打開(kāi)類型層次結(jié)構(gòu) F4
          全局 打開(kāi)聲明 F3
          全局 打開(kāi)外部javadoc Shift+F2
          全局 打開(kāi)資源 Ctrl+Shift+R
          全局 后退歷史記錄 Alt+←
          全局 前進(jìn)歷史記錄 Alt+→
          全局 上一個(gè) Ctrl+,
          全局 下一個(gè) Ctrl+.
          Java編輯器 顯示大綱 Ctrl+O
          全局 在層次結(jié)構(gòu)中打開(kāi)類型 Ctrl+Shift+H
          全局 轉(zhuǎn)至匹配的括號(hào) Ctrl+Shift+P
          全局 轉(zhuǎn)至上一個(gè)編輯位置 Ctrl+Q
          Java編輯器 轉(zhuǎn)至上一個(gè)成員 Ctrl+Shift+↑
          Java編輯器 轉(zhuǎn)至下一個(gè)成員 Ctrl+Shift+↓
          文本編輯器 轉(zhuǎn)至行 Ctrl+L

           
          搜索
          作用域 功能 快捷鍵
          全局 出現(xiàn)在文件中 Ctrl+Shift+U
          全局 打開(kāi)搜索對(duì)話框 Ctrl+H
          全局 工作區(qū)中的聲明 Ctrl+G
          全局 工作區(qū)中的引用 Ctrl+Shift+G

           
          文本編輯
          作用域 功能 快捷鍵
          文本編輯器 改寫切換 Insert
          文本編輯器 上滾行 Ctrl+↑
          文本編輯器 下滾行 Ctrl+↓

           
          文件
          作用域 功能 快捷鍵
          全局 保存 Ctrl+X
          Ctrl+S
          全局 打印 Ctrl+P
          全局 關(guān)閉 Ctrl+F4
          全局 全部保存 Ctrl+Shift+S
          全局 全部關(guān)閉 Ctrl+Shift+F4
          全局 屬性 Alt+Enter
          全局 新建 Ctrl+N

           
          項(xiàng)目
          作用域 功能 快捷鍵
          全局 全部構(gòu)建 Ctrl+B

           
          源代碼
          作用域 功能 快捷鍵
          Java編輯器 格式化 Ctrl+Shift+F
          Java編輯器 取消注釋 Ctrl+\
          Java編輯器 注釋 Ctrl+/
          Java編輯器 添加導(dǎo)入 Ctrl+Shift+M
          Java編輯器 組織導(dǎo)入 Ctrl+Shift+O
          Java編輯器 使用try/catch塊來(lái)包圍 未設(shè)置,太常用了,所以在這里列出,建議自己設(shè)置。
          也可以使用Ctrl+1自動(dòng)修正。

           
          運(yùn)行
          作用域 功能 快捷鍵
          全局 單步返回 F7
          全局 單步跳過(guò) F6
          全局 單步跳入 F5
          全局 單步跳入選擇 Ctrl+F5
          全局 調(diào)試上次啟動(dòng) F11
          全局 繼續(xù) F8
          全局 使用過(guò)濾器單步執(zhí)行 Shift+F5
          全局 添加/去除斷點(diǎn) Ctrl+Shift+B
          全局 顯示 Ctrl+D
          全局 運(yùn)行上次啟動(dòng) Ctrl+F11
          全局 運(yùn)行至行 Ctrl+R
          全局 執(zhí)行 Ctrl+U

           
          重構(gòu)
          作用域 功能 快捷鍵
          全局 撤銷重構(gòu) Alt+Shift+Z
          全局 抽取方法 Alt+Shift+M
          全局 抽取局部變量 Alt+Shift+L
          全局 內(nèi)聯(lián) Alt+Shift+I
          全局 移動(dòng) Alt+Shift+V
          全局 重命名 Alt+Shift+R
          全局 重做 Alt+Shift+Y

          posted @ 2011-01-03 19:56 馮占科 閱讀(80) | 評(píng)論 (0)編輯 收藏
          主站蜘蛛池模板: 鄯善县| 衢州市| 张家口市| 南陵县| 五寨县| 东辽县| 惠水县| 津市市| 台北县| 彰武县| 邵阳市| 炎陵县| 华阴市| 宿州市| 鄂托克旗| 益阳市| 大港区| 怀仁县| 奉化市| 迁安市| 丹东市| 搜索| 乐都县| 江安县| 嘉祥县| 沾化县| 闽清县| 石河子市| 昌图县| 塘沽区| 河北区| 泸溪县| 新巴尔虎右旗| 华蓥市| 广宗县| 东安县| 抚远县| 枣阳市| 麟游县| 高雄县| 福鼎市|