自由飛翔

          我在仰望,java之上

          統(tǒng)計(jì)

          留言簿(2)

          我關(guān)注的blog

          閱讀排行榜

          評論排行榜

          2012年3月21日 #

          編碼至高法則-高內(nèi)聚低耦合

               摘要: 此法則適合所有語言,咱們以JavaScript和Java兩個角度分析一下這個東東。 一、javascript 有這樣的一個頁面,js、css代碼都寫在html頁面中。 例如:gnj.html v1版本Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-...  閱讀全文

          posted @ 2019-09-11 15:59 GavinMiao 閱讀(235) | 評論 (0)編輯 收藏

          Jgoodies FormLayout 小結(jié)


          一、列與行的參數(shù)都由三個部分組成:對齊方式、固定尺寸、調(diào)整方式。
          1.對齊方式:
          1)列對齊有l(wèi)eft, center, right, fill.默認(rèn)fill
          2)行對齊有:top, center, bottom, fill. 其中fill表示填充至整個區(qū)域。默認(rèn)center。
          2.固定尺寸:
          pref表示preferred size,適當(dāng)大小,即首選尺寸大小。
          min表示minimum size,
          dlu 表示dialog units,
          px, pt, in, mm, cm)分別表示Pixel, Points, Inches, Millimeter, Centimeter。
          3. 調(diào)整方式:
          二、CellConstraints:
          cc.xywh(3, 1, 3, 1):表示3列,1行,colspan=3,rowspan=1
          三、FormLayout:
            1.FormLayout layout = new FormLayout(
             new ColumnSpec[]{
               FormSpecs.DEFAULT_COLSPEC,
               FormSpecs.GLUE_COLSPEC,
               FormSpecs.DEFAULT_COLSPEC,
               FormSpecs.GLUE_COLSPEC,
               FormSpecs.DEFAULT_COLSPEC,
               FormSpecs.GLUE_COLSPEC},
             new RowSpec[]{
               FormSpecs.DEFAULT_ROWSPEC,
               FormSpecs.GLUE_ROWSPEC,
               FormSpecs.DEFAULT_ROWSPEC,
               FormSpecs.GLUE_ROWSPEC,
               FormSpecs.DEFAULT_ROWSPEC,
               FormSpecs.GLUE_ROWSPEC
             }
            );
          2.

          FormLayout layout = new FormLayout( 
                  "right:pref, 6dlu, 50dlu, 4dlu, center:50dlu", // columns
                  "pref, 3dlu, pref, 3dlu, pref"); // rows   





          參考文章:
          http://hi.baidu.com/lijunwyf/item/a18d95f719ff01da6225d26f

          posted @ 2012-09-29 11:29 GavinMiao 閱讀(1329) | 評論 (0)編輯 收藏

          Vector淺見

          例子:
          import java.util.*;
          public class TestVector{
           public static void main(String[] args){
            Vector v = new Vector();
            v.add(null);
            v.add(new Integer(1));
            v.add("123");
            
            for(Enumeration e = v.elements();e.hasMoreElements();){
             System.out.println(e.nextElement());
            }
            v.insertElementAt("insert",2);
            v.setElementAt("insert",0);
            
            for(Enumeration e = v.elements();e.hasMoreElements();){
             System.out.println(e.nextElement());
            }
            
           }
          }

          結(jié)果:
          null
          1
          123

          insert
          1
          insert
          123
           
          結(jié)論:
          vector中可以放入null;
          vector可以放入不同類型的對象;
          vector是同步的容量自增長的向量;

          posted @ 2012-09-24 08:49 GavinMiao 閱讀(324) | 評論 (0)編輯 收藏

          火車票訂票好辦法

          一、前提須知:
          1.北京鐵路局:
          直屬站15個:北京站北京西站天津站天津西站豐臺站豐臺西站南倉站塘沽站唐山站石家莊站石家莊南站、邯鄲站、陽泉站、北京南站、天津西站。
          2.鄭州鐵路局:
          直屬車站11個:鄭州站、鄭州北站、鄭州東站、洛陽站、新鄉(xiāng)站、開封站、商丘站、月山站、長治北站、長治站。
          二、
          北京電話訂票竅門:1、座機(jī)打!;2.用手機(jī)加區(qū)號打!北京鐵路局管內(nèi),如唐山區(qū)號:打0315-95105105,手機(jī)打95105105的有效區(qū)號:河北省邯鄲0310石家莊0311保定0312張家口0313承德0314唐山0315廊坊0316滄州0317衡水0318邢臺0319秦皇島0335山東德州0534山西陽泉0353天津022。訂好之后可以在北京取票!!

          posted @ 2012-09-18 07:55 GavinMiao 閱讀(384) | 評論 (0)編輯 收藏

          異常積累:org.hibernate.StaleStateException

          ERROR - Exception executing batch: 
          org.hibernate.StaleStateException: Batch update returned unexpected row count fr
          om update [0]; actual row count: 0; expected: 1

          ERROR - Could not synchronize database state with session
          org.hibernate.StaleStateException: Batch update returned unexpected row count fr
          om update [0]; actual row count: 0; expected: 1


          不注意的話,還真的有點(diǎn)無所適從,Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
          這個異常是由于主鍵設(shè)置為自增長,而在我們插入記錄的時候設(shè)置了ID的值導(dǎo)致的。看下我的Hibernate映射文件中ID的定義:

          參考文章:http://hi.baidu.com/shirdrn/blog/item/adec1e82d067ddb86c81191c.html

          posted @ 2012-04-18 15:33 GavinMiao 閱讀(10589) | 評論 (0)編輯 收藏

          java.lang.IllegalStateException: Cannot forward after response has been committed

          現(xiàn)象:
          頁面報(bào)500.
          原因:
          在request.getRequestDispatcher("/success.html").forward(request, response);
          后面還有未執(zhí)行的代碼,但是已經(jīng)提交了響應(yīng)。

          posted @ 2012-04-14 09:08 GavinMiao 閱讀(484) | 評論 (0)編輯 收藏

          UML初接觸

          1.UML:unified modeling Language(統(tǒng)一建模語言)
          2.草圖與藍(lán)圖:
          前者指:手工繪制的、規(guī)范度較低的UML模型;
          后者指:case工具繪制的正式的、規(guī)范的UML模型;
          3.不同可視性的符號:
          “+”:public   “#”:protected  “-”:private  “~”:package
          4.UML主要包含三種圖:靜態(tài)圖、動態(tài)圖、物理圖
          5.關(guān)聯(lián)關(guān)系:用來表示一個對象持有另外一個對象的引用,或是調(diào)用另外一個對象的方法
          6.類圖:


          7.類圖之間的關(guān)聯(lián):
          —▷▷  —>持有

          posted @ 2012-04-13 11:34 GavinMiao 閱讀(324) | 評論 (0)編輯 收藏

          面試題(互聯(lián)網(wǎng)網(wǎng)上商城行業(yè))

              只有注冊用戶登錄后才能閱讀該文。閱讀全文

          posted @ 2012-04-12 22:39 GavinMiao 閱讀(116) | 評論 (0)編輯 收藏

          不用臨時變量交換兩個數(shù)

          方法1:
          a=a^b;
          b=a^b;
          a=a^b;
          方法2:
          a=a+b;
          b=a-b;
          a=a-b;

          posted @ 2012-04-12 11:27 GavinMiao 閱讀(421) | 評論 (0)編輯 收藏

          易寶支付面試題(根據(jù)網(wǎng)上總結(jié))

          1.public class TestKnowleage5 {
          public static void main(String[] args){
          String strValue = "ABCDEFG";
          strValue.substring(3);
          System.out.println("result1"+strValue);
          strValue.concat("123");
          System.out.println("result2"+strValue);
          String value = new String("ABCDEFG");
          System.out.println(strValue==value);
          }
          }

          運(yùn)行結(jié)果:
          result1ABCDEFG
          result2ABCDEFG
          false
          2.public class Test{
              public static void main(String[] args){
                   int x = 100;
          int y = 200;
          if(x == y)
          System.out.println("not equal");
          else
          System.out.println("equal");
              }
          }

          運(yùn)行結(jié)果:
          equal

          3.public class TestKnowleage5 {
          public static void main(String[] args){
          try{
          new TestKnowleage5().methodA(5);
          }catch(IOException e){
          System.out.println("caught IOException");
          }catch(Exception e){
          System.out.println("caught Exception");
          }finally{
          System.out.println("no Exception");
          }
          }
          public void methodA(int i) throws IOException{
          if(i%2 != 0){
          throw new IOException("methodA IOException");
          }
          }
          }

          運(yùn)行結(jié)果:
          caught IOException
          no Exception

          4.public class TestKnowleage5 {
          static boolean isTrue(){
          System.out.println("isTrue");
          return true;
          }
          static boolean isFalse(){
          System.out.println("isFalse");
          return false;
          }
          public static void main(String[] args){
          if(isTrue() || isFalse()){
          System.out.println("|| operate return true");
          }
          if(isFalse() & isTrue()){
          System.out.println("& operate return true");
          }
          }
          }

          運(yùn)行結(jié)果:
          isTrue
          || operate return true
          isFalse
          isTrue

          5.public class TestKnowleage5{
          public static void main(String args[]){
          MyThread t = new MyThread();
          t.run();
          t.start();
          System.out.println("A");
          }
          }
          class MyThread extends Thread{
          public void run(){
          try{
          Thread.currentThread().sleep(3000);
          }catch(InterruptedException e){
          }
          System.out.println("B");
          }
          }
          運(yùn)行結(jié)果:
          BBA或
          BAB
          6.class A{
          void fun1(){
          System.out.println(fun2());
          }
          int fun2(){
          return 123;
          }
          }
          public class TestKnowleage5  extends A{
          int fun2(){
          return 456;
          }
          public static void main(String[] args){
          A a;
          TestKnowleage5 b = new TestKnowleage5();
          b.fun1();
          a = b;
          a.fun1();
          }
          }

          運(yùn)行結(jié)果:
          456
          456
          7.class A{
          int val;
          public int getVal() {
          return val;
          }
          public void setVal(int val) {
          this.val = val;
          }
          }
          public class TestKnowleage5{
          public static void main(String[] args){
          A data = new A();
          ArrayList list = new ArrayList();
          for(int i=100;i<103;i++){
          data.setVal(i);
          list.add(data);
          }
          int j = 0;
          while(j<list.size()){
          A tmp = (A)list.get(j);
          System.out.println("list("+j+")="+tmp.getVal());
          j++;
          }
          }
          }

          運(yùn)行結(jié)果:
          list(0)=102
          list(1)=102
          list(2)=102

          8.hibernate導(dǎo)入大量數(shù)據(jù)時,為了避免內(nèi)存中產(chǎn)生大量對象,在編碼時注意什么,如何去除?

          9.視圖與表的區(qū)別
          10.觸發(fā)器有哪幾種類型
          11.
          事務(wù)操作有那幾個步驟
          12.寫出對應(yīng)正則表達(dá)式:
          1)1-6位字母或數(shù)字;
          [a-zA-Z0-9]{1,6}
          2)手機(jī)號(只能是139或159開頭,11位數(shù)字)
          1[35][9][0-9]{8}
          13.字符串反轉(zhuǎn):new StringBuilder(str).reverse().toString();
          14.寫程序:1+2²+3²+...+n²
          int func(int n){
              return n==1?1:func(n-1)+n*n
          }

          15.寫一個延遲加載的單例模式:
          public class SingleTon{
              private static  SingleTon  instance = null;
              private SingleTon(){}
              public static SingleTon getInstance(){
                  if(instance == null){
                          synchronized(""){
                              if(instance == null){return new SingleTon();}
                          }
                  }
                  return instance;
              }
          }

          16.
          JSP的9種內(nèi)置對象:
          request:
          HttpServletRequest類的實(shí)例,
          客戶端的請求信息被封裝在request對象中
          response:
          HttpServletResponse類的實(shí)例,
          response對象包含了響應(yīng)客戶請求的有關(guān)信息,但在JSP中很少直接用到它。
          out:
          out對象是JspWriter類的實(shí)例,是向客戶端輸出內(nèi)容常用的對象
          session:
          session對象指的是客戶端與服務(wù)器的一次會話,從客戶端連到服務(wù)器的一個WebApplication開始,直到客戶端與服務(wù)器斷開連接為止。它是HttpSession類的實(shí)例
          page:
          page對象就是指向當(dāng)前JSP頁面本身,有點(diǎn)象類中的this指針,它是java.lang.Object類的實(shí)例
          application:
          ServletContext類的實(shí)例,
          application對象實(shí)現(xiàn)了用戶間數(shù)據(jù)的共享,可存放全局變量。它開始于服務(wù)器的啟動,直到服務(wù)器的關(guān)閉
          exception:
          exception對象是一個例外對象,當(dāng)一個頁面在運(yùn)行過程中發(fā)生了例外,就產(chǎn)生這個對象。如果一個JSP頁面要應(yīng)用此對象,就必須把isErrorPage設(shè)為true,否則無法編譯。他實(shí)際上是java.lang.Throwable的對象
          pageContext:
          pageContext對象提供了對JSP頁面內(nèi)所有的對象及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當(dāng)于頁面中所有功能的集大成者,它的本類名也叫pageContext
          config:
          config對象是在一個Servlet初始化時,JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時所要用到的參數(shù)(通過屬性名和屬性值構(gòu)成)以及服務(wù)器的有關(guān)信息(通過傳遞一個ServletContext對象)
          17.session和cookie的區(qū)別?
          18.JDBC的操作步驟?

          posted @ 2012-04-11 11:32 GavinMiao 閱讀(1546) | 評論 (0)編輯 收藏

          面試題(移動通信方面)

          1.方法重載與多態(tài),簡述;
          2.什么是設(shè)計(jì)模式?使用過哪些?
          3.列出熟悉的java開源項(xiàng)目及簡述;
          4.一組radio,用alert彈出當(dāng)前所選的是第幾個radio?用原生javascript;
          5.function showme(){
          Book.prototype.abc = function(){
          alert('456');
          }
          var abook = new Book(1,2);
          Book.abc = function(){
          alert('123');
          }
          abook.abc();
          Book.abc();
          abc();//此方法調(diào)用瀏覽器會報(bào)錯,未定義
          }
          function Book(a,b){
          this.a = a;
          this.b = b;
          Book.abc = function(){
          alert('def');
          }
          this.abc = function(){
          alert('xyz');
          }
          abc = function(){
          alert('@@@@@@');
          }
          var abc = function(){
          alert('$$$$$$');
          }
          }

          點(diǎn)擊按鈕調(diào)用showme(),頁面顯示結(jié)果為:
          第一個彈出框:xyz
          第二個彈出框:123

          6.線程的四種狀態(tài)?
          7.ext有哪些組件?ext如何與后臺交互?
          8.HashMap放入、查找、刪除,將所有value放入一個數(shù)組,得到map中所有內(nèi)容;List添加、查找、刪除;
          9.List<Student> student(name,age) 比較oldList<Student>和newList<student>,按名字比較,獲得新增的、修改的、刪除學(xué)生列表;
          10.使用過哪些xml技術(shù)?怎么實(shí)現(xiàn)的?
          11.java異常:throws、throw、try、catch、finally,舉例,如何處理異常
          12.字符串反轉(zhuǎn):
          public class TestKnowleage5 {
          public static void main(String[] args){
          System.out.println(reverse("abc"));
          System.out.println(reverse2("abc"));
          System.out.println(reverse3("abc"));
          }
          public static String reverse(String str){
          return new StringBuffer(str).reverse().toString();
          }
          public static String reverse2(String str){
          char[] chs = str.toCharArray();
          char[] re = new char[chs.length];
          for(int i = 0 ; i<chs.length;i++){
          re[i] = chs[chs.length - i - 1]; 
          }
          return new String(re);
          }
          public static String reverse3(String str){
          char[] chs = str.toCharArray();
          String re = ""; 
          for(int i = 0;i<chs.length;i++){
          re += chs[chs.length - 1 -i];
          }
          return re;
          }
          }

          posted @ 2012-04-10 22:39 GavinMiao 閱讀(533) | 評論 (0)編輯 收藏

          面試題(ERP行業(yè))

          //此句,編譯無法通過,Cannot make a static reference to the non-static field b
          1.arrayList、linkedList、vector的區(qū)別
          2.
          寫幾種J2EE規(guī)范并簡要描述
          3.什么是設(shè)計(jì)模式?用過哪些設(shè)計(jì)模式?
          4.OO的四大特性是哪些?并簡要描述
          5.方法重載、多態(tài)概念及簡要描述;
          6.sql常用的優(yōu)化方法有哪些?
          7.sleep()與wait()的區(qū)別?
          8.
          public class TestException {
          public static void main(String[] args) {
          int i = 1;
          switch(i){
          case 0:
          System.out.println(0);
          break;
          case 1:
          System.out.println(1);
          default:
          System.out.println(4);
          case 2:
          System.out.println(2);
          case 3:
          System.out.println(3);
          }
          }
          }
          運(yùn)行結(jié)果:
          1
          4
          2
          3
          9.HashTable和HashMap的區(qū)別
          10.怎樣理解mvc模式?
          11.抽象類、接口的區(qū)別?
          12.智力題:
          有1-7號,7塊地,S、U、V、W、X 5個遺產(chǎn)繼承者,
          S若繼承2號,不能繼承3號;
          3號和4號不能同時繼承;
          S若繼承一塊或多塊地,則U不能繼承
          1塊地不能被2人合分;

          問:若S繼承2號地,剩余3個人中,不能同時哪2塊地?
          A:1和6 B:1和7 c:3和7 d:1和5 e:1和3
          13.
          public class TestKnowleage5 {
          static int a;
          int b,c=0;
          public static void main(String[] args){
          a++;
          b++;//此句,編譯無法通過,Cannot make a static reference to the non-static field b
          c++; //此句,編譯無法通過,cannot make a static reference to the non-static field c
          }
          }


          參考文章:

          posted @ 2012-04-10 21:59 GavinMiao 閱讀(522) | 評論 (0)編輯 收藏

          用友面試題(參考網(wǎng)上總結(jié)而出)

          1,有三個jsp頁面:a.jsp b.jsp c.jsp,流程是a.jsp--> b.jsp--> c.jsp,其中a.jsp提交的數(shù)據(jù)要在c.jsp中訪問,用最簡單的辦法怎么做?不用session。
          在b.jsp中放N個hidden隱藏域保存a.jsp中的數(shù)據(jù),一起提交到c.jsp,在c.jsp中取出。2.sql server支持集群么?
          支持,不過屬于熱備份類型,不能做負(fù)載均衡。不過符合你的條件
          首先系統(tǒng)做集群,數(shù)據(jù)庫文件放到磁盤陣列里,雙機(jī)或多機(jī)共同訪問磁盤陣列,就可以了,可以集群后做負(fù)載均衡;
          3.HashTable與HashMap的區(qū)別:
          1)HashMap非線程安全,HashTable線程安全;
          2)HashMap可放一條key為空的記錄,任意記錄的value可為空,hashTable不可以;
          3)hashMap去掉了contains方法,增加了containsKey和containsValue方法;
          4.如何理解mvc模式:
          mvc是sun提出的model2開發(fā)模式,將控制、視圖、模型進(jìn)行了分離;提高了可維護(hù)性、擴(kuò)展性、可移植性、組件的可復(fù)用性;
          5.SingleTon:
          6.對象序列化的含義:
          java序列化技術(shù)可以使你將一個對象的狀態(tài)寫入一個byte流里,并且可以從其它地方把該byte流里的數(shù)據(jù)讀出來,重新構(gòu)造一個相同的對象。
          這種機(jī)制允許你將對象通過網(wǎng)絡(luò)傳播,并且隨時可以把對象持久化到數(shù)據(jù)庫、文件等系統(tǒng)里,java的序列化技術(shù)是RMI、EJB等技術(shù)的基礎(chǔ);
          實(shí)現(xiàn)方法:implements Serializable標(biāo)記為可序列化,然后用ObjectOutputStream和ObjectInputStream讀寫;
          7.數(shù)據(jù)庫中的鎖包含哪些?
          排它鎖和共享鎖
          8.jsp和servlet的區(qū)別:
          1)簡單來說:jsp就是含有java代碼的html,servlet就是含有html的java代碼;
          2)jsp最終被解釋成servlet,編譯再執(zhí)行,jsp不過是servlet的另一種編寫形式;
          3)jsp擅長表示,servlet擅長數(shù)據(jù)處理,在mvc中jsp處于視圖層,servlet處于控制層;
          9.oracle在數(shù)據(jù)庫中的交集怎么表示:
          1)用intersect操作符 2)用in 語句
          9.JNDI、JMS、JTA、RMI:

          JNDI:java naming and directory interface java命名目錄接口
          JMS:java messing service java消息服務(wù)
          JTA:java transaction api java事務(wù)api
          RMI:
          Remote Method Invocation 遠(yuǎn)程方法調(diào)用

          10.事務(wù):

          1)ACID屬性:
          A:atomic 原子性
          C:consistent 一致性
          I:isolation 隔離性
          D:duration 持久性
          2)概念:事務(wù)就是一系列操作,它們完成一項(xiàng)任務(wù)。只要這些操作里有一項(xiàng)沒成功,事務(wù)就操作失敗,發(fā)生回滾事件。即撤銷前面的操作,這樣可以保證數(shù)據(jù)的一致性。而且可以把操作放在緩存里,等所有操作都成功就提交數(shù)據(jù)庫,這樣保證費(fèi)時的操作都是有效操作。
          3)隔離級別 4)傳播行為
          參考文檔:http://wenku.baidu.com/view/56a532eb856a561252d36f81.html

          posted @ 2012-04-09 11:32 GavinMiao 閱讀(1079) | 評論 (0)編輯 收藏

          面試題(某呼叫中心)

          1.String b = new String("1"+"2"); -->4個
          2.Customer(id,name,phone,country);每個客戶均有地區(qū)(country)屬性,每個地區(qū)可有1或多個客戶,查詢擁有超過10名客戶的地區(qū)的列表;
          3.public interface TreeNode{
              String getName();
              List getChildren();
          }
           寫一個print()方法,打印各級節(jié)點(diǎn)名稱.

          4.String與StringBuffer的區(qū)別?
          String
          5.ajax名詞解釋,它的核心價(jià)值及原理;
          6.事務(wù)的概念及名詞解釋;
          7.數(shù)據(jù)庫表之間有幾種關(guān)系,并舉例;
          8.Filter的原理,常見用例;
          9.視圖與表的區(qū)別?觸發(fā)器類型有哪些類型?
          10.建表及各種約束;
          11.hibernate導(dǎo)入大量數(shù)據(jù)時,為了避免內(nèi)存中產(chǎn)生大量對象,在編碼時注意什么,如何去除?

          posted @ 2012-04-07 00:14 GavinMiao 閱讀(763) | 評論 (0)編輯 收藏

          String面試題

              只有注冊用戶登錄后才能閱讀該文。閱讀全文

          posted @ 2012-04-06 18:26 GavinMiao 閱讀(87) | 評論 (0)編輯 收藏

          面試題(通信行業(yè)公司)

          一、unix:
          1.ps -ef|grep tomcat
          2.mkdir dir
          3.打tar包:tar -cvf XXX.tar XXX
          4.解壓tar包:tar -xvf XXX.tar
          二、java
          1.HashMap和HashTable的區(qū)別:
          HashMap不是線程安全的,
          HashTable是線程安全的
          HashTable不允許null值(key和value都不可以),HashMap允許null值(key和value都可以)。
          HashTable使用Enumeration,HashMap使用Iterator。
          HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。
          Hashtable是基于陳舊的Dictionary類,完成了Map接口;HashMap是Java 1.2引進(jìn)的Map接口的一個實(shí)現(xiàn)(HashMap繼承于AbstractMap,AbstractMap完成了Map接口)。
          HashTable中hash數(shù)組默認(rèn)大小是11,增加的方式是 old*2+1。HashMap中hash數(shù)組的默認(rèn)大小是16,而且一定是2的指數(shù)。
          哈希值的使用不同,HashTable直接使用對象的hashCode。
          2.什么是java的序列化?如何實(shí)現(xiàn)java的序列化:

          序列化就是一種用來處理對象流的機(jī)制,所謂對象流也就是將對象的內(nèi)容進(jìn)行流化。可以對流化后的對象進(jìn)行讀寫操作,也可將流化后的對象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對對象流進(jìn)行讀寫操作時所引發(fā)的問題。

          序列化的實(shí)現(xiàn):將需要被序列化的類實(shí)現(xiàn)Serializable接口,然后使用一個輸出流(如:FileOutputStream)來構(gòu)造一個ObjectOutputStream(對象流)對象,接著,使用ObjectOutputStream對象的writeObject(Object obj)方法就可以將參數(shù)為obj的對象寫出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流。

          3.什么是java的單例模式?寫一個單例模式;
          單例模式:確保某一個類只有一個實(shí)例,而且自行實(shí)例化并向整個系統(tǒng)提供這個實(shí)例。這個類稱為單例類。

            代碼清單1:餓漢式單例類

          public class EagerSingleton 

              private static final EagerSingleton m_instance = new EagerSingleton(); 

             /** 
             * 私有的默認(rèn)構(gòu)造方法 
             */
           
             private EagerSingleton() { } 

             /** 
             * 靜態(tài)方法獲得單例 
             */ 
             public static EagerSingleton getInstance() 
             {
                return m_instance; 
             }
          }

          代碼清單2:懶漢式單例類

          package com.javapatterns.singleton.demos;
          public class LazySingleton
          {
              private static LazySingleton m_instance = null;


              /**
              * 私有的默認(rèn)構(gòu)造方法,保證外界無法直接實(shí)例化
              */
              private LazySingleton() { }


              /**
              * 靜態(tài)方法,返還此類的惟一實(shí)例
              */
              public synchronized static LazySingleton getInstance()
              {
                  if (m_instance == null)
                  {
                      m_instance = new LazySingleton();
                  }
                  return m_instance;
              }
          }

          4.靜態(tài)塊與構(gòu)造器在繼承中的執(zhí)行順序:

          public class TestExeuteOrder {

          public static void main(String[] args) {
          Parent p = new ChildTest();
          p = new ChildTest();

          }

          }
          class ChildTest extends Parent{
          static{
          System.out.println("in child static");
          }
          public ChildTest(){
          System.out.println("in child construtor");
          }
          }

          class Parent{
          static{
          System.out.println("in parent static");
          }
          public Parent(){
          System.out.println("in parent construtor");
          }
          }
          運(yùn)行結(jié)果:
          in parent static
          in child static
          in parent construtor
          in child construtor
          in parent construtor
          in child construtor
          5.成員內(nèi)部類:
          public class TestExeuteOrder{
          class Inner{
          void test(){
          if(TestExeuteOrder.this.flag){
          System.out.println("what a funny");
          }
          }
          }
          private boolean flag = true;
          public TestExeuteOrder(){
          new Inner().test();
          }
          public static void main(String[] args){
          new TestExeuteOrder();
          }
          }
          運(yùn)行結(jié)果:
          what a funny
          6.參數(shù)傳遞:
          public class TestExeuteOrder{

          public static void main(String[] args){
          String a = "ello";
          TestExeuteOrder t = new TestExeuteOrder();
          t.change(a);
          System.out.println(a);
          }
          public void change(String str){
          str += "H";
          }
          }
          結(jié)果:
          ello
          7.參數(shù)傳遞2:
          public class TestExeuteOrder{

          public static void main(String[] args){
          StringBuffer x = new StringBuffer("A");
          StringBuffer y = new StringBuffer("B");
          change(x,y);
          System.out.println(x+" "+y);
          }
          public static void change(StringBuffer a,StringBuffer b){
          a.append(b);
          b = a;
          }
          }
          結(jié)果為:
          AB B
          8.

          public class TestExeuteOrder{
          public static void main(String[] args){
          String a = "good";
          char[] b = new char[]{'a','b','c'};
          method(a,b);
          System.out.println("a="+a+"------>b="+new String(b));
          }
          public static void method(String a,char[] b){
          a = "Test ok";
          b[0] = 'g';
          }
          }
          結(jié)果:
          a=good------>b=gbc
          三、SQL:

           

          1.存儲過程與函數(shù)的區(qū)別:
          1)前者,程序頭部聲明用的是procedure;后者,程序頭部聲明用的是function;
          2)前者,不需要描述返回類型,后者需要;
          3)前者可以作為一個獨(dú)立的pl/sql語句來執(zhí)行;后者不能獨(dú)立運(yùn)行,必須作為表達(dá)式的一部分條用;
          4)sql語句中不可調(diào)用procedure,但可以調(diào)用function;
          2.查詢student表中name重復(fù)的記錄:

          select * from student where name in(select name from student group by sname having count(*) >1);

          3.table表中有兩列A,B,如果A>B選擇A,如果A<B,選擇B:

          select( case when s1.A>s1.B then s1.A  when s1.A<s1.B then s1.B end) re from student s1;

           

          posted @ 2012-03-30 16:00 GavinMiao 閱讀(743) | 評論 (0)編輯 收藏

          異常積累:NoClassDefFoundError: org/hibernate/ConnectionReleaseMode Error creating bean with name 'sessionFactory'

          jar包不全,更新lib目錄后,不再報(bào)錯。

          posted @ 2012-03-28 16:06 GavinMiao 閱讀(399) | 評論 (0)編輯 收藏

          公司口碑及待遇評價(jià)的網(wǎng)站

          1.公司速查手冊 :http://www.b1.tooyard.com/
          2.分智網(wǎng):http://www.fenzhi.com/  
          3.我評it:http://wopingit.com/   
          4.企業(yè)點(diǎn)評網(wǎng):http://www.71dp.com/   
          5.中國企業(yè)評價(jià)網(wǎng): http://www.ceea.net.cn/  
          6.公司點(diǎn)評網(wǎng):http://www.gsdpw.com/  
          7.企業(yè)付費(fèi)邀請面試:http://www.tradecv.com/

          posted @ 2012-03-27 23:13 GavinMiao 閱讀(1134) | 評論 (1)編輯 收藏

          ftp-java實(shí)現(xiàn)

          一、利用框架:
          1.jre下的rt.jar中sun.net.ftpClient
          2.common net 中的ftp包
          二、ftp協(xié)議認(rèn)識:
          參考規(guī)范:RFC 959
          1.文件傳輸協(xié)議:file transfer protocol (ftp)
          2.名詞解釋:
          DTP:
          數(shù)據(jù)傳輸過程
          EOR:記錄尾
          PI:協(xié)議解釋器
          NTV:
          網(wǎng)絡(luò)虛擬終端
          NVFS:
          網(wǎng)絡(luò)虛擬文件系統(tǒng)
          3.
          控制連接是建立在USER-PIT和SERVER-PI之間用于交換命令與應(yīng)答的通信鏈路。
          4.
          數(shù)據(jù)連接是傳輸數(shù)據(jù)的全雙工連接。傳輸數(shù)據(jù)可以發(fā)生在服務(wù)器DTP和用戶DTP之間也可以發(fā)生在兩個服務(wù)器DTP之間。
          5.
          數(shù)據(jù)連接只傳輸數(shù)據(jù),控制連接傳送命令和響應(yīng)。
          6.
          FTP使用Telnet協(xié)議進(jìn)行控制連接
          7.




          參考文章:http://blog.csdn.net/williamzhou/article/details/215293 

          posted @ 2012-03-26 18:03 GavinMiao 閱讀(388) | 評論 (0)編輯 收藏

          ssh集成中session的管理(轉(zhuǎn)載)

               摘要: 文章來源:http://www.iteye.com/topic/7339711.通過getSession()方法獲得session進(jìn)行操作 Java代碼  public class Test  extends HibernateDaoSupport{      ...  閱讀全文

          posted @ 2012-03-23 15:33 GavinMiao 閱讀(4726) | 評論 (0)編輯 收藏

          spring2.0學(xué)習(xí)筆記

          一、setter DI:
          <bean>
              <property name="">
                  <ref bean="bean的name或id"/>
              </property>
              <property name="">
                  <!--內(nèi)部bean-->
                  <bean></bean>
              </property>
              <property name="">
                  <ref local="只能是同一文件的bean的id"/>
              </property>
              <!--idref元素用來引用其它bean的id,spring會驗(yàn)證id是否存在-->
              <property name="">
                  <idref bean=""/>
              </property>
              <!--idref元素的local屬性用來引用其它bean的id,spring會驗(yàn)證id是否存在,并且驗(yàn)證與引用的bean是否在同一文件-->
              <property name="">
                  <idref local=""/>
              </property>
              <property name="">
                  <value></value>
              </property>
              <property name="" ref=""/>
              <property name="" value=""/>
              <property name="">
                  <null/>
              </property>
              <property name="">
                      <props>
                          <prop key=""></prop>
                           <prop key=""></prop>
                      </props>
              </property>

              <property name="">
                  <list>
                      <value></value>
                      <ref bean=""/>    
                  </list>
              </property>

              <property name="">
                  <set>
                      <value></value>
                      <ref bean=""/>    
                  </set>
              </property>

              <property name="">
                  <map>
                      <entry>
                          <key>
                              <value></value>
                          </key>
                          <value></value>
                      </entry>
                      <entry key="" value=""/><!--推薦-->
                      <entry key="">
                          <value>
                          </value>
                      </entry>
                      <entry key-ref="" value-ref=""/>
                      <entry>
                          <key>
                              <value></value>
                          </key>
                          <ref bean=""/>
                      </entry>
                  </map>
              </property>
          </bean>
          二、contructor DI:
          <bean>
              <constructor-arg>
                  <ref bean=""/>
              </constructor-arg>
              <constructor-arg ref="bean的name或id"/>
              <constructor-arg value=""/>
              <constructor-arg type="" value=""/>
              <constructor-arg index="" value=""/><!--首選-->
          </bean>

          posted @ 2012-03-22 17:52 GavinMiao 閱讀(354) | 評論 (0)編輯 收藏

          spring1.1學(xué)習(xí)筆記

              只有注冊用戶登錄后才能閱讀該文。閱讀全文

          posted @ 2012-03-21 17:34 GavinMiao 閱讀(67) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 黑水县| 峨边| 根河市| 夹江县| 鞍山市| 兴和县| 安福县| 达日县| 民和| 汽车| 阿拉善左旗| 连云港市| 尉氏县| 康乐县| 永平县| 聂荣县| 琼海市| 夏津县| 遂昌县| 颍上县| 无极县| 汉阴县| 金溪县| 松桃| 万年县| 定西市| 禹州市| 岗巴县| 佛冈县| 陵水| 西平县| 哈巴河县| 海阳市| 闻喜县| 桐乡市| 芦溪县| 新乡县| 防城港市| 定西市| 广安市| 水富县|