Java-缘起

目录

前言

一、Java的由来 

二、Java语言特性

三、Java开发环境

四、Java运行过程

1. 编写源代码:

2. 编译源代码:

3. 加载字节码:

4. 解释执行/即时编译:

5. 运行程序:

6. 程序结束:

五、 标识符

总结


前言

        Java作为一种广泛使用的编程语言,具有着众多的优点和特性,这使得它在软件开发领域得到了广泛的应用。本文将介绍Java语言的由来、特性以及开发环境,还将详细说明Java程序的运行过程,包括源代码的编写、编译、加载字节码以及解释执行或即时编译等步骤,以及标识符的概念。

一、Java的由来 

         Java其前身为詹姆斯·高斯林(James Gosling)博士主导的Oak项目(得名于橡树,后因商标已经被抢注而更名),起初Oak致力于家电控制,但在当时这个项目并没有达到市场预期而被搁置,随后互联网时代到来,它又找到自己的用武之地,因为Oak的商标已经被其他公司注册所以更名为java。

        Java的名字来源于盛产咖啡的爪哇岛,其标志也是一杯热气腾腾的咖啡,而Java中许多与咖啡相关的库名,例如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。

(ps:以前有些手机中会有叫做“爪哇”的设置,当时还很好奇这个以地名命名的奇怪设置是什么,或许正是那时的“邂逅”,以至在众多语言的中选择了Java成为我正式程序人生的开始。)

(左:Java标志,右:Java之父——詹姆斯·高斯林)


二、Java语言特性

1.简单性:
        相较于C++,这里没有头文件、指针、结构、联合、操作符重载、虚基类等等。不仅如此,Java开发环境远远超出大多数其他编程语言的开发环境。
2.面向对象:
         面向对象是一种程序设计技术,适合大型软件的设计和开发。C++兼容了C,其自身仍受限于C,面对对象性并不彻底,而Java则是完全的面向对象语言。
3.可移植性:
        与C/C++ 不同, 基本数据类型的大小以及有关运算都有明确的说明。例如,Java 中的 int 永远是 32 位的整数,而在 C/C++ 中, int 可能是 16 位整数、 32 位整数。在Java 中,数据类型具有固定的大小,便于代码移植。
(ps:Java还有许多特性详情推荐此篇↓↓↓)
        

Java语言特点https://blog.csdn.net/ThinkWon/article/details/94354013?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169224060516800184125579%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=169224060516800184125579&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~hot_rank-1-94354013-null-null.142%5Ev92%5EchatsearchT3_1&utm_term=Java%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7&spm=1018.2226.3001.4187


三、Java开发环境

  • JDK(Java开发工具包)是用于开发Java应用程序和Applet的软件开发工具集合,它包含了JRE以及开发人员使用的工具和类库。JDK包含了用于编译、调试和运行Java程序的各种工具,如编译器(javac)、调试器(jdb)、性能分析工具等。

  • JRE(Java运行时环境)是JVM的具体实现,它包含了JVM以及Java核心类库和其他运行时所需的文件。JRE提供了Java应用程序运行所需的一切环境,包括Java标准类库、运行时系统、类加载器等。

  • JVM(Java虚拟机)是Java平台的核心组件,它是一个用于执行Java字节码的虚拟计算机。JVM负责将Java字节码解释成本地机器代码,并提供内存管理、垃圾回收等功能。它的主要目标是实现平台无关性,使得开发人员可以编写一次代码,在任何支持JVM的平台上运行。

简单来说:

        JDK = JRE + 开发工具集;           

                   JRE = JVM + JavaSE标准类库;

其中JVM是实现Java - "Write once, run anywhere",即"一次编写,到处运行"的主要依据。


四、Java运行过程

        Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够 理解的形式来运行。Java程序的运行步骤如下:

1. 编写源代码:

  • 源代码以.java文件的形式存在,其中包含了类、方法、变量以及其他程序逻辑。Java中一个项目下可以同时有多个 源文件(xxx.Java)文件,每个源文件下需定义类 (punlic xxx),且类名必须与源文件名相同,其内容必须包含在{ }里面;
  • 类中带有方法,方法必须在类的内部声明;
  • 方法的执行内容也需在其{ }内部编写,其中main()方法为程序运行的开始。
类存在于源文件里面;方法存在于类中;语句存在于方法中。
public class xxx {
    public static void main(String[] args) {
        System.out.println("Hello world!");
    }
}

(ps:相对于许多其他编程语言,Java中定义main方法的方式较长。) 

2. 编译源代码:

        使用Java开发工具包(JDK)中的编译器(javac),将源代码编译为平台无关的字节码文件。字节码文件以.class文件的形式存在,其中包含了被编译的类的二进制表示形式。

javac xxx.java

3. 加载字节码:

        Java虚拟机(JVM)负责加载字节码文件。JVM通过类加载器(ClassLoader)将字节码文件转化为运行时的Java类对象,并将这些对象放置在JVM的方法区中。

4. 解释执行/即时编译:

        JVM会对字节码进行解释执行或者使用即时编译器(Just-In-Time Compiler)将字节码转化为平台特定的机器码。解释执行是一种逐行解释执行字节码的方式,而即时编译器将整个方法或代码块编译为本地机器码后执行,以提高程序的运行效率。

5. 运行程序:

        一旦字节码被解释执行或即时编译为机器码,程序开始运行。JVM会按照程序的逻辑执行指令,处理变量、调用方法等操作。程序的运行过程中,JVM会管理内存、执行垃圾回收以及提供异常处理机制等。

6. 程序结束:

        当程序的所有指令都执行完毕或者遇到System.exit()等终止指令时,程序运行结束。JVM会释放占用的资源,包括内存、打开的文件等。

总的来说,Java程序的运行过程是将源代码编译为字节码,然后通过JVM加载并执行字节码,最终完成程序的运行。这种设计使得Java具有平台无关性和高度可移植性,使得同一份Java代码可以在不同的操作系统和设备上运行。


五、 标识符

        标识符:即为在程序中由用户给类名、方法名或者变量所取的名字。

硬性要求:

        标识符中可以包含: 字母 数字  以及 下划线  $ 符号等等。
        但 不能 数字开头 ,也不能是 关键字 ,且严格区分 大小写

书写规范: 

        类名:每个单词的首字母大写(大驼峰)         如:Main

        方法名与变量名:首字母小写,后面每个单词的首字母大写(小驼峰)       如: printSum

总结

        深入了解Java的起源、特性以及开发环境,能够更好地理解和应用Java编程语言,从而提高自己在软件开发领域的能力和水平。

        学习之途路漫漫,愿诸君初心亦坚。犹如江河源头远,行至山巅见真颜。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值