欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
JAVA類(lèi)是如何來(lái)編碼和被解碼
這里,我們以中文win2k操作系統為例說(shuō)明JAVA類(lèi)是如何來(lái)編碼和被解碼的。

 

    第一步,我們在中文win2k中用編輯軟件如記事本編寫(xiě)一個(gè)Java源程序文件(包括以上五類(lèi)JAVA程序),程序文件在保存時(shí)默認采用了操作系統默認支持GBK編碼格式(操作系統默認支持的格式為file.encoding格式)形成了一個(gè).java文件,也即,java程序在被編譯前,我們的JAVA源程序文件是采用操作系統默認支持的file.encoding編碼格式保存的,java源程序中含有中文信息字符和英文程序代碼;要查看系統的file.encoding參數,可以用以下代碼:
  public class ShowSystemDefaultEncoding {
  public static void main(String[] args) {
  String encoding = System.getProperty("file.encoding");
  System.out.println(encoding);
  }}

    第二步,我們用JDK的javac.exe文件編譯我們的Java源程序,由于JDK是國際版的,在編譯的時(shí)候,如果我們沒(méi)有用-encoding參數指定我們的JAVA源程序的編碼格式,則javac.exe首先獲得我們操作系統默認采用的編碼格式,也即在編譯java程序時(shí),若我們不指定源程序文件的編碼格式,JDK首先獲得操作系統的file.encoding參數(它保存的就是操作系統默認的編碼格式,如WIN2k,它的值為GBK),然后JDK就把我們的java源程序從file.encoding編碼格式轉化為JAVA內部默認的UNICODE格式放入內存中。然后,javac把轉換后的unicode格式的文件進(jìn)行編譯成.class類(lèi)文件,此時(shí).class文件是UNICODE編碼的,它暫放在內存中,緊接著(zhù),JDK將此以UNICODE編碼的編譯后的class文件保存到我們的操作系統中形成我們見(jiàn)到的.class文件。對我們來(lái)說(shuō),我們最終獲得的.class文件是內容以UNICODE編碼格式保存的類(lèi)文件,它內部包含我們源程序中的中文字符串,只不過(guò)此時(shí)它己經(jīng)由file.encoding格式轉化為UNICODE格式了。

   這一步中,對于JSP源程序文件是不同的,對于JSP,這個(gè)過(guò)程是這樣的:即WEB容器調用JSP編譯器,JSP編譯器先查看JSP文件中是否設置有文件編碼格式,如果JSP文件中沒(méi)有設置JSP文件的編碼格式,則JSP編譯器調用JDK先把JSP文件用JVM默認的字符編碼格式(也即WEB容器所在的操作系統的默認的file.encoding)轉化為臨時(shí)的Servlet類(lèi),然后再把它編譯成UNICODE格式的class類(lèi),并保存在臨時(shí)文件夾中。如:在中文win2k上,WEB容器就把JSP文件從GBK編碼格式轉化為UNICODE格式,然后編譯成臨時(shí)保存的Servlet類(lèi),以響應用戶(hù)的請求。

    第三步,運行第二步編譯出來(lái)的類(lèi),分為三種情況:

    A、 直接在console上運行的類(lèi)
    B、 EJB類(lèi)和不可以直接運行的支持類(lèi)(如JavaBean類(lèi))
    C、 JSP代碼和Servlet類(lèi)
    D、 JAVA程序和數據庫之間
    下面我們分這四種情況來(lái)看。
    A、直接在console上運行的類(lèi)

   這種情況,運行該類(lèi)首先需要JVM支持,即操作系統中必須安裝有JRE。運行過(guò)程是這樣的:首先java啟動(dòng)JVM,此時(shí)JVM讀出操作系統中保存的class文件并把內容讀入內存中,此時(shí)內存中為UNICODE格式的class類(lèi),然后JVM運行它,如果此時(shí)此類(lèi)需要接收用戶(hù)輸入,則類(lèi)會(huì )默認用file.encoding編碼格式對用戶(hù)輸入的串進(jìn)行編碼并轉化為unicode保存入內存(用戶(hù)可以設置輸入流的編碼格式)。程序運行后,產(chǎn)生的字符串(UNICODE編碼的)再回交給JVM,最后JRE把此字符串再轉化為file.encoding格式(用戶(hù)可以設置輸出流的編碼格式)傳遞給操作系統顯示接口并輸出到界面上。

    對于這種直接在console上運行的類(lèi),它的轉化過(guò)程可用圖1更加明確的表示出來(lái):

圖1

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Java中文問(wèn)題及最優(yōu)解決方法
jsp中文問(wèn)題解決方案(完整版)
javac編譯 編碼GBK的不可映射字符
Java編輯提示錯誤: 編碼 GBK 的不可映射字符 (0x80)
字符串的編碼解碼
Java字符編碼設置總結
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久