《Java核心技术 卷I》读书笔记一

章节内容

  • 白皮书关键术语
  • java发展历程

白皮书关键术语

  • 简单性
    Java语言是C++语法的一个纯净版本,没有头文件、指针运算、结构、联合、操作符重载、虚基类等。
    还有一方面是小,Java基本的解释器以及类支持大约仅为40KB,再加上基础的标准类库和对线程的支持,大约需要增加175KB。
  • 面向对象
    Java与C++面向对象的主要不同在于多重继承,Java中取而代之的是更简单的接口概念。
    PS:目前最新版Java好像支持多重继承了。
  • 分布式
    Java提供丰富的例程库,用于处理多种TCP/IP协议。
  • 健壮性
    Java消除重写内存和损坏数据的可能性
  • 安全性
    java设计成能够防范多种攻击:运行时堆栈溢出、破坏自己的进程空间之外的内存、未经授权读写文件
  • 体系结构中立
    java的虚拟机可以使编译后的java代码可以再许多处理器上运行,早期java虚拟机是解释运行,但是可以将执行最频繁的字节码序列翻译成机器码,也就是即时编译JIT
  • 可移植性
    java中数据类型具有固定大小,比如int永远为32位的整数。这消除了代码移植时的主要问题。
    二进制数据以固定的格式进行存储和传输,消除了字节顺序地困扰。字符串是用标准的Unicode格式存储的。
  • 解释型
    java解释器可以再任何移植了解释器的机器上执行java字节码。
  • 高性能
    字节码可以再运行时刻动态地翻译成机器码,也就是即时编译。
  • 多线程
    java的并发程序设计表现出色
  • 动态性
    java与c、c++相比更加具有动态性。

java发展历程

  • 1.0 1996 语言本身
  • 1.1 1997 内部类
  • 1.2 1998 strictfp修饰符
  • 1.3 2000 无
  • 1.4 2002 断言
  • 5.0 2004 泛型类、for each循环、可变元参数、自动装箱、元数据、枚举、静态导入
  • 6 2006 无
  • 7 2011 基于字符串的switch、钻石操作符、二进制字面量、异常处理改进
  • 8 2014 lambda表达式、包含默认方法的接口、流和日期/时间库
posted @ 2020-09-14 22:40  無花無酒鋤作田  阅读(170)  评论(0编辑  收藏  举报