java开发基础
java组件
1.java程序执行过程
1.使用编辑器或IDE(集成开发环境)编写Java源文件.即Simple.java
2.程序必须编译为字节码文件,javac(Java编译器)编译源文件为Simple.class文件
3.类文件可在任何平台/操作系统上由JVM(Java虚拟机)执行
4.JVM将字节码文件翻译为机器可以执行的机器码(0,1二进制)
## 解释
所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行
也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机(相当于中间层)间接与操作系统交互,由虚拟机将程序解释给本地系统执行
只有JVM还不能完成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库
JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行
所有的程序只要有java虚拟机的支持,那么就可以实现程序的执行,并且不同的操作系统上会有不同版本的jvm
jvm相当于一个容器,放到不同的操作系统中,因为编写的Java程序经过编译后生成的字节码可以被JVM识别,JVM为程序运行屏蔽了底层操作系统的差异
## references:
什么是JDK,JRE,JVM ---深入分析_FEEL的博客-CSDN博客_jdk jre jvm
2.JVM,JRE,JDK
JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作
JRE :英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库。它相对于 jvm 来说,多出来的是一部分的 Java 类库
JDK :英文名称(Java Development Kit),Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具,例如:javac.exe,java.exe,jar.exe 等
显然,这三者的关系是:一层层的嵌套关系。JDK>JRE>JVM
## references:
搞清楚JDK、JRE、JVM的区别_西瓜的博客-CSDN博客_jdk jre jvm
3.开发工具 javac.exe,java.exe,javaw.exe
javac.exe:是编译程序 ,它将.java文件编译成 .class 文件
java.exe:java的启动程序,它有一个与它相关的控制台
javaw.exe:java的启动程序,它与java.exe 没有多大差别,只是它没有一个相关的控制台用于交互而已
javaws.exe:用来启动web分发的java的程序
## references:
javac.exe 、 java.exe、 javaw.exe 、 javaws.exe有什么区别?_Lord_Bao的博客-CSDN博客
java类
java类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象
举一个例子说明下类:
比如Person(人)就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“姓名、身高、体重”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法
总之类就是有相同特征的事物的集合,而对象就是类的一个具体实例
同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等
## Java语言中对类Person的定义往往如下: public class Person { private String name; //属性:姓名 private int height; //属性:身高 private int weight; //属性:体重 public Person() {} public Person(String name, int height, int weight) { this.name = name; this.height = height; this.weight = weight; } //... some methods... public void doSth() { //行为: //... do something }}
## references:
java的类是什么_java类是什么意思_海上行走的狮子的博客-CSDN博客
jar包
JAR(Java ARchive,Java 归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。用户可将多个 Java applet 及其所需组件(.class 文件、图像和声音)绑定到 JAR 文件中,而后作为单个的简单 HTTP(Hypertext Tranfer Protocal,超文本传输协议)事务下载到浏览器中,从而大大提高下载速度。JAR 格式也支持压缩,从而减小了文件的大小,进一步缩短下载时间。另外,applet 编写者也可在 JAR 文件中用数字签名的方式签写各项以确认其来源。它用 Java 编写,可与现有的 applet 代码完全向后兼容且可充分扩展
JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的
1.jar包和war包区别
jar包:是java的类进行编译生成的class文件就行打包的压缩包而已,里面就是一些class文件。当我们自己使用maven写一些java程序,进行打包生成jar包。同时在可以在其他的工程下使用,但是我们在这个工程依赖的jar包,在其他工程使用该jar包也要导入
war包:其实就是一个web程序进行打包便于部署的压缩包,里面包含我们web程序需要的一些东西,其中包括web.xml的配置文件,前端的页面文件,以及依赖的jar。文件数量对于jar包,这样便于我们部署工程,直接放到tomcat的webapps目录下,直接启动tomcat即可。同时可以使用WinRAR查看war包,直接将后缀.war改成.rar
## references:
war包和jar包的区别_shu616048151的博客-CSDN博客_war和jar
2.jar包的创建和使用
## references:
打jar包和使用jar包_liupc的学习笔记-CSDN博客_jar包
java打jar包的几种方式详解 - jack_Meng - 博客园 (cnblogs.com)
spring
spring是一个轻量级java开发框架
是为了解决企业级应用开发的复杂性而创建的,简化开发
##
1.spring boot
spring boot是一个javaweb的开发框架,简化开发,约定大于配置
## references:
Spring Boot框架入门教程(快速学习版) (biancheng.net)
Spring Boot(一):入门篇 - 纯洁的微笑 - 博客园 (cnblogs.com)
2.微服务
微服务是一种架构风格,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合,可以通过HTTP/RPC的方式进行互通
##