好幾年前就想要用Java,只是工作上一直沒機會用上.
最近想要用Java applet加強web server的功能就著手來study囉
1.Java 既是編譯也是直譯式語言
編譯式語言的優點 : 較有效率及執行速度快
直譯式語言的優點 : 跨平台的可移植性佳
Java Source Code -> [ Compile ] -> Java Instruction Binary
Java Instruction Binary -> [ Interpreter ] -> Running on Java Virtual Machine
2.Java沒有指標 (pointer)
Java使用參考(reference)來達到指標的功能.
參考的好處是有型別處理的能力,因此安全性增加許多
3.Java會紀錄run time type
有了 run time type, Java 可以安全的做多型及強制轉型
4.Java具有真正的資料安全措施
在C++可以透過private宣告保護data / function member.
但這種保護可以透過指標便可輕易的存取.常聽到的溢位攻擊大致上就是運用這種惡意指標的方式
Java 有三層安全性保護
Byte-code verifier, class loader, security manager
其中Byte-code verifier就能防止溢位存取的發生
Security manager能限制程式的執行,例如不允許程式網路連線.
5.Java不支援運算子overload
6.Java中的陣列是特殊的物件型態
宣告型別為String的陣列變數 String [] arrayStr;
arrayStr此時還沒有陣列實體
Alloc陣列實體 arrayStr = new String [10];
陣列中的元素是該陣列型別的reference,並非實體
因此陣列初始的元素都是null reference
anonymous array
Func( new String [] { "string 0", "string 1", "string 2"});
7.Java中local variable必須明確賦值初始化
沒有留言:
張貼留言