java 白皮书的关键术语

【0】README

0.1) 本文转自 core java volume 1,仅供了解,所谓爱屋及乌嘛;
0.2) java的设计者编写了颇有影响力的白皮书,用来解释设计的初衷以及完成的情况,并发布了一个摘要;


【1】该摘要归纳为11个关键术语

1.1)简单性;
1.2)面向对象: java 与 C++ 的主要不同点在于多继承;
1.3)网络技能(Network-Savvy): java有一个扩展的例程库,用于处理像HTTP 和 FTP 之类的TCP/IP 协议;
1.4)健壮性: java 和 C++ 最大的不同在于 java采用的指针模型可以消除重写内存和损坏数据的可能性;这个特性非常有用, 它使得 java 编译器能够检测许多在其他语言中仅在运行时刻才能够检测出来的问题;java是绝对安全的, 其原因是永远不会存取一个坏的指 针,造成内存分配错误,也不必防范内存泄露;
1.5)安全性: java 适用于网络/分布式环境,使用 java 可以构建防病毒、防篡改的系统;
一开始, java就设计成 能够防范各种攻击, 其中包括:

  • 1.5.1)运行时堆栈溢出; 如,蠕虫等病毒常用的攻击手段;
  • 1.5.2)在自己的处理空间之外破坏内存;
  • 1.5.3)未经授权读写文件;

Attention): 自java1.1 以来,java就有了 数字签名类 的概念,通过数字签名类,可以确定类的作者;如果信任这个类的作者,这类就 可以在你的机器上拥有更多的权限;
1.6)体系结构中立: java编译器通过生成与特定的计算机体系结构无关的 字节码指令来实现这一特性;(编译器生成一个体系结构中立的 目标文件格式,这是一种编译过的代码,只要有 java 运行时系统, 就可以在许多处理器上运行)
即时编译: 虚拟机有一个选项,可以将使用最频繁的 字节码序列 翻译成 机器码,这个过程被称为 即时翻译
1.7)可移植性: 在java 中, 数据类型具有固定的大小, 这消除了代码移植时令人头痛的问题, 二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰, 而字符串采用的是 标准的 Unicode 格式存储的(例如, java中的int 永远为32位整数, 而在C/C++中,int 可能是16位整数、32位整数,也可以是编译器提供商指定的其他大小);
1.8)解释性: java 解释器可以在任何移植了解释器的机器上执行 java 字节码;(现在,使用 即时编译器 将字节码 翻译成 机器码)
1.9)高性能: 在运行时, 字节码可以快速地翻译成运行这个应用程序的特定CPU 的机器码;
1.10)多线程:多线程可以带来更好的交互响应和实时行为;(多线程编译的简单性 是 java 成为颇具魅力的服务器段开发语言的主要原因之一)
1.11)动态性: 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、付费专栏及课程。

余额充值