2009年8月9日
#
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());
}
}
}
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 轉換格式 */
public static final String UTF_8 = "UTF-8";
/** 16 位 UCS 轉換格式,Big Endian(最低地址存放高位字節)字節順序 */
public static final String UTF_16BE = "UTF-16BE";
/** 16 位 UCS 轉換格式,Little-endian(最高地址存放低位字節)字節順序 */
public static final String UTF_16LE = "UTF-16LE";
/** 16 位 UCS 轉換格式,字節順序由可選的字節順序標記來標識 */
public static final String UTF_16 = "UTF-16";
/** 中文超大字符集 */
public static final String GBK = "GBK";
/**
* 將字符編碼轉換成US-ASCII碼
*/
public String toASCII(String str) throws UnsupportedEncodingException{
return this.changeCharset(str, US_ASCII);
}
/**
* 將字符編碼轉換成ISO-8859-1碼
*/
public String toISO_8859_1(String str) throws UnsupportedEncodingException{
return this.changeCharset(str, ISO_8859_1);
}
/**
* 將字符編碼轉換成UTF-8碼
*/
public String toUTF_8(String str) throws UnsupportedEncodingException{
return this.changeCharset(str, UTF_8);
}
/**
* 將字符編碼轉換成UTF-16BE碼
*/
public String toUTF_16BE(String str) throws UnsupportedEncodingException{
return this.changeCharset(str, UTF_16BE);
}
/**
* 將字符編碼轉換成UTF-16LE碼
*/
public String toUTF_16LE(String str) throws UnsupportedEncodingException{
return this.changeCharset(str, UTF_16LE);
}
/**
* 將字符編碼轉換成UTF-16碼
*/
public String toUTF_16(String str) throws UnsupportedEncodingException{
return this.changeCharset(str, UTF_16);
}
/**
* 將字符編碼轉換成GBK碼
*/
public String toGBK(String str) throws UnsupportedEncodingException{
return this.changeCharset(str, GBK);
}
/**
* 字符串編碼轉換的實現方法
* @param str 待轉換編碼的字符串
* @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;
}
/**
* 字符串編碼轉換的實現方法
* @param str 待轉換編碼的字符串
* @param oldCharset 原編碼
* @param newCharset 目標編碼
* @return
* @throws UnsupportedEncodingException
*/
public String changeCharset(String str, String oldCharset, String newCharset)
throws UnsupportedEncodingException {
if (str != null) {
//用舊的字符編碼解碼字符串。解碼可能會出現異常。
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("轉換成GBK碼: " + gbk);
System.out.println();
String ascii = test.toASCII(str);
System.out.println("轉換成US-ASCII碼: " + ascii);
gbk = test.changeCharset(ascii,ChangeCharset.US_ASCII, ChangeCharset.GBK);
System.out.println("再把ASCII碼的字符串轉換成GBK碼: " + gbk);
System.out.println();
String iso88591 = test.toISO_8859_1(str);
System.out.println("轉換成ISO-8859-1碼: " + iso88591);
gbk = test.changeCharset(iso88591,ChangeCharset.ISO_8859_1, ChangeCharset.GBK);
System.out.println("再把ISO-8859-1碼的字符串轉換成GBK碼: " + gbk);
System.out.println();
String utf8 = test.toUTF_8(str);
System.out.println("轉換成UTF-8碼: " + utf8);
gbk = test.changeCharset(utf8,ChangeCharset.UTF_8, ChangeCharset.GBK);
System.out.println("再把UTF-8碼的字符串轉換成GBK碼: " + gbk);
System.out.println();
String utf16be = test.toUTF_16BE(str);
System.out.println("轉換成UTF-16BE碼:" + utf16be);
gbk = test.changeCharset(utf16be,ChangeCharset.UTF_16BE, ChangeCharset.GBK);
System.out.println("再把UTF-16BE碼的字符串轉換成GBK碼: " + gbk);
}
}
JAVA里面關于byte數組和String之間的轉換問題
把byte轉化成string,必須經過編碼。
例如下面一個例子:
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);
}
}
輸出字符串的結果和字符串s不一樣了.
經過以下方式轉碼就可以正確轉換了:
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);
-------------------------------------
輸出結果
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數組,而byte2是另一個字符串str1得到的數組
他們本身也是兩個對象
直接打印實際上調用的是toString()方法,而toString()的默認實現是打印對象類型+hashCode()
[B表示byte數組 @表示之后的是地址 后面跟著的是hashCode,其實就是其虛擬機地址
從大的方面來講,JVM的內存模型分為兩大塊:
永久區內存( Permanent space)和堆內存(heap space)。
棧內存(stack space)一般都不歸在JVM內存模型中,因為棧內存屬于線程級別。
每個線程都有個獨立的棧內存空間。
Permanent space里存放加載的Class類級對象如class本身,method,field等等。
heap space主要存放對象實例和數組。
heap space由Old Generation和NewGeneration組成,OldGeneration存放生命周期長久的實例對象,而新的對象實例一般放在NewGeneration。
New Generation還可以再分為Eden區(圣經中的伊甸園)、和Survivor區,新的對象實例總是首先放在Eden區,Survivor區作為Eden區和Old區的緩沖,可以向Old區轉移活動的對象實例。
一般,我們常見的OOM(out of memory)內存溢出異常,就是堆內存空間不足以存放新對象實例時導致。
永久區內存溢出相對少見,一般是由于需要加載海量的Class數據,超過了非堆內存的容量導致。通常出現在Web應用剛剛啟動時,因此Web應用推薦使用預加載機制,方便在部署時就發現并解決該問題。
棧內存也會溢出,但是更加少見。
堆內存優化:
調整JVM啟動參數-Xms -Xmx -XX:newSize -XX:MaxNewSize,如調整初始堆內存和最大對內存 -Xms256M -Xmx512M。 或者調整初始New Generation的初始內存和最大內存-XX:newSize=128M -XX:MaxNewSize=128M。
永久區內存優化:
調整PermSize參數 如 -XX:PermSize=256M-XX:MaxPermSize=512M。
棧內存優化:
調整每個線程的棧內存容量 如 -Xss2048K
最終,一個運行中的JVM所占的內存= 堆內存 + 永久區內存 + 所有線程所占的棧內存總和 。
財務公司的背景:
財務公司有兩種模式:
1.美國模式財務公司是以搞活商品流通、促進商品銷售為特色的非銀行金融機構,它依附于制造商,是一些大型耐用品而設立的受控子公司,這類財務公司主要是為零售商提供融資服務的,主要分布在美國、加拿大和德國。
2.英國模式財務公司基本上依附于商業銀行,其組建的目的在于規避政府對商業銀行的監管,因為政府規定,商業銀行不得從事證券投資業務,而財務公司不屬于銀行,所以不受此限制,這種模式主要分布在英國、日本和中國香港。
中國財務公司概況
財務公司又稱金融公司,是為了企業技術改造,新產品開發及產品銷售提供金融服務的,以中長期金融業務為主的非銀行機構,各國的名稱不同,業務內容也不一樣。
財務公司是中國企業體制改革和融資體制改革的產物,國家為了增強國有大中型企業的活力,盤活企業內部資金,增強企業集團的融資能力,支持企業集團的發展,促進產業結構和產品結果的調整,以及探索具有中國特色的產品資本與金融資本相結合的道路,于1987年成立了中國第一家企業集團財務公司,即東風汽車工業集團財務公司。
財務公司---公司主體
財務公司是根據《公司法》和《企業集團財務公司管理辦法》設立的,為企業集團成員單位技術改造、新產品開發及產品銷售提供金融服務,以中長期金融業務為主的非銀行機構。
財務公司一般分企業附屬財務公司和非企業附屬財務公司,企業附屬財務公司由企業設立,為本企業服務,但是服務范圍不僅局限于本企業;非企業附屬財務公司包括銀行附屬財務公司、引起合資財務公司和獨立財務公司。
1.銀行附屬財務公司是由銀行控股,因規避監管、實現金融創新和彌補銀行的不足而設立的,同時也為企業和個人提供金融服務。
2.銀行合資財務公司是銀行和企業出于金融創新規避監管或促進產融合作的考慮而設立,為企業和個人提供金融服務,
3.獨立財務公司一般是沒有母公司的財務公司,規模較小,比較靈活,在某一方面提供融資服務。
財務公司的業務范圍
1.經中國人民銀行批準,中國財務公司可從事下列部分或全部業務:
2.吸收成員單位3個月以上定期存款。
3.發行財務公司債券。
4.同業拆借。
5.對成員單位辦理貸款及融資租賃。
6.辦理集團成員單位產品的消費信貸、買方信貸及融資租賃。
7.辦理成員單位商業匯票的承兌及貼現。
8.辦理成員單位的委托貸款及委托投資。
9.有價證券、金融機構股權及成員單位股權投資。
10.承銷成員單位的企業債券。
11.對成員單位辦理財務顧問、信用鑒證及其他咨詢代理業務。
12.對成員單位提供擔保。
13.境外外匯借款。
14.經中國人民銀行批準的其他業務。
財務公司的主要作用
1.業務范圍比較廣,但是以企業集團為限。
主要業務有存款、貸款、結算、擔保和代理等一般銀行業務,還可以經人民銀行批準,開展證券、信托投資等業務。
2.資金來源于集團公司,用于集團公司,對集團公司的依附性強,
財務公司的資金主要來源于兩個方面:a、集團公司和集團成員公司投入的資本金;b、集團公司成員企業在財務公司的存款。
3.接受企業集團和人民銀行的雙重監管。
財務公司是企業內部的金融機構,期股東大都是集團公司成員企業,因而其景榮活動必然受到集團公司的監督,同時,財務公司所從事的是金融業務,其金融活動必須接受人民銀行監管
4.堅持服務與效益相結合、服務優先的經營原則。雖然財務公司作為獨立的法人,但是是企業集團內部的機構,且集團公司成員企業大都是財務公司的股東,所以財務公司在經營中一般都應較好地處理服務與效益的關系,在堅持為集團公司成員企業提供良好金融服務的前提下,努力實現利潤的最大化,
財務公司的作用
1.在資金管理方面和使用上,促使企業從粗放型向集約型轉變,
沒有財務公司之前,集團公司成員企業不能直接發生信貸關系,有些單位資金閑置,有些單位資金緊張,財務公司成立以后,成員單位成為財務公司的股東,在一定程度上集中了各成員單位的資本來進行一體化經營,財務公司應用金融手段將集團公司內企業的閑散資金集中起來,統籌安排使用,這樣不僅可以加快集團成員企業間資金結算的速度,而且總整體上降低了集團財務費用,提高就然公司資金的使用效率,加速集團公司資產一體化經營的進程,
2.財務公司以資金為紐帶,以服務為手段,增強了集團公司的凝聚力。
股本金將成員單位聯接在一起,另一方面財務公司吸納的資金又成為集團公司企業信貸資金的一個來源,從而集團公司成員企業進一步緊密的聯結在一起,形成了一種相互支持,相互促進,共同發展的局面。
3.及時解決了企業集團急需的資金,保證企業生產經營的正常進行。
4.增強了企業集團的融資功能,促進了集團公司的發展壯大,
5.有利于打破現有銀行體制資金規模按行政區域分割的局面,促進大集團公司跨地域、跨行業發展,
6.促進了金融業的競爭,有利于金融機構提高服務質量和效益,有利于金融體制改革的深化。
1、“我請客”:覺得我們常用pay這個詞,如Let me pay it for you。這里列舉三種說法:I am buying;This is on me;This is all my bill。
2、“收買某人”:有個比較正式的詞叫bribe,名詞時為“賄賂”的意思,動詞時就有“收買”之意。既然提到了“買”,那么我們能不能用上buy呢?當然,那就是buy sb off。
3、“向前看!”:我們會說Look forward!而美語里有個更貼切的說法是Eyes front!“眼睛朝前”,是不是很生動?
4、“頭等大事”:你會怎么翻譯呢?The most important thing嗎?看這個吧“It's on the top of my list”。
5、“看在主的份上,你就……”:兩種說法,其一是For the love of God,另外For God's sake(sake的意思是緣故、關系)二者之中,后者更常用
6、“我不是傻子!”:I am not a fool?對,語法完全正確。但再看這個I am no fool。比上面的只少兩個字母,但是不是感覺不一樣?同樣的道理,我們常說I have no idea,而不常說I dont have any idea。
7、short hairs:是說“短頭發”嗎?呵呵,它就是我們說的“小辮子”!
8、one-time thing:帥哥跟一美女過了一夜,回來后室友問帥哥:Do you really love her?帥哥回答:Oh, it was just a one-time thing!那么one-time thing是什么呢?我就不羅嗦嘍!
9、She knew red was her color。“她知道紅色是她的顏色”?恰當的翻譯是:她知道自己和紅色很相配。Then, what's your color?
10、“停電”:No electricity?恩,夠直白!其實提到“電”,老外更多是用power,停電就可以是Ther is a power failure或Power goes out
有一次編網頁的時候,把base 標簽給刪掉了,超鏈接怎么也行不通,老是路徑不對,原來是base 標簽在做怪:
<base>標記定義了文檔的基礎URL地址,在文檔中所有的相對地址形式的URL都是相對于這里定義的URL而言的。一篇文檔中的<base>標記不能多于一個,必須放于頭部,并且應該在任何包含URL地址的語句之前。
(1)href 屬性
href屬性指定了文檔的基礎URL地址,該屬性在<base>標記中是必須存在的。
例如:如果希望將文檔的基礎URL定義為“www.abc.com”,則可以使用如下語句:
<base href = "www.abc.com"> 當定義了基礎URL地址之后,文檔中所有引用的URL地址都從該基礎URL地址開始,例如,對于上面的語句,如果文檔中一個超級鏈接指向gsl/welcome.htm,則它實際上指向的是如下URL地址:www.abc.com/gsl/welcome.htm
(2)target
target屬性同框架一起使用,它定義了當文檔中的鏈接被點擊后,在哪一個框架中展開頁面。如果文檔中超級鏈接沒有明確指定展開頁面的目標框架集,則就使用這里定義的地址代替。常用的target的屬性值有:
_blank,表明在新窗口中打開鏈接指向的頁面。
_self,在當前文檔的框架中打開頁面。
_parent,在當前文檔的父窗口中打開頁面。
_top,在鏈接所在的完整窗口中展開頁面。
1、增加一個虛似硬盤
如果是在vmware里面安裝的windows系統,添加個硬盤很容易,
(1)先打開要添加硬盤的虛擬系統(不要啟動該系統),選擇虛擬機菜單---設置-----選添加,
(2)然后在彈出添加硬件向導窗口中------選擇硬盤-------一路next就好了,后面的操作和新建一個虛擬機的時候配置硬盤是一樣的。
(3)添加了新的硬盤后,啟動windows進到系統中,在控制面板中找“管理工具”->“計算機管理”,然后選“磁盤管理”,添加新磁盤就好了。
其實很簡單的..如果想繼續給VMware增加硬盤的話,重復上述動作。
2、改變原虛擬硬盤的大小
界面中并沒有提供增加硬盤容量的方法。
只能在命令行形式下執行。
安裝所在盤的c:\Program Files\VMware\VMware Workstation下有一個vmware-vdiskmanager.exe,就是它。
命令參數如下:
------------------------------------------------------------------
Usage: vmware-vdiskmanager.exe OPTIONS <disk-name> | <mount-point>
Offline disk manipulation utility
Options:
-c : create disk; need to specify other create options
-d : defragment the specified virtual disk
-k : shrink the specified virtual disk
-n <source-disk> : rename the specified virtual disk; need to
specify destination disk-name
-p : prepare the mounted virtual disk specified by
the drive-letter for shrinking
-q : do not log messages
-r <source-disk> : convert the specified disk; need to specify
destination disk-type
-x <new-capacity> : expand the disk to the specified capacity
Additional options for create and convert:
-a <adapter> : (for use with -c only) adapter type (ide, buslogic o
r lsilogic)
-s <size> : capacity of the virtual disk
-t <disk-type> : disk type id
Disk types:
0 : single growable virtual disk
1 : growable virtual disk split in 2Gb files
2 : preallocated virtual disk
3 : preallocated virtual disk split in 2Gb files
The capacity can be specified in sectors, Kb, Mb or Gb.
The acceptable ranges:
ide adapter : [100.0Mb, 950.0Gb]
scsi adapter: [100.0Mb, 950.0Gb]
ex 1: vmware-vdiskmanager.exe -c -s 850Mb -a ide -t 0 myIdeDisk.vmdk
ex 2: vmware-vdiskmanager.exe -d myDisk.vmdk
ex 3: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vm
dk
ex 4: vmware-vdiskmanager.exe -x 36Gb myDisk.vmdk
ex 5: vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
ex 6: vmware-vdiskmanager.exe -k myDisk.vmdk
ex 7: vmware-vdiskmanager.exe -p <mount-point>
(A virtual disk first needs to be mounted at <mount-point>)
-----------------------------------------------------------------
其中的-x參數就是用來擴容的……
如這個:vmware-vdiskmanager.exe -x 36Gb myDisk.vmdk
解析: vmware-vdiskmanager.exe -x 大小 虛擬硬盤文件
-------------------------------------------------------
我的執行過程:
D:\Program files\VMware\VMware Workstation>vmware-vdiskmanager.exe -x 12GB "F:\Windows Server 2003 Enterprise Edition\Windows Server 2003 Enterprise Edition.vmdk"
==================================================================
總結一下:
1。文件名應該用雙引號括起來。
2。vmdk文件名要連同路徑。
3。GB,MB,別忘了B。
什么是金融債券?金融債券有哪些種類?
金融債券是由銀行和非銀行金融機構發行的
債券。在英、美等歐美國家,金融機構發行的債券歸類于
公司債券。在我國及日本等國家,金融機構發行的債券稱為金融債券。 金融債券能夠較有效地解決銀行等金融機構的資金來源不足和期限不匹配的矛盾。
一般來說,銀行等金融機構的資金有三個來源,即吸收存款、向其他機構借款和發行債券。
存款資金的特點之一,是在經濟發生動蕩的時候,易發生儲戶爭相提款的現象,從而造成資金來源不穩定;
向其他商業銀行或中央銀行借款所得的資金主要是短期資金,而金融機構往往需要進行一些期限較長的投融資,這樣就出現了資金來源和資金運用在期限上的矛盾,發行金融債券比較有效地解決了這個矛盾。債券在到期之前一般不能提前兌換,只能在市場上轉讓,從而保證了所籌集資金的穩定性。同時,金融機構發行債券時可以靈活規定期限,比如為了一些長期項目投資,可以發行期限較長的債券。因此,發行金融債券可以使金融機構籌措到穩定且期限靈活的資金,從而有利于優化資產結構,擴大長期投資業務。由于銀行等金融機構在一國經濟中占有較特殊的地位,政府對它們的運營又有嚴格的監管,因此,金融債券的資信通常高于其他非金融機構債券,違約風險相對較小,具有較高的安全性。所以,金融債券的利率通常低于。般的企業債券,但高于風險更小的國債和銀行儲蓄存款利率。
按不同標準,金融債券可以劃分為很多種類。最常見的分類有以下兩種:
(1) 根據利息的支付方式 金融債券可分為附息金融債券和貼現全融債券。如果金融債券上附有多期息票,發行人定期支付利息,則稱為附息金融債券;如果金融債券是以低于面值的價格貼現發行,到期按面值還本付息,利息為發行價與面佰的差額,則稱為貼現債券。比如票面金額為1000元,期限為1年的貼現金融債券,發行價格為900元,1年到期時支付給投資者1000元,那么利息收入就是100元,而實際年利率就是11.11%(即<1 000-900>/900* 100%〕。按照國外通常的做法,貼現金融債券的利息收入要征稅,并且不能在證券交易所上市交易。
(2) 根據發行條件 金融債券可分為普通金融債券和累進利息金融債券。普通金融債券按面值發行,到期一次還本付息,期限一般是1年、2年和3年。普通金融債券類似于銀行的定期存款,只是利率高些。累進利息金融債券的利率不固定,在不同的時間段有不同的利率,并且一年比一年高,也就是說,債券的利率隨著債券期限的增加累進,比如面值1000無、期限為5年的金融債券,第回年利率為9%,第二年利率為10%,第三年為11%,第四年為12%,第五年為13%。投資者可在第一年至第五年之間隨時去銀行兌付,并獲得規定的利息。
此外,金融債券也可以像
企業債券一樣,根據期限的長短劃分為短期債券、中期債券和長期債券;根據是否記名劃分為記名債券和不記名債券;根據擔保情況劃分為信用債券和擔保債券;根據可否提前贖回劃分為可提前贖回債券和不可提前贖回債券;根據債券票面利率是否變動劃分為
固定利率債券、
浮動利率債券和
累進利率債券;根據發行人是否給予投資者選擇權劃分為附有選擇權的債券和不附有選擇權的偵券等。