Java介绍

作者:韩茹

公司:程序咖(北京)科技有限公司

程序咖:IT职业技能评测平台

网址:https://www.chengxuka.com

工作

1.什么是Java2.Java倒退历史3.Java语言的特点4.Java的利用场景5.Java平台体系6.Java的专业术语7.Java运行外围机制

一、什么是Java

Java是一种通用的,基于类的,面向对象的编程语言。它是用于利用程序开发的计算平台。因而,Java是疾速,平安和牢靠的。它被宽泛用于在笔记本电脑,数据中心,游戏机,迷信超级计算机,手机等中开发Java应用程序。Java遵循WORA(Write Once, Run Anywhere。一次写入,到处运行)的原理,并且与平台无关。它也简略易学。

二、Java倒退历史

Java是世界上应用最宽泛的编程语言之一。Java最后由Sun Microsystems在1990年代开发,用于开发从Web应用程序到挪动应用程序到批处理应用程序的所有内容。Java最后是一种纯正的面向对象的语言,但当初曾经倒退成为一种多范例语言,能够高度适应任何状况。领有宏大的开发人员社区和反对库,Java是开发简直所有类型的应用程序的现实抉择。

Java是最后由开发James Gosling(詹姆斯·高斯林,他被称为Java编程语言之父)在Sun Microsystems公司(现曾经被Oracle收买),并于1995年公布了作为Sun公司的一个外围组成部分Java平台。

James Gosling(詹姆斯·高斯林),Mike Sheridan(迈克·谢里丹)和Patrick Naughton(帕特里克·诺顿)于1991年6月启动了Java语言我的项目。Java最后是为交互式电视设计的,但在过后的数字有线电视行业来说太先进了。该语言最后是在James Gosling(詹姆斯·高斯林)办公室外的一棵橡树之后被称为Oak的。起初,该我的项目以Green命名,并最终从Java coffee(印度尼西亚的一种咖啡)重命名为Java

Java的创始人:James Gosling(詹姆斯·高斯林)

<img src="https://img.chengxuka.com/ruby0002/1192px-James_Gosling_2008.jpg/mark" style="zoom:40%;" />

历史版本:

截至2021年3月,最新版本是Java 16。从2020年9月开始,反对Java 8和11作为长期反对(LTS)版本,并且反对一个更高的非LTS版本。 Java的次要发行版本及其发行日期:

版本日期
JDK测试版1995年
JDK1.01996年1月23日
JDK 1.11997年2月19日
J2SE 1.21998年12月8日
J2SE 1.32000年5月8日
J2SE 1.42002年2月6日
J2SE 5.02004年9月30日
Java SE 62006年12月11日
Java SE 72011年7月28日
Java SE 82014年3月18日
Java SE 92017年9月21日
Java SE 102018年3月20日
Java SE 112018年9月25日
Java SE 122019年3月19日
Java SE 132019年9月17日
Java SE 142020年3月17日
Java SE 152020年9月15日
Java SE 162021年3月16日

三、Java语言的特点

  1. 一种面向对象的编程语言。

    依照对象汇合的形式组织程序是一种面向对象的编程思维。

    面向对象编程的四个次要概念是:抽象化,封装,继承,多态。

  2. 一种与平台无关的语言。(它提供了在不同平台下的解释运行环境)

    编译器将源代码转换为字节码,而后JVM执行编译器生成的字节码。该字节码能够在Windows,Linux和macOS的任何平台上运行,这意味着如果咱们在Windows上编译程序,则能够在Linux上运行,反之亦然。每个操作系统具备不同的JVM,然而在字节码执行后,所有操作系统产生的输入都是雷同的。这就是为什么咱们称Java为平台无关的语言。

  3. 简略

    Java是简略的语言之一,因为它不具备指针,运算符重载,多重继承,显式内存调配等简单性能。

  4. 一种强壮的语言,排汇了C/C++语言的长处。

    Java语言强壮,意味着牢靠。它以这样的形式开发:尽力尽早查看谬误,这就是Java编译器甚至可能检测到其余编程语言不易检测到的那些谬误的起因。使Java强壮的Java次要性能是垃圾收集,异样解决和内存调配。

  5. 具备较高的安全性。(主动回收垃圾,强制类型查看,勾销指针)

    在Java中,咱们没有指针,因而咱们无法访问越界数组,如果尝试这样做,它将显示ArrayIndexOutOfBoundsException。这就是为什么在Java中无奈利用堆栈毁坏或缓冲区溢出之类的一些安全漏洞的起因。

  6. 分布式

    咱们能够应用Java编程语言创立分布式应用程序。近程办法调用和企业Java Bean用于在Java中创立分布式应用程序。Java程序能够轻松地散布在通过Internet连贯相互连接的一个或多个零碎上。

  7. 多线程

    Java反对多线程。它是Java的一项性能,它容许并发执行程序的两个或更多局部,以最大水平地利用CPU。

  8. 可移植

    家喻户晓,在一台机器上编写的Java代码能够在另一台机器上运行。Java的平台无关性能,其中能够将其平台无关字节码带到任何平台上执行,从而使Java可移植。

  9. 开源

四、Java的利用场景

  1. 桌面GUI应用程序

    桌面应用程序能够应用Java轻松开发。咱们应用AWT,Swing,JavaFX等API来构建这些应用程序。

  2. 挪动利用

    挪动应用程序是为手机和平板电脑创立的应用程序。在当今时代,大多数电话和智能设施都具备Android操作系统,没有Java就不可能进行Android开发。Java Micro Edition(Java ME或J2ME)是一种风行的跨平台框架,用于构建可在所有性能手机和智能手机上运行的应用程序。

  3. 企业应用

    企业应用程序是一个大型软件系统,能够在公司环境中运行,以满足组织而不是单个用户的需要。

  4. 迷信利用

    迷信应用程序是一种应用数学影响理论流动的应用程序。Java因为其弱小的性能而反对迷信应用程序的开发。

  5. Web利用

    Web应用程序是通过浏览器界面在Internet上交付的客户端-服务器程序。

  6. 嵌入式零碎

    一个嵌入式零碎,也被称为集成系统,是组装在一起以执行专用性能的更大的零碎的许多小的计算单元的组合。嵌入式零碎随处可见。例如,电机零碎,汽车中的娱乐和多媒体,电子商务,无线通信,挪动计算和联网都应用嵌入式零碎。

    嵌入式零碎应用Java进行开发。最后,Java是为开发嵌入式零碎而设计的。

  7. 大数据技术

    大数据一词定义为“能够剖析以提取模式,趋势和有用信息的极大型和简单数据集。它是最新技术畛域中最受欢迎的主题之一。Java是大数据的视角。现在,许多开发人员正在将职业转向大数据技术。

  8. 分布式应用

    分布式应用程序是在网络内的多台计算机上执行或运行的应用程序或软件。分布式应用程序或零碎具备许多独特的要求,尤其是因为它们在其上运行的平台的分布式和动静个性而产生。Java提供了实现这些应用程序的选项。

  9. 基于云的利用

    云计算意味着通过Internet按需交付IT资源,包含具备按需付费定价模式的存储,服务器,数据库,网络和软件。它能够低成本为IT基础架构提供解决方案,因为咱们能够将文件保留在近程数据库中并按需检索它们。长期以来,Java始终是为Web应用程序提供构造的编程语言,因为它的分布式个性,当初它曾经进入了云应用程序。

  10. 奋斗奋斗

    Web服务器是一种计算机程序,它应用HTTP(超文本传输协定)和其余协定来存储,解决和响应通过WWW(万维网)收回的客户端申请。Web服务器是运行网站并向用户交付网页的零碎。Java生态系统蕴含多个Java Web服务器和应用程序服务器。Java提供了Web服务器,包含Apache Tomcat,Simple,Jo!,Rimfaxe Web服务器(RWS)Apache HTTP服务器,Resin,Adobe JRun和Project Jigsaw。

  11. 软件工具

    软件工具是开发人员用来开发,剖析,保护,调试或反对其余应用程序和程序的一组计算机程序。许多开发人员应用Java编写和开发有用的软件工具。比方Eclipse,IntelliJ Idea和NetBeans IDE。

  12. 游戏利用

    Java被证实是开发二维游戏的最佳平台之一。现在,简直每个人都领有装有Android游戏的Android手机。没有Java,就无奈构建Android游戏。

咱们晓得Java是一种“蓝领”语言,波及软件开发的各个领域。能够依据业务须要应用。通过这些应用程序,咱们意识到事实中对Java的需要。当咱们须要开发平安且可扩大的应用程序时,咱们相对应该抉择应用Java,因为Java具备次要的平安性能。这就是为什么最好用Java开发许多须要很多平安问题的银行应用程序的起因。因而,如果咱们的业务规格与其性能相匹配,咱们能够抉择该语言。许多技术和编程语言都在倒退,然而Java的遍及水平依然是其余语言无法比拟的。

五、Java平台体系

  1. Java SE(Java Platform Standard Edition)。Java SE 以前称为 J2SE。它容许开发和部署在桌面、服务器、嵌入式环境和实时环境中应用的 Java 应用程序。
  2. Java EE(Java Platform Enterprise Edition)。这个版本以前称为 J2EE。
    开发企业级的利用
  3. Java ME(Java Platform Micro Edition)。这个版本以前称为 J2ME。Java ME 为在挪动设施和嵌入式设施(比方手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个强壮且灵便的环境.

六、Java的专业术语

首先理解两个计算机术语:

1.计算机程序:

为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的汇合

编写程序的工具就是计算机语言,Java就是多种语言中的一种

2.软件:

软件是计算机程序、程序所用的数据以及无关文档资料的汇合。

在学习Java之前,必须相熟这些Java通用术语。

1. Java虚拟机(JVM:Java Virtual Machine): 通常称为JVM。程序分为三个执行阶段。他们被编写,编译并运行程序。

  • 像你和我这样的Java程序员都能够编写程序。
  • 编译由JAVAC编译器实现,JAVAC编译器是Java开发工具包(JDK)中蕴含的次要Java编译器。它以Java程序作为输出,并生成字节码作为输入。
  • 在程序的运行 阶段,JVM执行编译器生成的字节码。

当初,咱们理解到Java虚拟机的性能是执行编译器产生的字节码。每个操作系统都有不同的JVM,然而在执行字节码后它们在所有操作系统上产生的输入都是雷同的。这就是为什么Java被称为独立平台的语言的起因。

2.开发过程中的字节码: JDK的Javac编译器将Java源代码编译为字节码,以便能够由JVM执行。编译器将其另存为.class文件。要查看字节码,能够应用像javap这样的反汇编程序。

3. Java开发工具包(JDK):当咱们应用术语JDK时,当咱们理解字节码和JVM时。因而,顾名思义,它是一个残缺的Java开发工具包,其中包含编译器,Java运行时环境(JRE),Java调试器,Java文档等所有内容。要在Java中执行该程序,咱们须要在咱们的计算机上安装JDK为了创立,编译和运行Java程序而在计算机上运行。

4. Java运行时环境(JRE): JDK包含JRE。在咱们的计算机上安装JRE能够运行Java程序,然而,咱们无奈对其进行编译。JRE包含浏览器,JVM,小程序反对和插件。为了运行Java程序,计算机须要JRE。

5.垃圾收集器:在Java中,程序员无奈删除对象。要删除或从新收集该内存,JVM领有一个名为Garbage Collector的程序,简称GC。垃圾收集器能够从新收集未援用的对象。因而,Java通过解决内存治理使程序员的工作变得轻松。然而,程序员是否应该应用本人的代码,无论他们应用的对象曾经应用了很长时间了。因为垃圾无奈复原被援用对象的内存。

6. CLASSPATH中的类门路是文件门路ava运行时和Java编译器找的.class文件加载。默认状况下,JDK提供了许多库。如果要包含内部库,则应将它们增加到类门路中。

七、Java运行外围机制

刚刚提到了Java程序执行的三个阶段,咱们再来具体的说一下:

计算机的高级编程语言类型:

  • 编译型 C /C++/Pascal//Golang等,会生成二进制文件。比方:.exe文件。
  • 解释型 Basic/Python/JavaScript / Perl /Shell不会生成二进制文件

而Java 语言是两种类型的联合;先编译,再解释执行

Java虚拟机(Java Virtual Machine) JVM

1 JVM能够了解成一个可运行Java字节码的虚构计算机系统。 它有一个解释器组件,能够实现Java字节码和计算机操作系统之间的通信对于不同的运行平台,有不同 的JVM。2 JVM屏蔽了底层运行平台的差异,实现了“一次编译,随处运行”。

所以Java语言是跨平台的。

JVM能够了解成一个可运行Java字节码的虚构计算机系统。

  • 它有一个解释器组件,能够实现Java字节码和计算机操作系统之间的通信
  • 对于不同的运行平台,有不同 的JVM。

JVM屏蔽了底层运行平台的差异,实现了“一次编译,随处运行”。