飛翔的起點

          從這里出發(fā)

          導航

          <2009年9月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          統(tǒng)計

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          2009年9月6日 #

          Queue

          public class QuenDemo {
            public static void main(String[] args){
             //public class Queue extends Collection
             Queue<Integer> queue=new LinkedList<Integer>();
             Random  rand = new Random(47);
             for(int i=0;i<10;i++){
              queue.offer(rand.nextInt(i+10));
             }
             System.out.println("1111"+queue.toString());
             printQ(queue);
             //public class LinkedList extends AbstractSequentialList implements List,Queue,Cloneable,Serializable
             Queue<Character> qc=new LinkedList<Character>();
             for(char c:"guoxzh".toCharArray()){
              qc.offer(c);
              System.out.println("qc=="+qc.toString());
             }
              printQ(qc);
            }
            
            public static void printQ(Queue queue){
             while(queue.peek()!=null){
              //peek和element都是在不移除的情況下返回對頭,但是peek在隊列為空的情況下返回null,element方法會拋出NoSuchElementException異常
              System.out.println(queue.remove());
              //remove和poll方法都是在移除并返回對頭,但是poll在為空時返回null,而remove會拋出NoSucheElementException異常
              System.out.println("2222"+queue.toString());
             }
            }
          }

          posted @ 2009-10-18 18:29 forgood 閱讀(210) | 評論 (0)編輯 收藏

          java中的編碼方法

          package src;

          import java.io.UnsupportedEncodingException;

          public class ChangeCharset {
            /** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁塊 */
            public static final String US_ASCII = "US-ASCII";

            /** ISO 拉丁字母表 No.1,也叫作 ISO-LATIN-1 */
            public static final String ISO_8859_1 = "ISO-8859-1";

            /** 8 位 UCS 轉(zhuǎn)換格式 */
            public static final String UTF_8 = "UTF-8";

            /** 16 位 UCS 轉(zhuǎn)換格式,Big Endian(最低地址存放高位字節(jié))字節(jié)順序 */
            public static final String UTF_16BE = "UTF-16BE";

            /** 16 位 UCS 轉(zhuǎn)換格式,Little-endian(最高地址存放低位字節(jié))字節(jié)順序 */
            public static final String UTF_16LE = "UTF-16LE";

            /** 16 位 UCS 轉(zhuǎn)換格式,字節(jié)順序由可選的字節(jié)順序標記來標識 */
            public static final String UTF_16 = "UTF-16";

            /** 中文超大字符集 */
            public static final String GBK = "GBK";

            /**
             * 將字符編碼轉(zhuǎn)換成US-ASCII碼
             */
            public String toASCII(String str) throws UnsupportedEncodingException{
             return this.changeCharset(str, US_ASCII);
            }
            /**
             * 將字符編碼轉(zhuǎn)換成ISO-8859-1碼
             */
            public String toISO_8859_1(String str) throws UnsupportedEncodingException{
             return this.changeCharset(str, ISO_8859_1);
            }
            /**
             * 將字符編碼轉(zhuǎn)換成UTF-8碼
             */
            public String toUTF_8(String str) throws UnsupportedEncodingException{
             return this.changeCharset(str, UTF_8);
            }
            /**
             * 將字符編碼轉(zhuǎn)換成UTF-16BE碼
             */
            public String toUTF_16BE(String str) throws UnsupportedEncodingException{
             return this.changeCharset(str, UTF_16BE);
            }
            /**
             * 將字符編碼轉(zhuǎn)換成UTF-16LE碼
             */
            public String toUTF_16LE(String str) throws UnsupportedEncodingException{
             return this.changeCharset(str, UTF_16LE);
            }
            /**
             * 將字符編碼轉(zhuǎn)換成UTF-16碼
             */
            public String toUTF_16(String str) throws UnsupportedEncodingException{
             return this.changeCharset(str, UTF_16);
            }
            /**
             * 將字符編碼轉(zhuǎn)換成GBK碼
             */
            public String toGBK(String str) throws UnsupportedEncodingException{
             return this.changeCharset(str, GBK);
            }
           
            /**
             * 字符串編碼轉(zhuǎn)換的實現(xiàn)方法
             * @param str  待轉(zhuǎn)換編碼的字符串
             * @param newCharset 目標編碼
             * @return
             * @throws UnsupportedEncodingException
             */
            public String changeCharset(String str, String newCharset)
              throws UnsupportedEncodingException {
             if (str != null) {
              //用默認字符編碼解碼字符串。
              byte[] bs = str.getBytes();
              //用新的字符編碼生成字符串
              return new String(bs, newCharset);
             }
             return null;
            }
            /**
             * 字符串編碼轉(zhuǎn)換的實現(xiàn)方法
             * @param str  待轉(zhuǎn)換編碼的字符串
             * @param oldCharset 原編碼
             * @param newCharset 目標編碼
             * @return
             * @throws UnsupportedEncodingException
             */
            public String changeCharset(String str, String oldCharset, String newCharset)
              throws UnsupportedEncodingException {
             if (str != null) {
              //用舊的字符編碼解碼字符串。解碼可能會出現(xiàn)異常。
              byte[] bs = str.getBytes(oldCharset);
              //用新的字符編碼生成字符串
              return new String(bs, newCharset);
             }
             return null;
            }

            public static void main(String[] args) throws UnsupportedEncodingException {
             ChangeCharset test = new ChangeCharset();
             String str = "This is a 中文的 String!";
             System.out.println("str: " + str);
             String gbk = test.toGBK(str);
             System.out.println("轉(zhuǎn)換成GBK碼: " + gbk);
             System.out.println();
             String ascii = test.toASCII(str);
             System.out.println("轉(zhuǎn)換成US-ASCII碼: " + ascii);
             gbk = test.changeCharset(ascii,ChangeCharset.US_ASCII, ChangeCharset.GBK);
             System.out.println("再把ASCII碼的字符串轉(zhuǎn)換成GBK碼: " + gbk);
             System.out.println();
             String iso88591 = test.toISO_8859_1(str);
             System.out.println("轉(zhuǎn)換成ISO-8859-1碼: " + iso88591);
             gbk = test.changeCharset(iso88591,ChangeCharset.ISO_8859_1, ChangeCharset.GBK);
             System.out.println("再把ISO-8859-1碼的字符串轉(zhuǎn)換成GBK碼: " + gbk);
             System.out.println();
             String utf8 = test.toUTF_8(str);
             System.out.println("轉(zhuǎn)換成UTF-8碼: " + utf8);
             gbk = test.changeCharset(utf8,ChangeCharset.UTF_8, ChangeCharset.GBK);
             System.out.println("再把UTF-8碼的字符串轉(zhuǎn)換成GBK碼: " + gbk);
             System.out.println();
             String utf16be = test.toUTF_16BE(str);
             System.out.println("轉(zhuǎn)換成UTF-16BE碼:" + utf16be);
             gbk = test.changeCharset(utf16be,ChangeCharset.UTF_16BE, ChangeCharset.GBK);
             System.out.println("再把UTF-16BE碼的字符串轉(zhuǎn)換成GBK碼: " + gbk);
            }
          }

          posted @ 2009-09-23 14:25 forgood 閱讀(298) | 評論 (0)編輯 收藏

          byte數(shù)組和String之間的轉(zhuǎn)化

          JAVA里面關(guān)于byte數(shù)組和String之間的轉(zhuǎn)換問題

          把byte轉(zhuǎn)化成string,必須經(jīng)過編碼

          例如下面一個例子:

          import java.io.UnsupportedEncodingException;

          public class test{
           public static void main(String g[]) {
            String s = "12345abcd";
            byte b[] = s.getBytes();
            String t = b.toString();

            System.out.println(t);

           }
          }
          輸出字符串的結(jié)果和字符串s不一樣了.

          經(jīng)過以下方式轉(zhuǎn)碼就可以正確轉(zhuǎn)換了:

          public class test{
           public static void main(String g[]) {
            String s = "12345abcd";
            byte b[] = s.getBytes();
            try {
             String t = new String(b);
             System.out.print(t);
            } catch (Exception e) {
             e.printStackTrace();
            }
           }
          }

          引用:
          String   str   =   "String"; 
                    byte[]   byte1   =   str.getBytes(); 
                    String   str1   =   new   String(byte1); 
                    byte[]   byte2   =   str1.getBytes(); 
                    String   str2   =   new   String(byte2); 
                    System.out.println("str<<<"   +   str); 
                    System.out.println("byte1<<<"   +   byte1); 
                    System.out.println("str1<<<"   +   str1); 
                    System.out.println("byte2<<<"   +   byte2); 
                    System.out.println("str2<<<"   +   str2); 
            ------------------------------------- 
            輸出結(jié)果 
            str<<<String 
            byte1<<<[B@192d342 
            str1<<<String 
            byte2<<<[B@6b97fd 
            str2<<<String 
            
            想請教為什么兩個byte輸出的不一樣呢? 
           

          String   str   =   "String"; 
                    byte[]   byte1   =   str.getBytes(); 
                    String   str1   =   new   String(byte1); 
                    byte[]   byte2   =   str1.getBytes(); 
            ---------- 
            注意byte1是str得到的byte數(shù)組,而byte2是另一個字符串str1得到的數(shù)組 
            他們本身也是兩個對象  
             
            直接打印實際上調(diào)用的是toString()方法,而toString()的默認實現(xiàn)是打印對象類型+hashCode()  
            [B表示byte數(shù)組  @表示之后的是地址  后面跟著的是hashCode,其實就是其虛擬機地址  
            

          posted @ 2009-09-23 14:19 forgood 閱讀(3070) | 評論 (0)編輯 收藏

          jvm的內(nèi)存模型

          從大的方面來講,JVM的內(nèi)存模型分為兩大塊:

           

          永久區(qū)內(nèi)存( Permanent space)和堆內(nèi)存(heap space)。

           

          棧內(nèi)存(stack space)一般都不歸在JVM內(nèi)存模型中,因為棧內(nèi)存屬于線程級別。

          每個線程都有個獨立的棧內(nèi)存空間。

           

          Permanent space里存放加載的Class類級對象如class本身,method,field等等。

          heap space主要存放對象實例和數(shù)組。

          heap spaceOld GenerationNewGeneration組成,OldGeneration存放生命周期長久的實例對象,而新的對象實例一般放在NewGeneration

          New Generation還可以再分為Eden區(qū)(圣經(jīng)中的伊甸園)、和Survivor區(qū),新的對象實例總是首先放在Eden區(qū),Survivor區(qū)作為Eden區(qū)和Old區(qū)的緩沖,可以向Old區(qū)轉(zhuǎn)移活動的對象實例。

           

          一般,我們常見的OOMout of memory)內(nèi)存溢出異常,就是堆內(nèi)存空間不足以存放新對象實例時導致。

           

          永久區(qū)內(nèi)存溢出相對少見,一般是由于需要加載海量的Class數(shù)據(jù),超過了非堆內(nèi)存的容量導致。通常出現(xiàn)在Web應用剛剛啟動時,因此Web應用推薦使用預加載機制,方便在部署時就發(fā)現(xiàn)并解決該問題。

           

          棧內(nèi)存也會溢出,但是更加少見。

           

          堆內(nèi)存優(yōu)化:

          調(diào)整JVM啟動參數(shù)-Xms  -Xmx   -XX:newSize -XX:MaxNewSize,如調(diào)整初始堆內(nèi)存和最大對內(nèi)存 -Xms256M -Xmx512M。 或者調(diào)整初始New Generation的初始內(nèi)存和最大內(nèi)存-XX:newSize=128M -XX:MaxNewSize=128M

           

          永久區(qū)內(nèi)存優(yōu)化:

          調(diào)整PermSize參數(shù)   如  -XX:PermSize=256M-XX:MaxPermSize=512M。

           

          棧內(nèi)存優(yōu)化:

          調(diào)整每個線程的棧內(nèi)存容量  如  -Xss2048K

           

           

          最終,一個運行中的JVM所占的內(nèi)存堆內(nèi)存  +  永久區(qū)內(nèi)存  +  所有線程所占的棧內(nèi)存總和 。

          posted @ 2009-09-18 09:12 forgood 閱讀(296) | 評論 (0)編輯 收藏

          財務公司概述

          財務公司的背景:

          財務公司有兩種模式:

          1.美國模式財務公司是以搞活商品流通、促進商品銷售為特色的非銀行金融機構(gòu),它依附于制造商,是一些大型耐用品而設(shè)立的受控子公司,這類財務公司主要是為零售商提供融資服務的,主要分布在美國、加拿大和德國。

          2.英國模式財務公司基本上依附于商業(yè)銀行,其組建的目的在于規(guī)避政府對商業(yè)銀行的監(jiān)管,因為政府規(guī)定,商業(yè)銀行不得從事證券投資業(yè)務,而財務公司不屬于銀行,所以不受此限制,這種模式主要分布在英國、日本和中國香港。

          中國財務公司概況

          財務公司又稱金融公司,是為了企業(yè)技術(shù)改造,新產(chǎn)品開發(fā)及產(chǎn)品銷售提供金融服務的,以中長期金融業(yè)務為主的非銀行機構(gòu),各國的名稱不同,業(yè)務內(nèi)容也不一樣。

          財務公司是中國企業(yè)體制改革和融資體制改革的產(chǎn)物,國家為了增強國有大中型企業(yè)的活力,盤活企業(yè)內(nèi)部資金,增強企業(yè)集團的融資能力,支持企業(yè)集團的發(fā)展,促進產(chǎn)業(yè)結(jié)構(gòu)和產(chǎn)品結(jié)果的調(diào)整,以及探索具有中國特色的產(chǎn)品資本與金融資本相結(jié)合的道路,于1987年成立了中國第一家企業(yè)集團財務公司,即東風汽車工業(yè)集團財務公司。

          財務公司---公司主體

          財務公司是根據(jù)《公司法》和《企業(yè)集團財務公司管理辦法》設(shè)立的,為企業(yè)集團成員單位技術(shù)改造、新產(chǎn)品開發(fā)及產(chǎn)品銷售提供金融服務,以中長期金融業(yè)務為主的非銀行機構(gòu)。

          財務公司一般分企業(yè)附屬財務公司和非企業(yè)附屬財務公司,企業(yè)附屬財務公司由企業(yè)設(shè)立,為本企業(yè)服務,但是服務范圍不僅局限于本企業(yè);非企業(yè)附屬財務公司包括銀行附屬財務公司、引起合資財務公司和獨立財務公司。

          1.銀行附屬財務公司是由銀行控股,因規(guī)避監(jiān)管、實現(xiàn)金融創(chuàng)新和彌補銀行的不足而設(shè)立的,同時也為企業(yè)和個人提供金融服務。

          2.銀行合資財務公司是銀行和企業(yè)出于金融創(chuàng)新規(guī)避監(jiān)管或促進產(chǎn)融合作的考慮而設(shè)立,為企業(yè)和個人提供金融服務,

          3.獨立財務公司一般是沒有母公司的財務公司,規(guī)模較小,比較靈活,在某一方面提供融資服務。

          財務公司的業(yè)務范圍

          1.經(jīng)中國人民銀行批準,中國財務公司可從事下列部分或全部業(yè)務:

          2.吸收成員單位3個月以上定期存款。
          3.發(fā)行財務公司債券
          4.同業(yè)拆借。
          5.對成員單位辦理貸款及融資租賃。
          6.辦理集團成員單位產(chǎn)品的消費信貸、買方信貸融資租賃。
          7.辦理成員單位商業(yè)匯票的承兌及貼現(xiàn)
          8.辦理成員單位的委托貸款及委托投資。
          9.有價證券、金融機構(gòu)股權(quán)及成員單位股權(quán)投資。
          10.承銷成員單位的企業(yè)債券。
          11.對成員單位辦理財務顧問、信用鑒證及其他咨詢代理業(yè)務。
          12.對成員單位提供擔保。
          13.境外外匯借款。
          14.經(jīng)中國人民銀行批準的其他業(yè)務。

          財務公司的主要作用

          1.業(yè)務范圍比較廣,但是以企業(yè)集團為限。

          主要業(yè)務有存款、貸款、結(jié)算、擔保和代理等一般銀行業(yè)務,還可以經(jīng)人民銀行批準,開展證券、信托投資等業(yè)務。

          2.資金來源于集團公司,用于集團公司,對集團公司的依附性強,

          財務公司的資金主要來源于兩個方面:a、集團公司和集團成員公司投入的資本金;b、集團公司成員企業(yè)在財務公司的存款。

          3.接受企業(yè)集團和人民銀行的雙重監(jiān)管。

          財務公司是企業(yè)內(nèi)部的金融機構(gòu),期股東大都是集團公司成員企業(yè),因而其景榮活動必然受到集團公司的監(jiān)督,同時,財務公司所從事的是金融業(yè)務,其金融活動必須接受人民銀行監(jiān)管

          4.堅持服務與效益相結(jié)合、服務優(yōu)先的經(jīng)營原則。雖然財務公司作為獨立的法人,但是是企業(yè)集團內(nèi)部的機構(gòu),且集團公司成員企業(yè)大都是財務公司的股東,所以財務公司在經(jīng)營中一般都應較好地處理服務與效益的關(guān)系,在堅持為集團公司成員企業(yè)提供良好金融服務的前提下,努力實現(xiàn)利潤的最大化,

          財務公司的作用

          1.在資金管理方面和使用上,促使企業(yè)從粗放型向集約型轉(zhuǎn)變,

          沒有財務公司之前,集團公司成員企業(yè)不能直接發(fā)生信貸關(guān)系,有些單位資金閑置,有些單位資金緊張,財務公司成立以后,成員單位成為財務公司的股東,在一定程度上集中了各成員單位的資本來進行一體化經(jīng)營,財務公司應用金融手段將集團公司內(nèi)企業(yè)的閑散資金集中起來,統(tǒng)籌安排使用,這樣不僅可以加快集團成員企業(yè)間資金結(jié)算的速度,而且總整體上降低了集團財務費用,提高就然公司資金的使用效率,加速集團公司資產(chǎn)一體化經(jīng)營的進程,

          2.財務公司以資金為紐帶,以服務為手段,增強了集團公司的凝聚力。

          股本金將成員單位聯(lián)接在一起,另一方面財務公司吸納的資金又成為集團公司企業(yè)信貸資金的一個來源,從而集團公司成員企業(yè)進一步緊密的聯(lián)結(jié)在一起,形成了一種相互支持,相互促進,共同發(fā)展的局面。

          3.及時解決了企業(yè)集團急需的資金,保證企業(yè)生產(chǎn)經(jīng)營的正常進行。

          4.增強了企業(yè)集團的融資功能,促進了集團公司的發(fā)展壯大,

          5.有利于打破現(xiàn)有銀行體制資金規(guī)模按行政區(qū)域分割的局面,促進大集團公司跨地域、跨行業(yè)發(fā)展,

          6.促進了金融業(yè)的競爭,有利于金融機構(gòu)提高服務質(zhì)量和效益,有利于金融體制改革的深化。

          posted @ 2009-09-06 16:19 forgood 閱讀(226) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 南岸区| 仙游县| 河源市| 邮箱| 齐河县| 泰来县| 巫溪县| 花莲县| 南投市| 淳化县| 增城市| 济源市| 翁牛特旗| 通辽市| 佛教| 蓬溪县| 铜陵市| 轮台县| 灵宝市| 河北区| 鱼台县| 孙吴县| 刚察县| 瓦房店市| 衡南县| 称多县| 清水河县| 光山县| 黎平县| 广平县| 岢岚县| 上虞市| 会东县| 都江堰市| 霍城县| 玛曲县| 祥云县| 保山市| 内江市| 宁化县| 兴安盟|