Java 简介

作者 : 慕源网 本文共4153个字,预计阅读时间需要11分钟 发布时间: 2022-05-8 共491人阅读

Java 简介,Java是由Sun Microsystems公司的James Gosling于1995年开发的,后来被Oracle公司收购。它是一种简单的编程语言。Java使编写、编译和调试编程变得简单。它有助于创建可重用的代码和模块化程序。

Java是一种基于类的、面向对象的编程语言。这是一种通用的编程语言,只要编写一次就可以在任何地方运行,编译后的 Java 代码可以在所有支持 Java 的平台上运行。Java 的语法类似于 c/c++。

历史

Java 的历史非常有趣。它是一种创建于1991年的编程语言。JamesGosling、MikeSheridan和PatrickNaughton是Sun公司的一个工程师团队,被称为绿色团队(GreenTeam),他们于1991年开发了Java语言。Sun Microsystems于1996年发布了其第一个公开实现,即Java 1.0。Arthur Van Hoff用Java重新编写了Java1.0编译器,以严格遵守其规范。随着Java2的到来,新版本为不同类型的平台构建了多种配置。

1997年,Sun Microsystems接触了ISO标准机构,后来将Java正式化,但它很快就退出了这个过程。

2006 年 11 月 13 日,Sun 将其大部分 Java 虚拟机作为免费的开源软件发布。2007 年 5 月 8 日,Sun 完成了这一过程,使其所有 JVM 的核心代码都可以在开源分发条款下使用。

创建 java 的原则是简单、健壮、安全、高性能、可移植、多线程、解释、动态等。1995年,被称为“Java之父”的詹姆斯·戈斯林开发了Java。目前,Java用于移动设备、互联网编程、游戏、电子商务等。

java为什么叫java

在Oak这个名字之后,团队决定给它起一个新名字,建议的词是Silk、Jolt、Revolutionary、DNA、Dynamic等。这些名字都很容易拼写,说起来也很有趣,但他们都希望这个名字能反映技术的本质。根据詹姆斯·高斯林(James Gosling)的说法,Java和Silk是最受欢迎的名字之一,因为Java是一个独特的名字,所以大多数人都喜欢它。

Java 是印度尼西亚的一个岛屿的名字,第一杯咖啡(命名为Java 咖啡)就是在那里生产的。这个名字是詹姆斯·高斯林在办公室附近喝咖啡时取的。请注意,Java只是一个名称,而不是缩写。

Java 术语

在学习Java之前,必须熟悉Java的这些常用术语。

1、Java虚拟机(JVM): 这通常被称为JVM。一个程序有三个执行阶段。它们是编写、编译和运行程序。

  • 程序是由像你我这样的 Java 程序员编写完成的。
  • 编译是由javac编译器完成的,它是Java Development Kit(JDK)中包含的主要Java编译器。它将Java程序作为输入,并生成字节码作为输出。
  • 在程序的运行阶段,JVM执行编译器生成的字节码。
现在,我们明白了Java虚拟机的功能是执行编译器产生的字节码。每个操作系统都有不同的JVM,但它们在执行字节码后生成的输出在所有操作系统中都是相同的。这就是为什么Java被认为是一种独立于平台的语言。

2、字节码编译过程:如前所述,JDK的Javac编译器将Java源代码编译成字节码,以便JVM可以执行。它被编译器保存为.class文件。要查看字节码,可以使用javap之类的反汇编程序。

3. Java开发工具包(JDK):它是一个完整的 Java 开发工具包,包括编译器、Java 运行时环境 (JRE)、Java 调试器、Java 文档等。为了在 Java 中执行程序,我们需要在我们的计算机以创建、编译和运行java程序。

4、Java运行时环境(JRE): JDK包括JRE。在我们的计算机上安装 JRE 允许 java 程序运行,但是我们无法编译它。JRE 包括浏览器、JVM、小程序支持和插件。为了运行 java 程序,计算机需要 JRE。

5.垃圾收集器:用来监视垃圾收集器的运行,当对象不再使用时,就自动释放对象所使用的内存.Java的垃圾收集器能够以单独的线程在后台运行,并依次检查每个对象.通过更改对象表项,垃圾收集器可以标记对象,移除对象,移动对象或检查对象.垃圾收集器是自动运行的,一般情况下无须显式的请求垃圾收集器.程序运行时,垃圾收集器会不时检查对象的各个引用,并回收无引用对象所占用的内存

6. ClassPath:classpath是java运行时和java编译器寻找.class文件加载的文件路径。默认情况下,JDK 提供了许多库。如果要包含外部库,则应将它们添加到类路径中。

Java的主要特性

1. Platform Independent: 编译器将源代码转换为字节码,然后JVM执行编译器生成的字节码。这个字节码可以在任何平台上运行,包括Windows,Linux,MacOS,,这意味着如果我们在Windows上编译一个程序,那么我们可以在Linux上运行它,反之亦然。每个操作系统都有不同的JVM,但在执行字节码后,所有操作系统产生的输出都是相同的。这就是为什么我们称Java为独立于平台的语言。

2. 面向对象编程语言:  用对象的集合来组织程序是面向对象编程的一种方式,每个对象代表一个类的实例。

面向对象编程的四个主要概念是:

  • 抽象
  • 封装
  • 继承
  • 多态性

3. 简单:   Java 是一种简单的语言,因为它没有指针、运算符重载、多重继承、显式内存分配等复杂功能。 

4. 健壮:   java 使其健壮的主要特性是垃圾收集、异常处理和内存分配。

5. 安全: 在java中,我们没有指针,所以我们不能访问越界数组,即如果我们尝试这样做会显示ArrayIndexOutOfBound Exception 。这就是为什么在 Java 中无法利用堆栈损坏或缓冲区溢出等安全漏洞。      

6. 分布式:  我们可以使用java编程语言创建分布式应用程序。远程方法调用和企业 Java Bean 用于在 Java 中创建分布式应用程序。Java 程序可以很容易地分布在一个或多个通过 Internet 连接相互连接的系统上。

7 、 多线程:   Java支持多线程。它是一种 Java 功能,允许同时执行程序的两个或多个部分,以最大限度地利用 CPU。

8. 可移植性:  众所周知,在一台机器上编写的java代码可以在另一台机器上运行。java的平台无关特性,它的平台无关字节码可以被带到任何平台上执行,这使得java具有可移植性。

9. 高性能: Java 架构的定义方式是它减少了运行时的开销,有时 java 使用即时 (JIT) 编译器,编译器按需编译代码基础知识,只编译那些方法称为使应用程序执行得更快。

10. 动态灵活性: Java 完全面向对象使我们可以灵活地向现有类添加类、新方法,甚至通过子类创建新类。Java 甚至支持用其他语言编写的函数,例如 C、C++,它们被称为本地方法。

11. 沙盒执行: Java 程序在单独的空间中运行,允许用户在字节码验证器的帮助下执行他们的应用程序而不会影响底层系统。字节码验证器还提供额外的安全性,因为它的作用是检查代码中是否有任何访问违规。

12. 一次编写,随处运行:Java应用程序生成一个“.Class”文件,该文件对应于我们的应用程序(程序),但包含二进制格式的代码。由于字节码不依赖于任何机器架构,因此它提供了EASE T架构中立的EASE。这是Java在全球企业IT行业中使用的主要原因。

13. 解释语言和编译语言:大多数语言的设计目的要么是编译语言,要么是解释语言。但是随着 Java 编译器将源代码编译为字节码,而 JVM 执行此字节码以机器依赖于操作系统的可执行代码,java 集成了强大的功能。

例子

// Demo Java program

// Importing classes from packages
import java.io.*;

// Main class
public class GFG {

	// Main driver method
	public static void main(String[] args)
	{

		// Print statement
		System.out.println("Welcome to GeeksforGeeks");
	}
}

输出

Welcone to GeeksforGeeks

解释:

1. 注释:注释用于解释代码,在 Java 或 C 或 C++ 中以类似的方式使用。编译器不会执行注释的代码。注释可以是单行或多行。

单行注释:

语法:

// 单行注释

多行注释:

语法:

/* 多行注释*/

2. import java.io.*:表示io包的所有类都可以导入。Java io 包提供了一组输入和输出流,用于将数据读取和写入文件或其他输入或输出源。

3.类:类包含程序中要使用的数据和方法。方法定义了类的行为。GFG类在 JAVA 中只有一个方法 Main。

4. static void Main(): static关键字告诉我们,这个方法不需要实例化类就可以访问。 

5. void:关键字告诉这个方法不会返回任何东西。main ()方法是我们应用程序的入口点。

6. System.in:这是标准输入流,用于从键盘或任何其他标准输入设备读取字符。

7. System.out:这是标准输出流,用于在计算机屏幕等输出设备上生成程序结果。

8. println():这个方法在Java中也用于在控制台上显示文本。它在控制台上打印文本,光标移动到控制台下一行的开头。下一次打印从下一行开始。

java架构进阶

你还在浪费时间找学习资料和软件上面吗,你明白当下java的技术趋势吗,只有针对性学习满足当下企业的技术需求你才能轻松找到工作,才能拿到高底薪,这里推荐[java课程架构师培训/系统架构设计师进阶/高并发系统架构/微服务架构设计]。

本课程涉及的mysql优化,spring源码, 微服务架构与源码,各种中间件技术等等,薪50万Java工程师必会知识框架,补齐能力短板,还能学会如何更好的面向上级、团队展现自己的优势。

认真学完这门课程您将突破以下瓶颈:

技术滞缓、多年技术码农、无明显突破
自学无门、想学习主流技术却不知从何下手
系统架构困难、有几年开发经验、架构思维亟待提升
跳槽面试不顺、无法实现高薪、就业屡屡碰壁

快来点击链接学习吧


慕源网 » Java 简介

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录