Java details from Java核心技术 卷1 基础知识(1)

Java是一种包括语言、虚拟机、即时编译、类库、执行环境的平台;

执行环境提供安全性、跨操作系统的可移植性、自动垃圾收集等服务;

设计初衷:简单性、面向对象、网络技能、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程、动态性

简单性:Java剔除了C++中的:头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等;

面向对象:一种程序设计技术。C++多继承;Java单继承+接口、Java中元类模型(metaclass);

网络技能:Java应用程序能够通过URL打开和访问网络上的对象,便捷如访问本地文件。简化socket等网络连接,远程方法调用机制使得分布式对象之间可以进行通信;

健壮性:Java早期的问题检测、后期动态的(运行时)检测,消除有出错倾向的状态……Java采用的指针模型可以消除重写内存和损坏数据的可能。Java编译器可以检测许多在其他语言中仅在运行时才能检测出来的问题。Java不需要使用指针构造诸如字符串、数组这样的数据结构,必要时也可以具有指针的能力,如链表。Java绝对安全:绝不会存取一个坏的指针造成内存分配错误,也不必防范内存泄漏。

安全性:Java适用于网络/分布式环境。其安全机制难以蒙骗:运行时堆栈溢出、在自己的处理空间之外破坏内存、未经授权读写文件、等不安全的做法被防范。Java有数字签名类。Java的安全机制比ActiveX强得多,因为ActiveX是在应用程序运行时加以控制并制止恶意性破坏的。

体系结构中立:编译器生成体系结构中立的目标文件格式,只要有Java Runtime Environment就能执行。即时编译:将使用最频繁的字节码序列翻译成机器码。即时编译缓解了生成解释字节码速度拖慢的问题。虚拟机还可以检测指令序列的行为以增强其安全性;

可移植性:Java规范中没有依赖具体实现的地方,基本数据类型的大小及有关算法都做了明确的说明。二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰。字符串均以标准的Unicode格式存储。作为系统组成部分的类库,定义了可移植的接口;

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

高性能:即时编译器(just in time compiler)可以监控经常执行哪些代码并优化这些代码以提高速度。还可以消除函数调用(即内嵌),即时编译器知道哪些类已经加载。如果基于当前加载的类集,且特定的函数不被覆盖的话就可以内嵌。必要时,还可以撤销优化。

多线程:多线程带来更好的交互响应和实时行为。多线程编译简单。

动态性:将某些代码加入正在运行的程序中时,动态性非常重要。Java当前版本允许程序员知道对象的结构和行为。对于必须在运行时分析对象的系统(Java GUI 构建器、智能调试器、可插拔组件以及对象数据库)非常有用。

Java5.0添加了泛型、“for each”循环、可变元参数、自动装箱、元数据、枚举、静态导入;

Java7添加了基于字符串的switch、变形操作符、二进制字面量、异常处理改进;

时间: 2024-10-20 01:35:07

Java details from Java核心技术 卷1 基础知识(1)的相关文章

[基础] Java目录(摘自Java核心技术·卷1 基础知识)

Java核心技术·卷1 基础知识(原书第9版) 第1章 Java程序设计概述 1.1 Java程序设计平台 1.2 Java"白皮书"的关键术语 1.2.1 简单性 1.2.2 面向对象 1.2.3 网络技能 1.2.4 健壮性 1.2.5 安全性 1.2.6 体系结构中立 1.2.7 可移植性 1.2.8 解释型 1.2.9 高性能 1.2.10 多线程 1.2.11 动态性 1.3 Java applet与Internet 1.4 Java发展简史 1.5 关于Java的常见误解

《java核心技术 卷1 基础知识》二

<Java核心技术 卷1 基础知识>第4-5章 在Java中没有类就无法做任何事情 new操作符的返回值是一个引用 在Java中,如果使用一个未初始化的指针,运行系统会产生一个运行时错误. Date 用来表示时间点 LocalDate 日历表示法 同时不推荐使用Date类来处理日历 推荐使用LocalDate来处理日历 每一个拥有名字的类都会被编译生成对应的class文件 所有的Java对象都是在堆中构造的,构造器总是随着new操作符一起使用 在Java中,所有的方法都必须在类的内部定义,但并

《Java核心技术 卷1 基础知识》三

<Java核心技术 卷1 基础知识> 第六章 接口和内部类 接口不是类,而是对类的的一组需求描述. 接口不能包含实例域--接口没有实例 可以将接口看作没有实例域的抽象类 要将类声明为实现某个接口,需要使用关键字implements. 类实现一个接口的具体步骤为: 1)使用implements关键字进行声明要实现的接口 2)对接口中的所有方法进行定义 接口中的所有方法默认为public 但在实现接口时需要声明为public 这里介绍了Comparable接口,该接口只有一个方法,compareT

《Java核心技术 卷1 基础知识》七

<Java核心技术 卷1 基础知识> 第10章 图形程序设计 在Java1.0刚出现时,就包含了一个基本GUI程序设计的类库,即抽象窗口工具箱(Abstract Window Toolkit,AWT) 基本AWT库采用将处理用户界面元素的任务委派给每个目标平台(如windows.Macintosh等)的本地GUI工具箱的方式, 由本地工具箱负责用户界面元素的创建和动作 但由于在不同的平台上,操作行为有一些微妙的差别 因此,AWT也由"一次编写,随处使用"变为"一次

《Java核心技术 卷1 基础知识 原书第9版》pdf

下载地址:网盘下载 内容简介 编辑 CayS.Horstmann等编著,公飞编译的<Java核心技术>(CoreJava)自第1版出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是Java经典书籍.第8版针对JavaSE6平台进行了全面更新,囊括了Java平台标准版(JavaSE/J2SE)的全部基础知识,提供了大量完整且具有实际意义的应用实例,详细介绍了Java语言基础知识.面向对象程序设计.接口与内部类.事件监听器模型.swing图形用户界面程序设计.打包应用程序.异常处理.登

《Java核心技术 卷1 基础知识》一

<java核心技术卷1 第1-3章> JDK Java Development Kit ,即Java开发工具包 但这个工具包的1.2-1.4版本被称为Java SDK,随后才改名为JDK JRE Java运行时环境,它包含虚拟机但不包括编译器 Java SE,Java Standard Edition,Java标准版本 Java EE,Java Enterprise Edition,Java企业版本 Java ME,Java Micro Edition,Java微观版本 Java2 这种提法始

Java核心技术 卷1 基础知识-第一天

基本数据类型 java是一种强数据类的的语言 共有8种基本数据类型 其中: 整型4种 int(4字节) short(2字节) long(8字节) byte(1字节) java中整型的范围与机器无关 长度是一定的,不会因为跨平台造成整数溢出 浮点型 两种 double float double的长度是float长度的两倍,双精度数值 但部分都是使用double ,在表示的时候 如果写作3.24 编译器会人会认为是double型 3.24F是float型 浮点数有三个特殊值 正无穷大 (正整数除以0

Java 核心技术 卷1 基础知识 List 13.1

List 13.1  LinkList/LinkedListTest.java java容器之LinkList package linkList; import java.util.LinkedList; import java.util.List; import java.util.ListIterator; public class LinkListTest{ public static void main(String args[]){ List<String> a=new Linked

《Java核心技术 卷1 基础知识》四

第7章 异常.断言和日志 异常 在Java中,所有异常对象都是派生于Throwable类的一个实例. 如果Java内置的异常类不能够满足需求,用户可以创建自己的异常类 Error类层次结构描述了Java运行时系统的内部错误和自愿耗尽错误,应用程序不应该抛出这种类型的对象. Exception层次结构又分解为两个分支,一个分支派生于RuntimeException:另一个分支包含其他异常. 划分这两个分支的规则为: 由程序错误导致的异常属于RuntimeException: 程序本身没有问题,但由