版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程式設計技術
概述
什麼是Java語言
一個簡單的Java程式程式的編譯和運行常見錯誤使用Java核心API文檔什麼是Java語言前身是1991年由美國Sun公司的JameGosling、BillJoe等人開發的Oak語言
Java是一種功能強大的程式設計語言,既是開發環境,又是應用環境,它代表一種新的計算模式什麼是Java語言面向對象的程式設計語言與機器無關的二進位格式的類檔Java虛擬機(用來執行類檔)完整的軟體程式包(跨平臺的API和庫)Java語言Java語言的特點語法簡單,功能強大類似於C++,去掉了C++中不常用且容易出錯的地方完全面向對象分佈式與安全性強調網路特性,內置TCP/IP、HTTP、FTP協議類庫三級代碼安全檢查機制與平臺無關一次編寫,到處運行Java語言的特點解釋編譯兩種運行方式just-in-time編譯器,簡稱JIT編譯器多線程 動態執行執行代碼是在運行時動態載入的豐富的API文檔和類庫Java的三層架構主機架構集中處理,集中管理,各用戶分享使用電腦資源。這種模式下,可移植性差,擴充系統費用較大個人電腦(PC)本地處理,本地管理,各用戶獨佔系統資源,管理維護費用直線上升Java的三層架構Java計算模式結合了上述兩種模式的優勢,它可用於客戶/伺服器架構,將公共使用的程式放到應用程式伺服器上,用戶使用時從伺服器上下載到客戶端,各用戶獨立使用設備和程式。當程式更新時,只需在伺服器上進行。不必在客戶端做任何維護工作,達到“零管理”的理想目標。Java語言的目標創建一種面向對象的語言提供一種解釋環境這可以縮短系統開發的編譯-連接-裝載-測試週期,提高開發速度。去掉了影響代碼健壯性的功能如指針結構及程式員負責的記憶體分配與釋放。Java語言的目標為程式運行多線程提供了方法允許程式下載代碼模組在程式運行生命期內可以動態修改檢查下載的代碼模組,提供了保證安全的一種手段Java虛擬機Java虛擬機(Javavirtualmachine,JVM)是運行Java程式必不可少的機制。編譯後的Java程式指令並不直接在硬體系統的CPU上執行,而是由JVM執行。JVM是編譯後的Java程式和硬體系統之間的介面,程式員可以把JVM看作一個虛擬的處理器。它不僅解釋執行編譯後的Java指令,而且還進行安全檢查。它是Java程式能在多平臺間進行無縫移植的可靠保證,同時也是Java程式的安全檢驗引擎。Java虛擬機JVM的定義JVM是在一臺真正的機器上用軟體方式實現的一臺假想機JVM的具體實現指令集(等價於CPU的指令集)、寄存器組、類檔格式、棧、垃圾收集堆、記憶體區JVM代碼格式為壓縮的位元組碼,效率較高JVM的實現叫做Java運行時系統或運行時環境(RuntimeEnvironment),簡稱為運行時Java虛擬機的性能Java解釋器經過優化,位元組碼的執行速度已有很大提高在位元組碼執行之前先經過JIT編譯器進行編譯,生成針對具體平臺的本機執行代碼。執行效率可比解釋執行的效率大幅度提高。並仍不失跨平臺的特點Java虛擬機的性能Hotspot技術是Sun公司推出,為根本上解決Java程式的效率問題。它提供對代碼的運行時選擇。在程式執行時,對每個位元組碼指令進行分析,根據它的執行次數,動態決定它的執行方式垃圾收集程式員不必親自釋放記憶體後臺系統級線程,記錄每次記憶體分配的情況,並統計每個記憶體指針的引用次數。垃圾收集自動進行,無需用戶釋放記憶體,消除了記憶體漏洞代碼安全語言定義publicprotectedprivatefinal取消指針自動回收垃圾bytecode檢查限定對象的存取許可權系統堆疊溢出參數類型一致程式執行系統WWW流覽器限制Java小應用程式的不正當使用Java根源程式(.java檔)Java編譯器Javabytecode(.class檔)bytecode下載器bytecode解釋器系統執行平臺代碼安全對於Applet,因其是從其他機器上通過網路下載到本機執行的,程式中可能隱藏某些非法操作,所以在Applet運行之前,系統要對之進行嚴格的三級代碼安全檢查,即驗證、分析和跟蹤監測。代碼安全JDK1.0版本中,安全模型是所謂的“沙箱”模型JDK1.1版本中,使用“簽名Applet”Java2允許用戶自己設定相關的安全級別代碼安全Java解釋器Java解釋器只能執行為JVM編譯的代碼Java解釋器有三項主要工作:
(1)下載代碼--由類下載器完成 (2)校驗代碼--由位元組碼校驗器完成 (3)運行代碼--由運行時解釋器完成代碼安全類下載器從Internet網上下載類檔類下載器把本地檔系統的類名空間和網路源輸入的類名空間區分開來,以增加安全性代碼安全位元組碼校驗器檢查代碼的安全性,代碼段的格式,並使用規則來檢查非法代碼段主要檢查以下幾項內容: (1)類遵從JVM的類檔格式。 (2)不出現訪問違例情況。 (3)代碼不會引起運算棧溢出。 (4)所有運算代碼的參數類型總是正確的。 (5)不會發生非法數據轉換,如把整數轉換為指針。 (6)對象域訪問是合法的。開發環境開發環境的安裝安裝JDK設置環境變數PATH=C:\ProgramFiles\Java\jdk1.5.0\bin;CLASSPATH=.;c:\ProgramFiles\Java\jdk1.5.0\LIB;c:\ProgramFiles\Java\jdk1.5.0\demoJDK目錄結構C:\Jdk1.5.0binlibjavacjavaappletviewer用戶類檔所在目錄c:\java\examples\applications當前目錄jredemoJava程式Java應用程式(JavaApplication)Java小應用程式(JavaApplet)Java應用程式例publicclassHelloWorldApp{
publicstaticvoidmain(Stringargs[]){
System.out.println("HelloWorld!");}}編譯命令運行命令運行結果程式的編譯和運行編譯
原始檔案是文本形式的檔,經過編譯,生成二進位格式的位元組碼類檔Java編譯器:“javac”
$javacHelloWorldApp.java運行
Java的解釋器是“java.exe”java和javac一般放在$JAVA_HOME/bin目錄中,系統配置檔的PATH變數中應包含該目錄
$javaHelloWorldApp常見錯誤編譯時錯誤
javac:Commandnotfound
包含javac編譯器的路徑變數設置不正確。HelloWorldApp.java:3:Methodprintl
(java.lang.String)notfoundinclassjava.io.PrintStream.
System.out.printl(“HelloWorld!”);
^方法名printl不正確,
HelloWorldApp.java:1:PublicclassHelloWorldappmustbe
definedinafilecalled"HelloWorldapp.java".
publicclassHelloWorldapp{
^檔定義的公有類HelloWorldapp的名字和文件名不匹配。常見錯誤運行時錯誤Can'tfindclassHelloWorldApp系統找不到名為HelloWorldApp的類檔。InclassHelloWorldApp:mainmustbepublicandstaticmain()方法的左側缺少static或public檔中含有的類個數錯誤在一個原始檔案中只能定義一個公有類常見錯誤層次錯誤解釋:一個.java原始檔案可以含有三個“頂層”元素,這三個元素必須依次是:(1)一個包說明,即package語句,可選(2)任意多個引入語句,即import語句(3)類和介面說明常見錯誤整體來看,Java程式的結構如下:package語句:零個或1個,必須放在檔開始;import語句:零個或多個,必須放在所有類定義之前;公有的(public)類定義:零個或一個;類定義:零個或多個;介面定義:零個或多個;原始檔案命名時,若檔中含有public類,原始檔案必須與該類名字一致,注意區分大小寫。常見錯誤正確的語句序列:錯誤的語句順序:packageTransportation;importjava.awt.Graphics;importjava.applet.Applet;importjava.awt.Graphics;importjava.applet.Applet;packageTrans
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年浙科版七年级历史下册阶段测试试卷
- 2025年湘师大新版九年级地理上册月考试卷含答案
- 年产1000万把扳手技改项目可行性研究报告写作模板-申批备案
- 2025年冀教版九年级历史下册阶段测试试卷
- 2025年统编版九年级地理下册阶段测试试卷含答案
- 二零二五年度农家乐生态农业科技示范园合作开发合同范本4篇
- 二零二五版美甲店顾客满意度调查与分析合同模板3篇
- 二零二五宁波教育培训机构教师劳动合同4篇
- 2025年度水上交通船舶驾驶员派遣合同范本4篇
- 二零二五年度住宅小区智能化改造合同4篇
- 《向心力》 教学课件
- 结构力学数值方法:边界元法(BEM):边界元法的基本原理与步骤
- 2024年山东省泰安市高考语文一模试卷
- 工程建设行业标准内置保温现浇混凝土复合剪力墙技术规程
- 北师大版物理九年级全一册课件
- 2024年第三师图木舒克市市场监督管理局招录2人《行政职业能力测验》高频考点、难点(含详细答案)
- RFJ 006-2021 RFP型人防过滤吸收器制造与验收规范(暂行)
- 盆腔炎教学查房课件
- 新概念英语课件NCE3-lesson15(共34张)
- GB/T 3683-2023橡胶软管及软管组合件油基或水基流体适用的钢丝编织增强液压型规范
- 电视剧《琅琊榜》特色分析
评论
0/150
提交评论