首页 > 编程语言 >JAVA编译准备

JAVA编译准备

时间:2023-08-29 10:23:39浏览次数:53  
标签:JRE java class 源文件 编译 准备 Java JAVA

1. JAVA语言特点

1. Java语言是面向对象的(oop)

2. Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证

3. Java语言是跨平台性的。[一个编译好的.class文件可以在多个系统下运行]

4. Java语言是解释型语言

解释型语言:java、javascript、PHP

编译型语言:c、c++

解释型语言:编译后的代码,不能直接被机器执行,需要解释器来执行

编译型语言:编译后的代码,可以直接被机器执行

 

2. JAVA运行机制及运行过程

1.Java核心机制-Java虚拟机

1. JVM [Java virtual machine]是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在JDK中

2. 对于不同的平台,有不同的虚拟机。

3. Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

2.JRE 基本介绍

1. JRE [Java Runtime Environment Java运行环境]

JRE = JVM + Java的核心类库 [类]

2. 包括Java虚拟机 (JVM Java Virtual Machine) 和Java程序所需的核心库类等

如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可

3.JDK 基本介绍

1. JDK 的全称 (Java Development Kit Java开发工具包)

JDK = JRE + java的开发工具 [java,javac,javadoc,javap等]

2. JDK是提供给Java开发人员使用的,其中包含了java开发工具,也包括了JRE

4.包含关系

1. JDK = JRE + 开发工具集(例如Javac, java编译工具等)

2. JRE = JVM + Java SE标准类库(Java核心类库)

3. 如果只想运行开发好的 .class文件 只需要JRE

 

3. Java 运行机制

1.什么是编译?

javac hello.java

1. 有了Java源文件,通过编译器将其编译成 JVM 可以识别的 字节码文件

2. 在该源文件目录下,通过javac编译工具对 Hello.java文件进行编译

3. 如果程序没有任何错误,没有任何提示,但在当前目录下会出现一个Hello.class文件,该文件称为字节码文件,也是可以执行的java程序

2.什么是运行?

1. 有了可执行的java程序(Hello.class字节码文件)

2. 通过运行工具java.exe对字节码文件进行执行,本质就是.class文件装载到JVM虚拟机运行

PS:对修改后的Hello.java源文件需要重新编译,生成新的Hello.class字节码文件后,再次执行,才能生效修改后的内容

 

4. Java开发注意和细节说明

1. java源文件以 .java 作为扩展名。源文件的基本组成类型是类(class)

2. Java应用程序的执行入口是main()方法。他有固定的书写格式:

public static void main(String[] args){}

3. Java语言严格区分大小写

4. Java方法由一条条语句构成,每个语句以 “;” 结束

5. 大括号都是成对出现的,缺一不可

6. 一个源文件中最多只能有一个public类。其他类个数不限。编译后,每一个类都有一个对应的 .class文件

7. 如果源文件中包含一个public类,则文件名必须按照该类名命名。

8. 一个源文件中最多只能有一个public类。其他类个数不限。也可以将main方法写在非public类中,然后指定运行非public类,这样的入口方法就是非public类的main方法

 

5. 代码规范

1. 类、方法的注释,要以javadoc的方式来写。

2. 非Java Doc的注释,往往是给代码维护者看的,着重告述读者为什么这样写,如何修改,注意什么问题等

3. 使用tab操作,实现缩进,默认整体向右边移动,使用shift+tab整体向左边移动

4. 运算符 和 = 两遍习惯性各加一个空格

5. 源文件使用utf-8编码

6. 行宽度不要超过80字符

7. 代码编写使用 次行风格 和 行尾风格

 


参考资料:

bilibili韩顺平:https://space.bilibili.com/651245581

标签:JRE,java,class,源文件,编译,准备,Java,JAVA
From: https://www.cnblogs.com/yzr-zy/p/17664007.html

相关文章

  • Java底层起步
    <h3style="text-align:center;">Java底层起步</h3>Java介绍什么是面向对象?例如:小戴正在做饭时,发现没酱油了,对着外面的朋友小张说,小张你去买瓶酱油,然后小张给楼下超市的小王打电话,让送了一瓶酱油上来。在上述的过程中,从面向对象的角度来讲,其强调的是谁来做这个事,而不是这个事......
  • Java的部分八股(随便记着玩)
    Java的部分八股1.Hashmap和Hashtable的区别1.安全性hashtable是线程安全的,hashmap是非线程安全的但是hashmap的性能高于hashtable多线程下使用hashmap需要使用一个线程安全的集合2.容量部分Hashmap的初始容量为16,hashtable的初始容量为11,填充因子默认都是0.75Hashmap扩容......
  • ArcGIS Javascript sdk中API keys 的说明
    ArcGISJavascriptsdk中APIkeys的说明关于ArcGIS的APIkey具体使用ArcGIS有那些底图用到了APIkeys,那些没有用到可以参考下面表格,最新改动请参考官网BasemapsforusewithAPIkeysUseofthesebasemapsrequiresanArcGISDevelopersubscription.Tolearnmoreabout......
  • JavaScript 中的变量声明与赋值
    在计算机编程中,使用名称(或标识符)来表示值是最基本的技术之一。将名称与值绑定为我们提供了一种在程序中引用值并利用它们的方式。当涉及到绑定名称与值时,我们通常称之为将值赋给变量。术语“变量”暗示了新的值可以被赋给它,这意味着与变量关联的值在程序执行过程中可能会改变。如......
  • JavaWeb-cnblog
    javaweb基础HTML和CSS<fontcolor=""size=""face=""></font><br>//换行<hr>//无序//有序//超链接//Javaweb相对路径表//表格//行//列1.11.2..tr行标签th表头标签td单元格标签b加粗cellspacing单元格间距colspan=“#”表跨#列合并row......
  • href="javascript:void(0)
    href="javascript:void(0);"是一种在HTML中使用JavaScript的常见方法之一。它用于将链接的点击操作关联到一个JavaScript动作或函数,而不是实际跳转到一个新的URL。在某些情况下,您可能想要在链接被点击时执行一些JavaScript代码,而不是加载一个新的页面。在这种情况下,您......
  • Java后端向前端返回文件流——实现下载功能
    前端实现文件下载功能有多种方法,这里就不一一介绍,这里只介绍使用文件流下载的实现方法。既然是文件流那就肯定需要给前端返回一堆二进制编码,作为后端就可以返回一个OutPutStream后端可以使用Java中servlet提供的HttpServletResponse,核心步骤是要设置响应的数据类型,设置为某一类......
  • Java - ReentrantLock锁分析
    Java-JUC核心类AbstractQueuedSynchronizer(AQS)底层实现  一. AQS内部结构介绍JUC是Java中一个包  java.util.concurrent 。在这个包下,基本存放了Java中一些有关并发的类,包括并发工具,并发集合,锁等。AQS(抽象队列同步器)是JUC下的一个基础类,大多数的并发工具都是基于......
  • XXX has been compiled by a more recent version of the Java Runtime (class file v
    maven版本未指定导致编译失败问题Executiondefaultofgoalorg.springframework.boot:spring-boot-maven-plugin:3.1.3:repackagefailed:Unabletoloadthemojo'repackage'intheplugin'org.springframework.boot:spring-boot-maven-plugin:3.1.3'dueto......
  • java基础-运算符--day03
    目录1.算数运算符2.+号3.++4.=赋值操作5.关系运算6.逻辑运算7.三元运算8位运算1.算数运算符/处以%取余publicclassTestOper01{ publicstaticvoidmain(String[]args){ System.out.println(13/5);//结果为2 System.out.println(13%5);//结果为3 ......