作为JAVA开发工程师,这些基本常识你都知道吗

这篇文章主要讲述一些JAVA基本常识,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

个人感觉:身为Java工程师,这些是有必要掌握的,其次的话就是有一部分面试什么的可能会问到,这也直接考验你的Java基础知识。
在这里插入图片描述

计算机语言的发展史

第一代语言:机器语言
主要编写二进制码,直接编写1001010101这样的二进制
以打孔机为代表

第二代语言:低级语言
主要以汇编语言为代表,在低级语言当中已经引入了一些英语单词,例如变量赋值采用mv

第三代语言:高级语言
几乎和人类的语言完全相同,即使没有学习过计算机编程,只要看到这段代码就知道
该代码主要完成什么功能。
例如:c语言、c++、Java…

总之,大家看到了编程语言的发展方向是:向着人类更加容易理解的方向发展。

Java语言的发展史

Java语言诞生于1995年,由James Gosling领导团队开发,原公司为sun公司,现被oracle收购,本来是叫Oak语言,在申请注册商标时,发现Oak已经被人使用了,再想了一系列名字之后,最终,使用了提议者在喝一杯Java咖啡时无意提到的Java词语。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

1996年:JDK1.0诞生,JDK是Java开发工具包,也是开发Java必备的,下载地址在oracle官网。
目前JDK最高版本是:JAVA8 / JDK1.8 / JDK8

Java语言关键术语

JDK【Java开发工具箱】
JRE【Java的运行时环境】
JVM【Java虚拟机】

扫描二维码关注公众号,回复: 12851016 查看本文章

三者之间的关系:JDK 中包含JRE,JRE中包含JVM。

JDK和JRE 是有独立安装包的,而JVM没有独立的安装包,JRE当中直接包含了JVM,所以想要单纯的运行Java项目,安装JRE即可,如果开发的话,就安装JDK即可。

Java三大类

J2SE、J2EE、J2ME是下面的缩写名称,没有实质差别。
JavaSE【标准版本】

基础,无论是以后走EE还是ME,SE是必须要精通的。
J2SE是SUN公司为java程序员准备的一套“基础类库”,这套基础类库学习之后,可以完成最基本的操作,
例如,文件的读写、线程的控制…

JavaEE【企业版本】

这是SUN公司为程序员专门准备的一套“类库”,这套类库可以协助程序员完成企业级软件的开发
企业级软件:OA办公系统、进销存系统、超市系统…

JavaME【微型版本】

这是SUN公司为java程序员专门准备的另一套“类库”,这套类库可以协助程序员完成微型设备的嵌入式开发,
Java最初就是做微型设备嵌入式开发的。

Java语言主要特点

1、跨平台/可移植

大家都知道.java文件在编译后会变为.class文件,而.class文件并不是二进制文件,计算机是无法直接识别的,其次不同的操作系统之间也是有差异的,所以jvm就出现了,java程序实际上运行在jvm当中,JVM屏蔽了操作系统之间的差异。

在不同的操作系统中必须安装不同版本的JVM。这也就达到了一次编译,到处运行。
但是为了达到可移植,必须提前在操作系统中安装JRE,JRE有了之后才会有JVM。【JVM不能单独安装】这方面体验不是特别好

2. 面向对象

面向对象是指以对象为基本粒度,其下包含属性和方法。对象的说明用属性表达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发变得简单易用,节省代码。Java是一种面向对象的语言,也继承了面向对象的诸多好处,如代码扩展、代码复用等。

3. 安全性
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防止恶意代码的攻击,Java还对通过网络下载的类增加一个安全防范机制,分配不同的名字空间以防替代本地的同名类,并包含安全管理机制。

4. 多线程
多线程在操作系统中已得到了最成功的应用。多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。 Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。

5. 简单易用

这里的简单说的是相对于C语言来说的。
例如:C语言当中有指针,C++中多继承
ava取消了指针的概念,取消了多继承,只支持单继承。

Java语言四大特性

1、多态

消除类型之间的耦合关系,多个类继承一个父类,然后并重写父类当中的方法,并且各自方法的实现内容都不一样,这个时候我们可以称之为多态。
多态跟继承有很大关系,多态存在的三个必要条件:
1、要有继承; 二、要有重写; 三、父类引用指向子类对象

2、继承

1、能够继承父类的public和protected成员变量、方法;不能够继承父类的private成员变量;
2、对于父类的包访问权限成员变量、方法,如果子类和父类在同一个包下,则子类能够继承;否则,子类不能够继承;
3、对于子类可以继承的父类成员变量、方法,如果在子类中出现了同名称的成员变量,则会发生隐藏现象,即子类的成员变量会屏蔽掉父类的同名成员变量。如果要在子类中访问父类中同名成员变量,需要使用super关键字来进行引用。
4、无论什么时候都先执行构造器,初始化顺序,父类的构造器调用以及初始化过程一定在子类的前面
5、成员变量也会出现隐藏,当子类继承父类,两个同时都有一个变量并且都赋了值,输出会发现输出的是父类的。
6、如果是普通方法的时候,子类和父类都有这个方法,那就会输出子类的。
7、如果是静态方法的时候,子类和父类都有这个方法,那就会输出父类的。

3、抽象

抽象方法是一种特殊的方法,他本身就是为继承而存在的,它只有声明,而没有具体的实现。接口当中就全部都是抽象类,如果一个类含有抽象方法,则称这个类为抽象类。接口当中也都是抽象方法,我们可以把接口来形容成抽象中的抽象,实现抽象类,可以不实现该接口中的抽象方法。如果实现某个接口,就必须实现他的所有方法。

4、封装

此处不做过多解释,简单理解,就比如每个对象当中都有get,set方法,然后对外使用,就是我们直接可以调用方法来进行,内部对这个对象进行赋值取值。这也可以认为是封装。

Java的加载与执行

Java开发的整个生命周期,包括两个重要的阶段,分别是:编译阶段和运行阶段

java整体加载执行的步骤:
.java -> .class ->类装载器 ->Java 虚拟机(JVM)->操作系统->硬件平台

.java -> .class 的过程称为编译阶段
.java文件在编译后会变为.class文件,在编译过程,会进行java语法校验,如果语法有误是没办法编译成功的。

类装载器 ->Java 虚拟机(JVM)->操作系统->硬件平台 称为运行阶段
类装载器主要是负责帮我们去硬盘寻找.class文件
jvm帮我们解析成二进制文件然后操作系统根据二进制执行,去和硬件平台进行交互

猜你喜欢

转载自blog.csdn.net/weixin_43888891/article/details/111242664