Java 是全球最受欢迎的编程语言之一,在世界编程语言排行榜 TIOBE 中,Java 一直霸占着前三名,有好多年甚至都是第一名。那么如此强大的Java你真的了解他的知识体系吗?他的学习路线你知道吗?
1. Java虚拟机——JVM
JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的 运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。
跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM 运行在操作系统上。
2. JRE和JDK
JRE (Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。
JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。
我们想要运行一个已有的Java程序,那么只需安装 JRE 即可。
我们想要开发一个全新的Java程序,那么必须安装 JDK 。
三者关系:JDK > JRE > JVM
Java三大特性:
封装、继承、多态。
面向对象的四大特征:
封装、继承、多态、抽象。
面向对象7大设计原则:
1.单一职责原则——SRP
让每个类只专心处理自己的方法。功能不需要太多,但要专注(高内聚,低耦合)
2.开闭原则——OCP
软件中的对象(类,模块,函数等)应该对于扩展是开放的,但是对于修改是关闭的。
3.里式替换原则——LSP
子类可以去扩展父类,但是不能改变父类原有的功能。
比如说可以继承、可以实现接口,但是不能修改原来具体的方法。
4.依赖倒置原则——DIP
应该通过调用接口或抽象类(比较高层),而不是调用实现类(细节)。
5.接口隔离原则——ISP
把接口分成满足依赖关系的最小接口,实现类中不能有不需要的方法。
6.迪米特原则——LOD
高内聚,低耦合,降低各个对象之间的耦合(不要),提高系统的可维护性。
7.合成复用原则
尽量使用对象组合,而不是继承来达到复用的目的
Java中4种类型的流
字节输入流:InputStream, (读取原始数据)
字节输出流:OutputStream(读取原始数据)
字符输入流:Reader
字符输出流:Writer
1.字节流:以 8 位(即 1 byte,8 bit)作为一个数据单元,数据流中最小的数据单元是字节。
2.字符流:以 16 位(即 1 char,2 byte,16 bit)作为一个数据单元,数据流中最小的数据单元是字符, Java 中的字符是 Unicode 编码,一个字符占用两个字节。
字节流没有缓冲区,是直接输出的,而字符流是输出到缓冲区的。因此在输出时,字节流不调用colse()方法时,信息已经输出了,而字符流只有在调用close()方法关闭缓冲区时,信息才输出。要想字符流在未关闭时输出信息,则需要手动调用flush()方法。
· 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
· 处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。
Java语言的特点
1.面向对象
面向对象(OOP)就是Java语言的基础,也是Java语言的重要特性。面向对象的概念:生活中的一切事物都可以被称之为对象,生活中随处可见的事物就是一个对象,我们可以将这些事物的状态特征(属性)以及行为特征(方法)提取并出来,并以固定的形式表示。
2.简单好用
Java语言是由C和C++演变而来的,它省略了C语言中所有的难以理解、容易混淆的特性(比如指针),变得更加严谨、简洁、易使用。
3.健壮性
Java的安全检查机制,将许多程序中的错误扼杀在摇蓝之中。另外,在Java语言中还具备了许多保证程序稳定、健壮的特性(强类型机制、异常处理、垃圾的自动收集等),有效地减少了错误,使得Java应用程序更加健壮。
4.安全性
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击,从而可以提高系统的安全性。
5.平台无关性
Java平台无关性由Java 虚拟机实现,Java软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。
6.支持多线程
在C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持。多线程机制使应用程序在同一时间并行执行多项任务,该机制使得程序能够具有更好的交互性、实时性。
7.分布式(支持网络编程)
Java语言具有强大的、易于使用的网络能力,非常适合开发分布式计算的程序。java中提供了网络应用编程接口(java.net),使得我们可以通过URL、Socket等远程访问对象。
8.编译与解释共存
Java 是编译与解释共存的语言
以上就是今天的分享,如果你觉得有用或者不错,记得帮点个赞收藏并评论一下,你们的鼓励是我继续分享的动力哦~
(以上图片及文字整理于网络,如有侵权联系删除)