重学Java(001)—— Java“白皮书”理解

写在前面:
第一次学习Java是在大二上学期的时候,那时候课时很少,再加上自己学习态度也并非十分认真,学习只是草草了事,应付完考试之后便没有了下文。不过很幸运当时的任课老师是大学中遇到的少有的认真负责的老师,帮助我在Java学习之中打下了一点基础,即使并不是很牢固。现在过去了一年多的时间,突然感觉自己要学的东西好多,没学的东西也好多,同时也很迷茫。于是决定把Java这门经典的语言再拿出来好好认真学习一遍,努力向做到精通一门语言努力。我相信有志者事竟成,只要你下定决心开始,什么时候都不算晚。共勉!

学习内容:Java“白皮书”的关键术语

“白皮书”是由Java的设计者进行编写,用来解释涉及的初衷以及完成的情况,并且发布了一个简短的摘要,这个摘要用斜面11个关键术语进行组织:

1)简单性
2)面向对象
3)分布式
4)健壮性
5)安全性
6)体系结构中立
7)可移植性
8)解释型
9)高性能
10)多线程
11)动态性

下面我将根据我所学到的知识,结合我自己的理解,做一个简单的记录:

1.简单性
在Java中,Java提出了C++中许多很少使用、难以理解、易混淆的特征。可以说Java语法是C++的一个“纯净版本”。这里没有头文件、指针运算、指针语法、结构、联合、操作符重载、虚基类等等。
另外,Java的目标之一是支持开发能够在小型机器上独立运行的软件,基本的解释器以及类支持大约仅为40KB。现在有一个独立的具有较小类库的Java微型班(Java Micro Edition),这个版本适用于嵌入式设备。

2.面向对象
面向对象的程序设计技术着眼于数据(即对象)和对象的接口上。Java与C++的不同点主要在于多重继承,在Java中,取而代之的是更简单的接口的概念。

3.分布式
这点暂时理解不太清晰,根据书上(Java核心技术卷)描述:Java有一个丰富的例程库,用于处理HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就像访问本地文件一样。

4.健壮性
字面意思,Java编写的程序具有多方面的可靠性

5.安全性
Java的安全模型,使得Java能够防范各种攻击,比如运行时堆栈溢出、破坏自己的进程空间之外的内存、未经授权读写文件等等。

6.体系结构中立
编译器生成的是一个体系结构中立的目标文件格式,这是一种编译过的代码,可以在很多处理器上运行。Java编译器通过生成与特定的计算机体系结构无关的字节码指令来实现这一特性。

7.可移植性
Java中的数据类型具有固定的大小。作为系统组成部分的类库,定义了可移植的接口。

8.解释型
Java解释器可以在任何移植了解释器的机器上执行Java字节码。

9.高性能
字面意思,优化代码以提高速度。

10.多线程
摩尔定律完结后,CPU速度不可能无限上升,这样一来,增加CPU的数量成为了很好的选择,而Java是第一个支持并发程序设计的主流语言。

11.动态性
从各种角度来看,Java更具有动态性,能够适应不断发展的环境。库中可以自由地添加新方法和实例变量,而不影响客户端。

我的理解一定有许多不合理、不严谨、不完善的地方,希望在后续的学习中,能够加强自己的理解!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值