Java“白皮书"的关键术语

  • 简单性
我们通常说一个事物简单都是比较而言的,那么Java的简单性主要体现在如下两个方面:   
     1. 相对于c++,它剔除了头文件,指针运算等许多难以理解易混淆的特性。
     2. 支持开发能够在小型机器上独立运行的软件。
  • 面向对象
这应该是Java最大的特性了,面向对象与面向过程相对。在一切皆对象的基础上,将重点放在数据和对象的接口上。
如若把对象看作人,过程看作对象,那么面向对象关注的是这个人可以做什么样的动作。
  • 分布式
官方说法: Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过url
打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
  • 健壮性
对于健壮性的理解就是自身比较强大,自己的自我调节能力很强。
对于Java,它采用的指针模型可以消除重写内存和损坏数据的可能性,也就是避免了C++指针带来的一系列问题。
它永远不会存储一个坏的指针,造成内存分配的错误。
还有一个保证健壮性的原因是Java是编译时检查错误。
  • 安全性
其实Java一开始在安全方面并不是做的很好,是不断的在改进的。
那么Java的安全想体现在哪里呢?
Java 编译器和虚拟机强制实施的内置的语言安全特性: 
    1. 强大的数据类型管理 
    2. 自动内存管理 
    3. 字节码验证 
    4. 安全的类加载 
还有就是Java虚拟机可以检测指令序列的行为,从而增强其安全性。
  • 体系结构中立
中立指的是不依赖特定的体系结构,Java编译器通过生产与特定计算机体系结构无关的字节码指令来实现这一
特性。
  • 可移植性
这个特性就是可跨平台,不依赖具体的实现,具体为
 - 数据类型具有固定大小(整型的范围与运行Java代码的机器无关)
 - 二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰。
 - 字符串是用标准的Unicode格式存储的。
  • 解释性
Java解释器可以在任何移植了解释器的机器上执行Java字节码。
  • 高性能
字节码可以动态的翻译成对于运行这个应用的特定cpu机器码。
  • 多线程
多线程可以带来更好的交互响应和实时行为。
  • 动态性
Java能够适应不断发展的环境。
库中可以自由的添加新方法和实例变量,而对客户端却没有任何影响。
1. Introduction to Java 1.1Beginnings of the Java Language Project 1.2Design Goals of Java 1.2.1Simple, Object Oriented, and Familiar 1.2.2Robust and Secure 1.2.3Architecture Neutral and Portable 1.2.4High Performance 1.2.5Interpreted, Threaded, and Dynamic 1.3The Java Platform--a New Approach to Distributed Computing 2. Java--Simple and Familiar 2.1Main Features of the Java Language 2.1.1Primitive Data Types 2.1.2Arithmetic and Relational Operators 2.1.3Arrays 2.1.4Strings 2.1.5Multi-Level Break 2.1.6Memory Management and Garbage Collection 2.1.7The Background Garbage Collector 2.1.8Integrated Thread Synchronization 2.2Features Removed from C and C++ 2.2.1No More Typedefs, Defines, or Preprocessor 2.2.2No More Structures or Unions 2.2.3No Enums 2.2.4No More Functions 2.2.5No More Multiple Inheritance 2.2.6No More Goto Statements 2.2.7No More Operator Overloading 2.2.8No More Automatic Coercions 2.2.9No More Pointers 2.3Summary 3. Java is Object Oriented 3.1Object Technology in Java 3.2What Are Objects? 3.3Basics of Objects 3.3.1Classes 3.3.2Instantiating an Object from its Class 3.3.3Constructors 3.3.4Methods and Messaging 3.3.5Finalizers 3.3.6Subclasses 3.3.7Java Language Interfaces 3.3.8Access Control 3.3.9Packages 3.3.10Class Variables and Class Methods 3.3.11Abstract Methods 3.4Summary 4. Architecture Neutral, Portable, and Robust 4.1Architecture Neutral 4.1.1Byte Codes 4.2Portable 4.3Robust 4.3.1Strict Compile-Time and Run-Time Checking 4.4Summary 5. Interpreted and Dynamic 5.1Dynamic Loading and Binding 5.1.1The Fragile Superclass Problem 5.1.2Solving the Fragile Superclass Problem 5.1.3Run-Time Representations 5.2Summary 6. Security in Java 6.1Memory Allocation and Layout 6.2Security Checks in the Class Loader 6.3The Byte Code Verification Process 6.3.1The Byte Code Verifier 6.4Security in the Java Networking Package 6.5Summary 7. Multithreading 7.1Threads at the Java Language Level 7.2Integrated Thread Synchronization 7.3Multithreading Support--Conclusion 8. Performance and Comparisons 8.1Performance 8.2The Java Language Compared 8.3A Major Benefit of Java: Fast and Fearless Prototyping 8.4Summary 9. Java Base System and Libraries 9.1Java Language Classes 9.2Input Output Package 9.3Utility Package 9.4Abstract Window Toolkit 10. The HotJava World-Wide Web Browser 10.1The Evolution of Cyberspace 10.1.1First Generation Browsers 10.1.2The HotJava Browser--A New Concept in Web Browsers 10.1.3The Essential Difference 10.1.4Dynamic Content 10.1.5Dynamic Types 10.1.6Dynamic Protocols 10.2Freedom to Innovate 10.3Implementation Details 10.4Security 10.4.1The First Layer--the Java Language Interpreter 10.4.2The Next Layer--the Higher Level Protocols 10.5HotJava--the Promise 11. Further Reading
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值