关于学习Java内容的了解
1、Java的起源与发展
一、Internet的一次技术革命源于1996年Sun公司Java语言
二、Java源于1991年James Gosling 领导的绿色计划
三、1、Java是一门面向网络的高级程序设计语言
2、Java语言是一种解释性、跨平台、通用的编程语言
3、Java比较适合网络环境
2、Java平台
一、Java特点:
1、简单、便于网络传输、对硬件的依赖性比较低
2、编写一次,到处运行
二、Java平台:Java字节码的平台(由Java虚拟机和Java核心类组成)
三、Java平台由Java虚拟机(JVM)和Java应用程序界面(Java API)组成
Java虚拟机(JVM):
1、有一套字节码指令集,在操作系统基础上可以解析和执行Java字节码,完成字节码到机器指令的转换
2、有一个垃圾回收堆和存储方法域
3、数组作为对象引用处理
4、有相当于硬件设备处理器、堆栈、寄存器的功能
5、五大组成部分:方法区(存储Java方法的字节码)堆(为Java类的实例对象提供所需的空间)、Java栈(局部变量区(用于保存类的所有方法)、运行环境区(存储解释字节码的信息)、操作数区(存储运算需要的操作数和运算结果))、寄存器(保存运行状态)、指令集(由一个单字节的操作符和多个操作数组成)
6、实现了Java平台的无关性(编写一次,到处运行)
7、创建与使用守护线程(Java的线程有普通线程和守护线程(应用于后台为其他线程提供服务)组成)
Java操作系统由操作系统和Java虚拟机(JVM)组成
Java芯片由Java操作系统和芯片组成
四、Java操作系统执行Java字节码比Java虚拟机的方式好
五、通过Java芯片实现Java平台,提高了程序的执行速度(嵌入式系统的关键)
六、使用垃圾收集器可以让对象引用不使用时自动释放内存(调用System类中的gc()运行)!!!但注意不能保证可以立即回收指定对象!!!
3、Java网络操作系统
一、不依赖于操作系统,可以运行到计算机硬件或CPU上
二、自我管理内存
三、支持多线程运行,分配和管理处理器资源
四、管理硬件设备
五、在整个Internet下支持网络文件管理
4、Java的特点
简单性、面向对象(封装、多态、继承)、分步式(数据分布、操作分布)、健壮性、安全性、平台无关性(编写一次,到处运行)、可移植性(源代码)、解释性(编译与系统无关的字节码)、高性能性、多线程性(操作系统环境、多个线程操作)、动态性(适应环境变化)
5、Java的程序类型
Java应用程序、Applet程序、Servlet程序.
6、Java技术体系·
Java编程语言、Java类文件、Java API、JVM.
7、Java9新特性
1、Java9的模块化系统
一、模块化的JAR文件加一个模块描述器(requires需要哪些模块东西、exports对外开放哪些东西)
module blog{
exports com.puluralsight.blog;
requires cms;
}
2、Java9的交互式的编程环境jshell
一、jlink工具可以将所有需要的小模块拿过来用
jshell>"abc".matches("a[bc]{2}")
3、Java9的集合工厂方法
一、创建集合,在其中添加元素,它们都是不可改变的
Set<Interder>ints=Set.of(1,2,3);
List<String>strings=List.of("first","second");
4、接口中的私有方法
一、public和private可以共同使用
private void init(){System.out.println("initializing";)}
5、钻石运算符范围的扩展
一、允许在匿名类上使用
List<String>list=new ArrayList<>(){};
6、HTTP2客户端API
使用--add-modules来将模块添加入classpath,允许导入,不能操作,相当于可以放入其中,但是不会被它使用
7、响应式流
java.util.concurrent.Flow包含四个接口:处理器、发布者、订阅者、订阅管理器
8、多分辨图像API
把所有图片打包,在其中挑个最佳分辨率的图片
9、HTML5风格的Java帮助文档
只是比4漂亮一点,其他没有区别
10、其他改变:1、保留下划线字符 2、废弃Applet API 3、不支持java1.4 4、废弃Java浏览器插件 5、规范JVM日志 6、改进API进程 不在依赖于本地的东西 7、部分被注释增强
想学习更多关于Java的基础内容,那就来关注小编吧!