隨筆 - 24  文章 - 0  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿

          隨筆分類(lèi)

          隨筆檔案

          搜索

          •  

          最新評(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 馮占科 閱讀(147) | 評(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 馮占科 閱讀(486) | 評(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é)生類(lèi)
          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è)試類(lèi)
          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 馮占科 閱讀(217) | 評(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 馮占科 閱讀(1303) | 評(píng)論 (0)編輯 收藏
                  打印集合類(lèi)的對(duì)象,將調(diào)用所有元素的toString()方法,如果是自己寫(xiě)的類(lèi),則要實(shí)現(xiàn)toString()方法;
          posted @ 2011-01-05 22:40 馮占科 閱讀(137) | 評(píng)論 (0)編輯 收藏
           

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

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

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

          final方法不能被子類(lèi)的方法覆蓋,但可以被繼承。

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

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

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

          1final類(lèi)

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

          2final方法

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

          使用final方法的原因有二:

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

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

          3final變量(常量)

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

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

          4final參數(shù)

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

          二、static

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

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

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

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

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

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

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

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

          1static變量

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

           對(duì)于靜態(tài)變量在內(nèi)存中只有一個(gè)拷貝(節(jié)省內(nèi)存),JVM只為靜態(tài)分配一次內(nèi)存,在加載類(lèi)的過(guò)程中完成靜態(tài)變量的內(nèi)存分配,可用類(lè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ò)類(lèi)名調(diào)用,任何的實(shí)例也都可以調(diào)用,因此靜態(tài)方法中不能用thissuper關(guān)鍵字,不能直接訪問(wèn)所屬類(lèi)的實(shí)例變量和實(shí)例方法(就是不帶static的成員變量和成員成員方法),只能訪問(wèn)所屬類(lèi)的靜態(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)代碼塊,是在類(lèi)中獨(dú)立于類(lèi)成員的static語(yǔ)句塊,可以有多個(gè),位置可以隨便放,它不在任何的方法體內(nèi),JVM加載類(lèi)時(shí)會(huì)執(zhí)行這些靜態(tài)的代碼塊,如果static代碼塊有多個(gè),JVM將按照它們?cè)陬?lèi)中出現(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ò)類(lèi)名可以訪問(wèn)。

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

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

            

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

          為什么我們?cè)谂缮?lèi)中覆蓋Object的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)有引用類(lè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)有引用類(lèi)型的變量時(shí),為淺層次的克隆
           * 當(dāng)有引用類(lèi)型的變量時(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 馮占科 閱讀(167) | 評(píng)論 (0)編輯 收藏
          java 函數(shù)參數(shù)傳遞都是傳值
          對(duì)于基本數(shù)據(jù)類(lèi)型,傳遞的是數(shù)據(jù)的拷貝;
          對(duì)于引用類(lèi)型,傳遞的是引用的拷貝; 

            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)編輯 收藏
          僅列出標(biāo)題
          共3頁(yè): 1 2 3 下一頁(yè) 
          主站蜘蛛池模板: 荆州市| 花莲市| 花垣县| 随州市| 沙雅县| 淮北市| 三门县| 呼图壁县| 南和县| 驻马店市| 达日县| 顺昌县| 旺苍县| 靖边县| 乐东| 梅河口市| 安义县| 浦城县| 嘉荫县| 喀什市| 陆河县| 阳东县| 纳雍县| 海门市| 峨山| 阳新县| 深州市| 东乌| 宁阳县| 彰武县| 三穗县| 岳西县| 桐梓县| 香港 | 静安区| 普兰县| 广饶县| 乐至县| 肥乡县| 龙游县| 江陵县|