1.1 Java語言的歷史與特點
Java SE 標準版 Standard Edition 桌面
Java EE 企業(yè)版 Enterprise Edition 網(wǎng)絡
Java ME 微型版 Micro Edition 手機等(與Android不同)
JCP - Java Community Process
JSRs - Java Specification Requests
Java特點
面向?qū)ο?,平臺無關性,安全穩(wěn)定,支持多線程,提供了豐富的庫
不同于C++
無指針、自動內(nèi)存管理、數(shù)據(jù)類型長度固定、不用頭文件、不包含結(jié)構(gòu)和聯(lián)合、不支持宏、不用多重繼承、無類外全局變量、無GOTO
Java核心機制
Java 虛擬機(Java Virtual Machine)
JVM讀取并處理經(jīng)編譯過的字節(jié)碼class文件。
JVM規(guī)范定義了:指令集、寄存器集、類文件結(jié)構(gòu)、堆棧、垃圾收集堆、內(nèi)存區(qū)域
代碼安全性檢測(Code Security)
JRE = JVM + API(Lib)
JRE主要完成三項主要功能:
加載代碼: class loader
校驗代碼:bytecode verifier
執(zhí)行代碼:runtime interpreter
Java 運行環(huán)境是由虛擬機來裝載這些程序并且調(diào)用相應的指令來具體執(zhí)行的
字節(jié)碼class ---- 所以平臺無關
代碼校驗 ---- 所以Java是安全的
垃圾收集機制(Garbage Collection)
1.系統(tǒng)級專門線程,跟蹤存儲空間的分配(或者說,在分配的時候就已經(jīng)跟蹤清楚了)
2.JVM空閑時檢查并釋放那些可釋放的空間
3.程序員無法也無需精確控制和干預該回收過程
JDK = JRE + Tools
javac.exe 編譯器
java.exe 執(zhí)行器
javadoc.exe 文檔生成器
jar.exe 打包器
jdb.exe 調(diào)試器
1.2 Java面向?qū)ο?/h1>
類:屬性(變量,字段field),行為(函數(shù),方法method)
類是對象的抽象(模板),對象是類的實例
封裝性
模塊化,信息隱蔽(只通過受保護的接口訪問某個類)
繼承性
父類和子類共享數(shù)據(jù)和方法
實現(xiàn)了更好的抽象和分類、增強代碼重用率、提高可維護性
多態(tài)性(polymorphism)
不同的對象收到同一個消息(調(diào)用方法)可產(chǎn)生不同的效果,實現(xiàn)的細節(jié)由接受對象自行決定
面向?qū)ο蟪绦蛟O計
1.有哪些對象類
2.每個類有哪些屬性、方法
3.類之間的關系(繼承、關聯(lián))
4.對象之間發(fā)送消息(調(diào)用方法)