首页 > 编程语言 >《Java核心技术卷Ⅰ》

《Java核心技术卷Ⅰ》

时间:2023-09-24 17:45:32浏览次数:26  
标签:Java 1.1 核心技术 虚拟机 C++ 编译器 多线程

《Java核心技术卷Ⅰ》阅读笔记,更新中——

第一章 Java程序设计概述

1.1 Java白皮书

1)简单性

2)面向对象

3)分布式

4)健壮性

5)安全性

6)体系结构中立

7)可移植性

8)解释性

9)高性能

10)多线程

11)动态性


1.1.1 简单性

Java可以说是C++的一个纯净版本。Java没有头文件、指针运算、结构、联合、操作符重载、虚基类等。同时C++和Java的语法很相似。


1.1.2 面向对象

Java的面向和C++的面向对象旗鼓相当。Java和C++的不同点在于多重继承,在Java中,取而代之的是接口。与C++相比,Java提供了更丰富的运行时自省功能。[?]


1.1.3 分布式

Java有丰富的库用于处理HTTP和FTP之类的协议,是的访问URL和网上内容很便捷。


1.1.4 健壮性

Java与C/C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。[?]

Java编译器能够检测许多其他语言中仅在运行时才能够检测出来的问题。


1.1.5 安全性

一开始的Java程序并不安全,存在一些小Bug。


1.1.6 体系结构中立

Java能够生成体系结构中立的目标文件格式(.class)。这是一种编译型代码,它可以在很多处理器上运行。可以在虚拟机上转化为原生机器代码。

解释虚拟机指令肯定比全速运行机器指令慢得多。不过,虚拟机有个选项,可以将执行最频繁的字节码序列转换成机器码,即即时编译(just-in-time compliation)


1.1.7 可移植性

  • Java中的int总是32位整数,不像C++中int'大小依据操作系统。
  • 二进制数据以固定的格式进行存储和传输,消除了有关字节顺序的困扰。[?]
  • 字符串采用标准的Unicode格式存储。
  • 很多Java库也能很好地支持平台独立性,无需顾虑底层操作系统。

1.1.8 解释性

Java9 提供了jshell工具来支持类似于逐行执行并能直接看到结果的编程。


1.1.9 高性能

现在的即时编译器已经非常出色,可以和传统编译器相媲美。即时编译器可以监控哪些代码频繁执行,并优化这些代码以提高速度。还能消除函数调用(即“内联”)。即时编译器知道已经加载了哪些类。基于当前加载的类集合,如果一个特定的函数不会被覆盖,就可以使用内联。[?]


1.1.10 多线程

摩尔定律即将走到尽头,我们不在追求更快的处理器,而是着眼于更多的处理器。Java支持多线程。


1.1.11 动态性

Java本质为静态语言,而不是动态语言。动态语言显著的特点是在程序运行时,可以改变程序结构或变量类型,典型的动态语言有Python、ruby、javascript等。Java不是动态语言,但Java具有一定的动态性。[?]


1.2 Java发展简史

Java版本分为三种,标准版(Java SE)微型版(Java ME)企业版(Java EE)

Java版本的更迭

标签:Java,1.1,核心技术,虚拟机,C++,编译器,多线程
From: https://www.cnblogs.com/vLiion/p/17726278.html

相关文章

  • 一文弄懂Java线程池 + Runnable多线程 + 调用WebService接口
    大家好,我是哪吒。一、需求很简单根据接口文档,调用第三方webservice接口,拼接入参,处理回参。RPC调用Webservice接口是一种远程调用的方式,通过指定Webservice接口的调用地址、命名空间、调用的方法名调用远程接口获取结果。二、解决方案通过ExecutorService新建线程池;定义thread类,请......
  • java基础-集合-day14
    目录1.数据结构算法2.本章的重点集合3.collections4.list5.泛型6.泛型通配符7.linkedList8.模拟linkedList源码--面试重点8.Iterrable9.HashSet9.LinkedHashSet10.TreeSet12map1.数据结构算法算法:解决问题的步骤例如1+2+3+...+10050*(1+100)=5050算法优劣的......
  • Java复习
    Java重要特点java语言是面向对象的java语言是健壮的。Java的强类机制,异常处理,垃圾的自动收集等是java程序健壮性的重要保证。java语言是跨平台性的。【即一个编译好的.class文件可以在多个系统下运行,这种特性称为跨平台】java语言是解释型的。【解释性语言,编译后的代码不能直接被......
  • JavaWeb中对于 request对象和response对象的理解
    1.request对象和response对象的原理1.request和response对象是由服务器创建的。我们来使用它们2.request对象是来获取请求消息,response对象是来设置响应消息2.request对象继承体系结构:ServletRequest--接口|继承HttpServletRequest--接口|实现org.apache.catali......
  • Java语言中几个常用的包
    第一个包:java.lang包。该包提供了Java语言进行程序设计的基础类,它是默认导入的包。该包里面的Runnable接口和Object、Math、String、StringBuffer、System、Thread以及Throwable类需要重点掌握,因为它们应用很广。第二个包:java.util包。该包提供了包含集合框架、遗留的集合类、......
  • java.mapperUtils
    packagecom.yh.util;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importjava.io.IOException;importja......
  • Java语言基础知识全总结
    一.Java的优点1.      跨平台性。一次编译,到处运行。Java编译器会将Java代码编译成能在JVM上直接运行的字节码文件,C++会将源代码编译成可执行的二进制代码文件,所以C++执行速度快2.      纯面向对象。Java所有的代码都必须在类中书写。C++兼具面向对象和面向过程的特......
  • java实验代码
    一、这段代码展示了方法的重载(MethodOverloading)的概念。方法的重载是指在同一个类中可以定义多个具有相同名称但参数列表不同的方法。在这段代码中,有两个名为`square`的方法,一个接受整数参数,另一个接受双精度浮点数参数,它们的参数类型不同,这就是方法重载的体现。以下是代码的......
  • Java 的基本介绍
    认识Java  Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程Java......
  • 从0到1,实现Java控制台版本的ATM管理系统
    从0到1,实现Java控制台版本的ATM管理系统​ 其实作为一名Java的程序猿,无论你是初学也好,大神也罢,管理系统一直都是一个非常好的例子,初学者主要是用数组、List等等来写出一个简易的管理系统.牛逼一点的大神则用数据库+swing来做一个有界面的管理系统,其实都并不会太难。​ 今天我......