久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

Java中文&編碼問題小結

時間:2019-05-13 16:52:52下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《Java中文&編碼問題小結》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《Java中文&編碼問題小結》。

第一篇:Java中文&編碼問題小結

2006-03-07 | Java中文&編碼問題小結

Java字符編碼轉換過程說明

常見問題 JVM JVM啟動后,JVM會設置一些系統屬性以表明JVM的缺省區域。user.language,user.region,file.encoding等。可以使用 System.getProperties()詳細查看所有的系統屬性。

如在英文操作系統(如UNIX)下,可以使用如下屬性定義強制指定JVM為中文環境

-Dclient.encoding.override=GBK-Dfile.encoding=GBK-Duser.language=zh-Duser.region=CN

.javaà.class編譯

說明:一般javac根據當前os區域設置,自動決定源文件的編碼.可以通過-encoding強制指定.錯誤可能: 1 gbk編碼源文件在英文環境下編譯,javac不能正確轉換.曾見于java/jsp在英文 unix下.檢測方法:寫u4e00格式的漢字,繞開javac編碼,再在jvm中,將漢字作為 int打印,看值是否相等;或直接以UTF-8編碼打開.class文件,看看常量字符串

是否正確保存漢字。

文件讀寫

外部數據如文件經過讀寫和轉換兩個步驟,轉為jvm所使用字符。

InputStream/OutputStream用于讀寫原始外部數據,Reader/Writer執行讀寫和轉

換兩個步驟。文件讀寫轉換由java.io.Reader/Writer執行;輸入輸出流

InputStream/OutputStream 處理漢字不合適,應該首選使用Reader/Writer,如 FileReader/FileWriter。

2`FileReader/FileWriter使用JVM當前編碼讀寫文件.如果有其它編碼格式,使用

InputStreamReader/OutputStreamWriter PrintStream有點特殊,它自動使用jvm缺省編碼進行轉換。

讀取.properties文件

.propeties文件由Properties類以iso8859-1編碼讀取,因此不能在其中直接寫漢

字,需要使用JDK 的native2ascii工具轉換漢字為uXXXX格式。命令行:

native2ascii –encoding GBK inputfile outputfile

讀取XML文件 XML文件讀寫同于文件讀寫,但應注意確保XML頭中聲明如與文件編碼保持一致。javax.xml.SAXParser類接受InputStream作為輸入參數,對于Reader,需要用 org.xml.sax.InputSource包裝一下,再給SAXParser。對于UTF-8編碼 XML,注意防止編輯器自動加上uFFFE BOM頭, xml parser會報

告content is not allowed in prolog。

字節數組 使用 new String(byteArray,encoding)和 String.getBytes(encoding)在

字節數組和字符串之間進行轉換

也可以用ByteArrayInputStream/ByteArrayOutputStream轉為流后再用 InputStreamReader/OutputStreamWriter轉換。

錯誤編碼的字符串(iso8859-1轉碼gbk)如果我們得到的字符串是由錯誤的轉碼方式產生的,例如:對于gbk中文,由

iso8859-1方式轉換,此時如果用調試器看到的字符串一般是 的樣子,長度一般

為文本的字節長度,而非漢字個數。

可以采用如下方式轉為正確的中文:

text = new String(text.getBytes(“iso8859-1”),”gbk”);

JDBC 轉換過程由JDBC Driver執行,取決于各JDBC數據庫實現。對此經驗尚積累不夠。對于ORACLE數據庫,需要數據庫創建時指定編碼方式為gbk,否則會出現漢字轉

碼錯誤 對于 SQL Server 2000,最好以nvarchar/nchar類型存放文本,即不存在中文 /編碼轉換問題。連接 Mysql,將 connectionString 設置成 encoding 為 gb2312:

String connectionString = “jdbc:mysql://localhost/test? useUnicode=true&characterEncoding=gb2312”;

WEB/Servlet/JSP 1 對于JSP,確定頭部加上 <%@ page

contentType=“text/html;charset=gb2312”%>這樣的標簽。對于Servlet,確定 設置setContentType(“text/html;charset=gb2312”),以上兩條用于使得輸出漢字沒有問題。為輸出HTML head中加一個 ,讓瀏覽器正確確定HTML編碼。為Web應用加一個Filter,確保每個Request明確調用setCharacterEncoding方

法,讓輸入漢字能夠正確解析。

import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.UnavailableException;import javax.servlet.http.HttpServletRequest;/** * Example filter that sets the character encoding to be used in parsing the * incoming request */ public class SetCharacterEncodingFilter implements Filter { public SetCharacterEncodingFilter(){} protected boolean debug = false;protected String encoding = null;protected FilterConfig filterConfig = null;public void destroy(){ this.encoding = null;this.filterConfig = null;}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException { // if(request.getCharacterEncoding()== null)// { // String encoding = getEncoding();// if(encoding!= null)// request.setCharacterEncoding(encoding);// // } request.setCharacterEncoding(encoding);if(debug){ System.out.println(((HttpServletRequest)request).getRequestURI()+“setted to ”+encoding);} chain.doFilter(request, response);}

public void init(FilterConfig filterConfig)throws ServletException { this.filterConfig = filterConfig;this.encoding = filterConfig.getInitParameter(“encoding”);this.debug = “true”.equalsIgnoreCase(filterConfig.getInitParameter(“debug”));}

protected String getEncoding(){ return(this.encoding);} }

web.xml中加入:

LocalEncodingFilter LocalEncodingFilter com.ccb.ectipmanager.request.SetCharacterEncodingFilter

encoding

gb2312

debug

false

LocalEncodingFilter /* 用于Weblogic(vedor-specific):

其一:在web.xml里加上如下腳本:

weblogic.httpd.inputCharset./*

GBK 其二(可選)在weblogic.xml里加上如下腳本: /* GBK

SWING/AWT/SWT 對于SWING/AWT,Java會有些缺省字體如Dialog/San Serif,這些字體到系統真實

字體的映射在$JRE_HOME/lib/font.properties.XXX文件中指定。排除字體顯示問

題時,首先需要確定JVM的區域為zh_CN,這樣font.properties.zh_CN文件才會發

生作用。對于 font.properties.zh_CN , 需要檢查是否映射缺省字體到中文字體

如宋體。

在Swing中,Java自行解釋TTF字體,渲染顯示;對于AWT,SWT顯示部分交由操作系

統。首先需要確定系統裝有中文字體。漢字顯示為”□”,一般為顯示字體沒有使用中文字體,因為Java對于當前字

體顯示不了的字符,不會像Windows一樣再采用缺省字體顯示。部分不常見漢字不能顯示,一般為顯示字庫中漢字不全,可以換另外的中文字

體試試。對于AWt/SWT,首先確定JVM運行環境的區域設置為中文,因為此處設計JVM與操

作系統api調用的轉換問題,再檢查其它問題。

JNI JNI中jstring以UTF-8編碼給我們,需要我們自行轉為本地編碼。對于Windows,可以采用WideCharToMultiByte/MultiByteToWideChar函數進行轉換,對于Unix,可以采用iconv庫。

這里從SUN jdk 1.4 源代碼中找到一段使用jvm String 對象的getBytes的轉換方

式,相對簡單和跨平臺,不需要第三方庫,但速度稍慢。函數原型如下:

/* Convert between Java strings and i18n C strings */ JNIEXPORT jstring NewStringPlatform(JNIEnv *env, const char *str);

JNIEXPORT const char * GetStringPlatformChars(JNIEnv *env, jstring jstr, jboolean *isCopy);

JNIEXPORT jstring JNICALL JNU_NewStringPlatform(JNIEnv *env, const char *str);

JNIEXPORT const char * JNICALL JNU_GetStringPlatformChars(JNIEnv *env, jstring jstr, jboolean *isCopy);

JNIEXPORT void JNICALL

JNU_ReleaseStringPlatformChars(JNIEnv *env, jstring jstr, const char *str);

附件jni_util.h,jni_util.c

TUXEDO/JOLT JOLT對于傳遞的字符串需要用如下進行轉碼

new String(ls_tt.getBytes(“GBK”),“iso8859-1”)

對于返回的字符串

new String(error_message.getBytes(“iso8859-1”),“GBK”);jolt 的系統屬性 bea.jolt.encoding不應該設置,如果設置,JSH會報告說錯誤的

協議.JDK1.4/1.5新增部分

字符集相關類(Charset/CharsetEncoder/CharsetDecoder)jdk1.4開始,對字符集的支持在java.nio.charset包中實現。

常用功能: 列出jvm所支持字符集:Charset.availableCharsets()2 能否對看某個Unicode字符編碼,CharsetEncoder.canEncode()

Unicode Surrogate/CJK EXT B Unicode 范圍一般所用為U0000-UFFFF范圍,jvm使用1個char就可以表示,對于 CJK EXT B區漢字,范圍大于U20000,則需要采用2個char方能表示,此即

Unicode Surrogate。這2個char的值范圍 落在Character.SURROGATE 區域內,用 Character.getType()來判斷。

jdk 1.4尚不能在Swing中正確處理surrogate區的Unicode字符,jdk1.5可以。對

于CJK EXT B區漢字,目前可以使用的字庫為”宋體-方正超大字符集”,隨Office 安裝。

常見問題

在JVM下,用System.out.println不能正確打印中文,顯示為??? System.out.println是PrintStream,它采用jvm缺省字符集進行轉碼工作,如果 jvm的缺省字符集為iso8859-1,則中文顯示會有問題。此問題常見于Unix下,jvm 的區域沒有明確指定的情況。

在英文UNIX環境下,用System.out.println能夠正確打印漢字,但是內部處理錯誤 可能是漢字在輸入轉換時,就沒有正確轉碼:

即gbk文本à(iso8859-1轉碼)àjvm char(iso8859-1編碼漢字)à(iso8859-1轉碼)à

輸出。

gbk漢字經過兩次錯誤轉碼,原封不動的被傳遞到輸出,但是在jvm中,并未以正

確的unicode編碼表示,而是以一個漢字字節一個char的方式表示,從而導致此類

錯誤。

GB2312-80,GBK,GB18030-2000 漢字字符集

GB2312-80 是在國內計算機漢字信息技術發展初始階段制定的,其中包含了大部

分常用的一、二級漢字,和 9 區的符號。該字符集是幾乎所有的中文系統和國際

化的軟件都支持的中文字符集,這也是最基本的中文字符集。其編碼范圍是高位

0xa1-0xfe,低位也是 0xa1-0xfe;漢字從 0xb0a1 開始,結束于 0xf7fe;

GBK 是 GB2312-80 的擴展,是向上兼容的。它包含了 20902 個漢字,其編碼范

圍是 0x8140-0xfefe,剔除高位 0x80 的字位。其所有字符都可以一對一映射到

Unicode 2.0,也就是說 JAVA 實際上提供了 GBK 字符集的支持。這是現階段

Windows 和其它一些中文操作系統的缺省字符集,但并不是所有的國際化軟件都

支持該字符集,感覺是他們并不完全知道 GBK 是怎么回事。值得注意的是它不是

國家標準,而只是規范。隨著 GB18030-2000國標的發布,它將在不久的將來完成

它的歷史使命。

GB18030-2000(GBK2K)在 GBK 的基礎上進一步擴展了漢字,增加了藏、蒙等少數

民族的字形。GBK2K 從根本上解決了字位不夠,字形不足的問題。它有幾個特點,它并沒有確定所有的字形,只是規定了編碼范圍,留待以后擴充。

編碼是變長的,其二字節部分與 GBK 兼容;四字節部分是擴充的字形、字位,其

編碼范圍是首字節 0x81-0xfe、二字節0x30-0x39、三字節 0x81-0xfe、四字節

0x30-0x39。

UTF-8/UTF-16/UTF-32

UTF,即Unicode Transformer Format,是Unicode代碼點(code point)的實際表 示方式,按其基本長度所用位數分為UTF-8/16/32。它也可以認為是一種特殊的外

部數據編碼,但能夠與Unicode代碼點做一一對應。

UTF-8是變長編碼,每個Unicode代碼點按照不同范圍,可以有1-3字節的不同長度。

UTF-16長度相對固定,只要不處理大于U200000范圍的字符,每個Unicode代碼點

使用16位即2字節表示,超出部分使用兩個UTF-16即4字節表示。按照高低位字節

順序,又分為UTF-16BE/UTF-16LE。

UTF-32長度始終固定,每個Unicode代碼點使用32位即4字節表示。按照高低位字

節順序,又分為UTF-32BE/UTF-32LE。

UTF編碼有個優點,即盡管編碼字節數不等,但是不像gb2312/gbk編碼一樣,需要

從文本開始尋找,才能正確對漢字進行定位。在UTF編碼下,根據相對固定的算法,從當前位置就能夠知道當前字節是否是一個代碼點的開始還是結束,從而相對

簡單的進行字符定位。不過定位問題最簡單的還是UTF-32,它根本不需要進行字

符定位,但是相對的大小也增加不少。

關于GCJ JVM GCJ并未完全依照sun jdk的做法,對于區域和編碼問題考慮尚不夠周全。GCJ啟動

時,區域始終設為en_US,編碼也缺省為iso8859-1。但是可以用Reader/Writer做

正確編碼轉換。

第二篇:java路徑問題小結

1.user.dir Java代碼

1.//通過來獲取;此目錄并非是固定的,而是根據該代碼所屬類運行時的環境而定。

2.//普通的java程序中獲得的是該類所屬項目的根目錄(d:workspaceapp)3.//在特定服務器下發布運行的javaweb程序則獲得的是該服務器下提供運行環境的目錄

4.//(如用Tomcat將獲得F:Tomcat 6.0bin)5.System.getProperties(“user.dir”)

2.classes目錄

顧名思義指存放類文件的根目錄。

普通java程序的classes目錄指appbin ? web項目的classes目錄是指appWebRootWEB-INFclasses ?

Java代碼

1.//在普通項目或web項目中

2.//s:獲得classes目錄絕對路徑(包括TestClass類所屬包目錄)3.// appbincomtest 4.// 或appWebRootWEB-INFclassescomtest 5.//ss:獲得classes目錄絕對路徑 6.// appbin 7.// 或appWebRootWEB-INFclasses 8.com.test.TestClass c=new com.test.TestClass();9.String s=c.getClass().getResource(“").getPath();10.String ss=c.getClass().getClassLoader().getResource(”“).getPath();

3.web項目根目錄(在服務器發布后)app

(1)根據ServeletContext的getRealPath()方法獲得絕對路徑 Java代碼

1.//第一種獲得”app“絕對路徑f:tomcat 6.0webappsapp 2.//第二、三種獲得”app“絕對路徑f:tomcat 6.0webappsapp 3.getServletContext.getRealPath(”“);4.getServletContext.getRealPath(”“);5.getServletContext.getRealPath(”/“);

(2)根據HttpServletRequest的getContextPath()方法獲得相對路徑 Java代碼

1.getRequest().getContextPath();

4.在struts2框架中獲得發布后web項目的根目錄 Java代碼

1.//利用ServletActionContext的靜態方法

2.String real=ServletActionContext.getServletContext().getRealPath(”");3.String relative=ServletActionContext.getRequest().getContextPath());

如果使用user.dir的值的話獲得的路徑為%Tomcat_Home%bin,所以不推薦使用user.dir這一環境變量來獲取路徑。

對于新手來說,搞清楚java項目的開發目錄和發布目錄的信息是十分必要的,特別是使用集成開發環境下,目錄的安排十分透明,如果脫離開發環境的話,很多新手都會對項目目錄結構很迷茫。

第三篇:java小結

//1.累加 public class 累加 {

}

//2.階乘

public class 30的階乘 {

} public static void main(String[] args){

} int product=1;for(int i=1;i<=30;i++){ product=*i;} public static void main(String[] args){

} int i=1;for(int counter=1;counter<=100;counter++){ } System.out.println(i);i+=counter;

//3.倒序輸出

法1 用char數組思想 import java.util.Scanner;public class 逆序輸出 {

public static void main(String[] args){

Scanner scan=new Scanner(System.in);// String input[]=new String[4];input=scan.nextLine();// huiche

// String result=“";char[] Array=input[4].toCharArray();for(int i=Array.length-1;i>=0;i--){

} result+=Array[i];} System.out.println(result);} //倒序輸出 法2 用reverse()方法 import javax.swing.JOptionPane;public static void main(String[] args){

}

String a = null;StringBuffer b;//輸入

a=JOptionPane.showInputDialog(a);StringBuffer c1=new StringBuffer(a);b=c1.reverse();System.out.println(b);

//4.輸出100 121 144...361 public class平方輸入數組 {

}

//5.求最大公約數

private static int gys(int m,int n)

{

if(n==0)

return m;else public static void main(String[] args){

} int[] array=new int[10];for(int i=0;i<10;i++){ } array[i]=Math.pow((i+10),2.0);

for(int k=0;k

return gcd(n,m%n);

}

//6.求最小公倍數

public static int gbs(int n1,int n2){

int a =(n1>n2)? n1 : n2;

for(int j=a;j<=n1*n2;j++)

{

if(j%n1==0 && j%n2==0)

{

return j;

}

}

return 0;}

//7.1)十進制整數轉化為二進制整數采用“除2取余,逆序排列” import java.util.Scanner;public class Main {

public static void main(String[] args){ //第一行輸入要幾組測試數據

int N=0,a;//N為輸入幾組數據,a為輸入的十進制數字

} String b = null;Scanner scan=new Scanner(System.in);N=scan.nextInt();Main num=new Main();for(int i=1;i<=N;i++){

} a=scan.nextInt();b=num.deimalBinary(a);int d=num.Calcute(b);if(d%2==0)System.out.println(”Even“);else

System.out.println(”Odd“);

/*一個方法得到二進制數,用遞歸

*用2去除十進制整數,可以得到一個商和余數;

*再用2去除商,又會得到一個商和余數,} *如此進行,直到商為零時為止,*然后把先得到的余數作為二進制數的低位有效位,*后得到的余數作為二進制數的高位有效位,依次排列起來

*/ public String deimalBinary(int a){

} public int Calcute(String b){

} char[] Array=b.toCharArray();for(int i=0;i

} if(Array[i]=='1'){ } counter+=1;return counter;

//7.2)十進制小數轉換為二進制小數采用“乘2取整,順序排列”

/*用2乘十進制小數,可以得到積,*將積的整數部分取出,再用2乘余下的小數部分,//8.矩陣運算(加減乘)//矩陣運算 *又得到一個積,再將積的整數部分取出,*如此進行,直到積中的小數部分為零,*或者達到所要求的精度為止。

*然后把取出的整數部分按順序排列起來,*先取的整數作為二進制小數的高位有效位,后取的整數作為低位有效位。*/ import java.util.Scanner;public class Main { public static void main(String[] args){

int N1,M1,N2,M2,K;Scanner scan=new Scanner(System.in);N1=scan.nextInt();M1=scan.nextInt();int[][] a=new int[N1][M1];for(int i=0;i

for(int j=0;j

N2=scan.nextInt();M2=scan.nextInt();int[][] b=new int[N2][M2];for(int i=0;i

{ } b[i][j]=scan.nextInt();} K=scan.nextInt();if(K==1)//加法 {

int[][] c=new int[N1][M1];for(int i=0;i

} {

for(int j=0;j

}

System.out.println();} } if(K==2)//減法 {

int[][] c=new int[N1][M1];for(int i=0;i

} for(int j=0;j

for(int j:i){ System.out.print(j+” “);} System.out.println();} } if(K==3)//乘法 {

int[][] c=new int[N1][M2];for(int i=0;i

} {

for(int j=0;j

} for(int p=0;p

c[i][j]+=a[i][p]*b[p][j];for(int[] i:c)for(int j:i){ System.out.print(j+” “);} System.out.println();}

} } } 9.//保留確定位數輸出

import java.text.DecimalFormat;//非四舍五入

DecimalFormat myformat=new DecimalFormat(”#0.00");

myformat.format(double num);//四舍五入,例為保留2位

double f=3.1415926;

BigDecimal a=new BigDecimal(f);

double af=a.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();

第四篇:網絡編碼知識小結

注:本小結報告來自兩份論文

[1]上角標1代表 論文 <網絡編碼的研究進展> 楊林 鄭剛等

[2]上角標2代表 論文 <網絡編碼研究綜述> 陶少國等

網絡編碼研究綜述

萬里 基本概念

起源:R.Alshwede的蝴蝶網絡模型定義:網絡編碼是一種融合編碼和路由的信息交換技術,在傳統存儲轉發的路由方法基礎上,通過允許對接收的多個數據包進行編碼信息融合,增加單次傳輸的信息量,提高網絡整體性[1]能。

[1]本質:利用節點的計算能力提高鏈路帶寬的利用率。核心思想:具備編碼條件的網絡節點對接收到的信息進行編碼,然后傳輸給下一級的網絡節點,收到信息的下一級節點如果具備編碼條件,又對其接受的信息按照同樣的方式進行傳輸與處理,如此反復,直到所有經過處理后的信息匯聚到信宿節點為止。最后,在信宿節點,[2]通過譯碼,即可譯出信源發送的原始信息。主要優缺點: 優點: 提升網絡吞吐量 2 均衡網絡負載

從作者的例子[Fig.2]可以看出,雖然傳輸鏈路增加了,但是每條鏈路上傳輸的信息更均衡,解決了網絡擁塞問題。3 提高帶寬利用率

同2,雖然傳輸鏈路增多了,但是每條鏈路上的信息減少了(均衡了),總體是減少了網絡帶寬,提高了網絡帶寬利用率。缺點:

雖然網絡編碼優點突出, 但運用網絡編碼增加了計算的復雜性, 而且網路節點需要緩存足夠的輸入信息, 因此編碼操作增加了傳輸時延和節點的額外的I/ O、CPU消耗。統計數據表明, 即使應用最有效的隨機網絡編碼,其編碼和譯碼的時間也不容忽視。此外, 應用網絡編碼還存在同步問題, 這主要是由于信宿節點必須等待收到足夠的編碼信息, 才能開始

[2]譯碼。同步問題給在實時系統中應用網絡編碼提出了挑戰。

[2] 2 原理與數學模型

2.1網絡編碼分類

網絡編碼按照節點輸出和輸入的關系可劃分為線性網絡編碼和非線性網絡編碼 網絡編碼按照編碼系數生成的隨機性可劃分為隨機網絡編碼和確定性網絡編碼(通過算[1] 法算出系數)2.2線性網絡編碼

目前的網絡編碼研究均局限于有限域中的線性網絡編碼。2.3幾個基本概念 信息流:信源發送的信息,鏈路傳輸的信息以及信宿接收到的信息,均以向量形式取

[2]之于有限域。稱其為信息流。本地編碼向量:將節點上的信息流作為節點輸入鏈路上傳輸信息的線性組合。[鏈路的消息流與輸入鏈路的消息流的映射關系] 3 全局編碼向量:將信源發送信息表示成信息流向量,將鏈路上傳輸的信息流當做信源向量的信息流向量各元素的線性組合,該線性組合系數構成的向量就是該鏈路的全局編碼向量。[鏈路的消息流與信源的信息流的映射關系] 備注:如果忘記 可以參考論文2中的Fig.3 2.4數學模型

[2] 3網絡編碼的構造方法

網絡編碼的KEY:求得每條鏈路對應的編碼向量 3.1集中式編碼方法 3.1.1 指數時間算法

設N1,N2,...,Nn表示所有編碼鏈路對應的編碼向量, 則必定存在函數關系: p = f(N1,N2,..,Nn),并稱使p=0的點(N1,N2 , ?,Nn)的集合稱為被“函數p 分割出來的代數簇”,[2]因而算法的目標就是求得一個不位于“函數p分割出來的代數簇”上的點(p?0)。3.1.2 多項式時間算法

3.1.3其他算法 1引入通用LCM(貪婪算法與啟發式算法)可實現多速率的網絡編碼

但是由于計算量大,實現過程復雜,不實用(作為多速率網絡編碼的探索,具有很重要的意義)

2線性多播、線性廣播和線性擴散:線性擴散是線性廣播的特例, 線性廣播是線性多播的特例, 反之不成立.線性廣播說明了通過增加信源發送的信息流向量的維數, 可以提升傳輸

[2]速率;線性擴散能保證信源節點以互補的形式發送信息流。

[1]3沖突圖法、矩陣滿秩法、圖染色法等幾種構造方法。3.2分布式編碼方法 3.2.1確定系數構造法

其核心思想是將網絡拓撲分解成多個子樹,并保證每個子樹的編碼矢量屬于其父樹編碼

[1]矢量的擴張空間,且任意兩個子樹的共有信宿的編碼矢量均線性無關。3.2.2隨機系數網絡編碼

隨機網絡編碼(簡稱RNC),該方法基于一種隨機選擇編碼向量的策略:對于除了信宿節點外的所有中間節點,只要在一個足夠大的有限域上隨機選擇它們輸入鏈路到輸出鏈路的映射,而且各節點映射關系的選取是相互獨立的,就能以較高概率使各個信宿節點對應的系統轉移矩陣滿秩,即各信宿節點能以較高的概率成功譯碼。與時間多項式算法總能保證成功譯碼不同, 在RNC 中,雖然不能確保最終形成的系統轉移矩陣M滿秩, 但由于是隨機選擇編碼向量, 其復雜性與確定性算法相比要低得多, 更易于實現, 而且99%以上的譯碼成功率在一般情況也足以滿足需求.因此,隨機網絡編碼具有重要的理論價值和應用價值,得到了廣泛的關注和

[2]應用, 如微軟提出的P2P文件共享系統Avalanche便是基于RNC的典型應用。3.3集中式與分布式的比較

集中式:需要了解全局拓撲以分配編碼系數,可擴展性差。

確定分布式:掌握局部拓撲即可對入編信息進行編碼,但需要通信開銷。

[1]隨機網絡編碼:實用性強,需要較大的字母表,存在解碼失敗概率。

4性能參考以及優化

網絡編碼的主要性能指標包括字母表、編解碼速度和編碼增益等.其中,字母表是最重要的性能指標,決定了網絡編碼解的存在性、編解碼復雜度、延時以及存儲開銷.編解碼速度反映了編解碼操作的計算復雜度.編碼增益則表征網絡帶寬的利用效率.網絡編碼設計的一個重要目標就是盡可能使用小的字母表和低復雜度的編解碼操作來提高網絡吞吐量或減[1]小延時.

4.1網絡編碼復雜性的影響因素分析 4.1.1編碼構造方法

網絡編碼的核心,目標是尋找復雜性低的算法(分布式與集中式的共同目標)。4.1.2編碼操作數

可從三個角度分析:信息分組、編碼鏈路和編碼節點, 其中從信息分組的角度減少其操作數目是降低編碼操作復雜性最理想的方式, 但是分析的難度較大, 一般均從減少編碼鏈

[2]路或者節點的數目來考慮。4.1.3有限域的大小

保證足夠的譯碼成功率的前提下(有限域過小,譯碼成功率降低), 應盡量減少有限域的大小。

4.2基于簡單網絡的解決方案

將普通網絡轉化為某種易于表達, 且各網絡節點具有共同特征的“簡單網絡”將普通網絡轉化為簡單網絡, 其網絡拓撲變得十分簡單,但一個不容忽視的問題就是: 簡單網絡的規模(節點數)比原普通網絡卻膨脹了許多, 也就是說網絡編碼的代價被放大了,“簡單網絡”的最小代價并不等于原網絡的最小代價.但是, 將網絡“簡化”處理的思想在方法論上具有

[2]重要的借鑒意義,為最小代價的網絡編碼提供了研究方向。4.3基于信息流

信息流分解的基本原理是按照網絡中信息流的特征和共性, 將原網絡節點劃分為一系列的子樹圖, 這些子樹圖中的節點擁有相同的編碼向量, 子樹里面的節點的拓撲結構不影

[2]響整個系統的多播傳輸, 因此每個子樹可以當作一個節點來處理。4.4基于最小代價函數的解決方案

借鑒路由多播的最小代價樹,將網絡編碼轉化為線性規劃問題。

5應用與研究趨勢

5.1應用領域

[1]Ad Hoe網絡、傳感器網絡、P2P內容分發、分布式文件存儲和網絡安全等領域。

[2]無線網絡、應用層多播和P2P文件共享、傳輸的差錯控制。5.2研究趨勢

5.2.1多源網絡編碼

對于信源數目大于2的網絡編碼多播,研究不夠充分,但多源多播廣泛存在。5.2.2非組播網絡

對于非組播網絡的網絡編碼理論研究。5.2.3非線性網絡編碼

非線性研究尚未起步,性能還不可知,比線性網絡編碼要求與難度更高。5.2.4具體實現

網絡編碼的具體實現需要考慮諸多因素,也是有意義的研究方向。5.2.5與其他領域的融合

與信源編碼的聯合設計與優化、與信道編碼和調制技術的結合、與多描述分層編碼的結合。

5.2.6降低網絡編碼復雜度

降低網絡編碼復雜度,實現最小代價網絡編碼。5.2.7安全方面

無線網絡編碼在安全方面的研究。

第五篇:Java軟件開發工程師中文簡歷

個人簡歷

基本信息

姓名:**

性別:男

民族:漢學歷:本科 專業:工商管理 畢業院校:**大學出生年月:**年04月 15日婚姻:否電話:**

現住址:**市** 籍貫:****Email:**@qq.com

求職意向

Java軟件開發工程師

專業技能

熟練掌握Java熟練掌握Oracle數據庫,, SQL

熟練掌握Jsp、JavaScript、、、Xml等 掌握Struts2、Hibernate、Spring模式下的開發。熟練掌握Tomcat容器以及J2EE

能夠熟練運用

教育背景及培訓經歷

**.9-**.7就讀于**大學專業:工商管理

**.5-**.9****培訓高級Java開發 C+E 國際軟件工程師項目經驗

在線考試系統

項目簡述:,從服務器隨機調取試題并進行分數查詢.相關技術:Java,JavaSE多線程基礎.運行環境:Linux & Windows XP

項目職責:作為設計人員,獨立編寫并設計整體業務邏輯,并進行相應文檔的編寫以及開發計劃的制定,作為開發人員,對整個設計進行實現,并進行相應的測試。

所得收獲:掌握常見數據結構和實用算法,培養良好的編程習慣。

GWAP通用電子商務平臺

項目簡述:該系統主要由用戶管理、產品展示、購物車、訂單生成、產品管理等模塊組成,模擬當當網,為網上在線購物而設計的一個應用系統

相關技術:Jsp、JavaScript、Struts2、Hibernate、Spring、Tomcat 5.5、mySQL 運行環境:Linux & Windows XP

項目職責:作為設計人員,跟隨老師完成GWAP整體架構設計,制定開發計劃,組織協調本組軟件開發人員進行子項目的設計,開發和測試;完成系統的概要設計和詳細設計、提交設計文檔和開發計劃

作為開發人員,重點參與用戶注冊模塊、GWAP中購物車模塊、訂單生成模塊等的開發,根據設計文檔進行編碼,并完成相應的單元測試

所得收獲:通過此商務平臺的開發,掌握了Struts2框架的使用,在購物車模塊,巧妙的使用兩個list分別表示“用戶結算的商品”和“暫不購買的商品”,從而簡化了業務邏輯,也進而簡化了購物車的JSP設計。在此過程中,積累了一定的項目管理經驗,提高了與小組成員協調溝通的能力以及為小組成員提供技術支持的能力;提高了軟件測試能力并了解了常用軟件測試工具的使用。

所獲證書

2012.9達內公司簽發的C+E國際軟件工程師證書

自我評價

我極富敬業精神、積極開朗、樂觀向上、有很強的溝通能力和團隊協作能力。能承受壓力、喜歡富有挑戰性和具有發展空間的工作。IT行業是一個具有挑戰性的行業、隨著科技的不斷發展它也在不斷更新、不僅要會工作還要會學習、我喜歡接受這種挑戰、也愿意從事這方面工作。

能認真執行公司決策,服從公司領導安排,做事能吃苦耐勞,工作積極,有良好的團隊合作精神。

下載Java中文&編碼問題小結word格式文檔
下載Java中文&編碼問題小結.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    java知識點小結

    java重要知識點總結如下: 1,抽象,封裝,繼承,多態是面向對象程序設計中得四個特點. 2,面向對象得軟件開發大體分為:面向對象的分析,面向對象的設計,面向對象的實現. 可概括為如下過程......

    java個人小結(范文模版)

    原文[2007年03月25日 星期日 上午 03:04] Java發展到現在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE。這三塊相互補充,應用范圍不同。 J2SE就是Java2的標準版,主要用于桌面應用......

    java小結(5篇材料)

    [ティン]The only one is in my world,the favourite song is wrote for you! 1 垃圾收集器的問題 工作原理:一旦垃圾收集器準備好釋放對象占用的存儲空間,它首先調用finalize(......

    JAVA程序員不可不注意的編碼規范

    最近經常看一些朋友寫的源代碼,總是感覺編碼規范問題還沒有成為大家的關注點,導致代碼的通用可讀性相對比較差; 所以在此嘮叨幾句編碼規范(以struts2+spring2+hibernate3架構的......

    JAVA實習生問題

    JAVA實習生問題: 1.我班只招三人。 2.實習從現在開始,至于結束,暫時沒有時間限制,因為公司項目較多,缺乏人手,項目周期長。聽他們說他們現在接了一個安徽省的云平臺項目,這個就夠他......

    Java面試問題

    1、引用CSS樣式有哪兩種方式? Link,@import 2、js怎么控制兩個文本框,當選中的時候邊框變空,沒選中的變會原來的顏色。onFocus="document.getElementById('text1').style.backg......

    java個人小結——修飾符

    Java中public、protected、private、abstract、static和final 1.public 使用對象:類、接口、成員 介紹:無論它所處在的包定義在哪,該類(接口、成員)都是可訪問的2.private 使用......

    JAVA面試小結(新)

    1,作用域public,protected,private,以及不寫時的區別 不寫的時候為private 2,ArrayList和Vector的區別,HashMap和Hashtable的區別 答:vector是線程安全的,而ArrayList則是線......

主站蜘蛛池模板: 天天狠天天添日日拍捆绑调教| 18分钟处破好疼哭视频在线观看| 黄色在线观看| 亚洲乱理伦片在线观看中字| 欧美人与动牲交a免费| 久久不见久久见免费影院国语| 日韩高清亚洲日韩精品一区| 国语对白做受xxxxx在线中国| 女人下边被添全过视频| 在线va免费看成| 色综合视频一区中文字幕| 一出一进一爽一粗一大视频免费的| 午夜久久久久久禁播电影| 国产精品亚韩精品无码a在线| 亚洲区小说区激情区图片区| 影音先锋男人av鲁色资源网| 老熟女五十路乱子交尾中出一区| 国色天香中文字幕在线视频| 中日av乱码一区二区三区乱码| 国产亚洲精品久久久久久武则天| 日韩人妻无码精品久久久不卡| 天天影视性色香欲综合网| 精品久久久无码中文字幕边打电话| 国产乱子伦视频一区二区三区| 人妻少妇中文字幕乱码| 国产成人啪精品午夜网站a片免费| 国产成人精品午夜二三区波多野| 人妻少妇精品系列| 欧美老熟妇xb水多毛多| 麻豆网神马久久人鬼片| 国产免费a∨片在线软件| 老熟妇乱子伦牲交视频| 久久精品国产99久久无毒不卡| 成年午夜免费韩国做受视频| 少妇人妻精品无码专区视频| 国产精品一区二区av麻豆| 亚洲区综合区小说区激情区| 国产精品无码久久av嫩草| 男女猛烈无遮挡免费视频| 男女性爽大片视频| 国产精品无码一区二区三级|