提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
《java核心卷1知识点与阅读心得》 第一篇
前言
本章主要是java核心卷1 的第一二章重点内容的知识点以及个人阅读心得。
第一章主要讲解java的语言特性,而第二章主要讲解如何配置java的编译环境。
一. java的关键术语
1.简单性:
java的语法可以说是c++的“纯净版本”,没有了c++复杂的头文件,指针运算,结构,联合,操作符的重载,虚基类等等,但是java也继承了c++的一部分语法与特性。
2.面向对象
java的面向对象特性已经比肩于c++了。但java不同于c++的地方在于,java用简单的接口概念取代了c++的多重继承,java提供了更丰富的运行时自省功能。
3.分布式
java有一个丰富的例程库,可以处理TCP/IP协议,这使得java的应用程序可以轻而易举得通过URL打开和访问网络上的对象。
4.健壮性
java的编译器,以IDEA为例,IDEA可以为你十分准确地为你找出在其他编译器中要运行时才能找出的bug,IDEA甚至会给你提示如何写出正确的代码。
5.安全性
java可以防范各种攻击:包括
- 运行时的堆栈溢出
- 破坏自己进程空间以外的内容
- 没有经过用户授权得去读取文件
但java还是会有许多bug,导致如今的java插件已经不信任远程代码,需要有数字签名以及用户的同意执行。
6.体系结构中立
java的编译器会将java文件编译成class文件(字节码文件),字节码指令与计算机体系结构无关,字节码不仅可以很容易地在任何机器上运行,还可以转换成本地机器代码。
其实除了Java语言编写的Java文件,还可以使用其他语言比如kotlin,scala,对应我们Java文件,是源代码。这些源代码编译出来可以是其他格式的文件,只需要其中二进制数据符合虚拟机规范,就可以放在虚拟机上去执行。
相当于是说,你编码的时候使用啥编程语言我不管,只要编译出来的内容是符合Java虚拟机规范的,就可以运行在Java虚拟机。这个Java虚拟机可能是Hotspot,也可能是定制过的其他虚拟机产品。
7.可移植性
java与c/c++不同,java没有“依赖具体实现”的地方。
比如在c/c++中,数据类型的大小会随着编译器环境的改变而改变,而java不会,java的数据类型有固定的字节数,消除了代码移植的主要问题。二进制数据将会以固定的格式进行存储和传输。
当然java也有其移植性上的漏洞:java1.0曾为不同平台提供了常用的用户界面,可遗憾的确实不能在不同的平台上做出让人接受的结果。
但是除了用户界面相关的部分以外,java的库很好地支持了平台的独立性。
8.解释性
java的解释器可以在任何移植了解释器的机器上执行java 的字节码,这也是让java能够做到快捷开发的原因之一。
9.高性能
java编译生成的字节码可以在运行时动态地转换为特定cpu的机器码。
10.多线程
java是第一个支持并发程序设计的主流语言。java在多线程这方面很强大,可以很好地管理并发程序设计这个工作。
11.动态性
java比c/c++更具备动态性。java能够适应不断发展的环境。库中可以自由地添加新方法和示例变量,并且不对客户端产生影响。
二. java的发展简史
-
1991年,James Gosling在SUN公司的工程师小组想要设计这样一种小型计算机语言。该语言主要用于像电视盒这样的消费类电子产品。另外,由于不同的厂商选择不同的CPU和操作系统,因此,要求该语言不能和特定的体系结构绑在一起,要求语言本身是中立的,也就是跨平台的。所以,将这个语言命名为“Green”,类似于绿色软件的意思。后来,改名为Oak,橡树的意思。改名后发现已经有一种语言叫这个名字了,再改名叫Java。
-
1991年,SUN公司的Green项目,Oak
-
1995年,推出Java测试版
-
1996年,JDK1.0
-
1997年,JDK1.1
-
1998年,JDK1.2大大改进了早期版本缺陷,是一个革命性的版本,更名Java2。
-
2004年,J2SE 5.0 (1.5.0) Tiger老虎
-
2006年,J2SE 6.0 (1.6.0) Mustang野马
-
2011年,JavaSE7.0 Dolphin海豚
-
2014年,JavaSE8.0
-
从2018年开始,每6个月就会发布一个java版本。
三.jdk,IDEA的安装与Git的基础使用。
视频学习:
来源:b站大博哥,比特鹏哥
心得总结
不同语言有不同的优点,在知晓java的优缺点的同时才能更好地去学习java,学习java并不能因为其语法比c语言或者c++简单而觉得简单,java语言的背后是一片大海,需要我们慢慢探索。
感谢霍斯特曼 (Cay S.Horstmann) 科奈尔 (Gary Cornell)大佬为我们java学习者写出这么好的书籍。respect!
欢迎点赞收藏
关注