Java基础概念

来自小能手俱乐部
跳到导航 跳到搜索

后台服务搭建背景介绍(Java)

   我们的日常工作一般是在某个操作系统上进行(windows or Linux),下面对一些概念做简单介绍。
环境变量(Environment Variable):环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。当我们向操作系统输入命令时
操作系统会根据环境变量来查找对应的执行程序,一旦环境变量设置出现问题则操作系统会因无法找到程序而报错。以安装JDK为例,安装JDK成功后,还需要在系统中设置环境变量JAVA_HOME,设置完成后才可以在命令窗口使用java、javac等命令。
文件:代码需要写到名为 *.java 的文件中,这是个普通的文件,如果后缀更换为.txt就成为了我们常见的普通文档。执行编译命令javac Hello.java可以成功但是javac Hello.txt不行(Java不认识该后缀的文件)。
编译:Java运行环境无法执行*.java文件,只能执行*.class文件(字节码文件),两种文件的转换需要javac命令来实现。一个Hello.class文件放入JRE环境就可以执行了
JAVA应用:如果我们只需要在屏幕上打印“Hello World”,那么一个class文件已经足够。但是由于程序的复杂性我们可能需要成千上万的class文件甚至数十万个。如果这么 多的文件放在一个文件夹中最终将无法管理。
JAVA应用的结构:为了方便管理,我们将实现某一功能的一组class放到一起形成一个jar包,它可以被包括到更大的程序中去。因此我们自己的应用程序除了自己为实现业务而写的java文件外,还需要依赖于其他的jar包为我们提供基础功能,像ftp连接、数据库连接、日志记录、SpringMvc框架等都是以这种方式参与到系统构建中来的。
JAVA应用的构建:我们程序构建使用了大量的jar包,但是这些jar包之间大概率不是独立的,而是有着互相引用的关系。这使我们面临一个问题:版本冲突,不同版本的jar包可能出现冲突导致我们的应用无法成功构建,如果出现版本冲突我们需要人工去查看分析原因并解决,这样做会耗费大量时间。怎样做才能轻松的管理呢?
Maven的作用:Maven可以帮我们管理jar依赖关系、自动下载需要的jar包、构建应用程序。

什么是JDK

   JDK 是 Java Development ToolKit 的简称,也就是 Java 开发工具包。
   JDK 是整个 Java 的核心,包括 Java 运行环境(Java Runtime Envirnment,简称 JRE)。
   最主流的 JDK 是 Oracle 公司发布的 JDK,除了 Oracle JDK(商业化,更稳定)之外,还有很多公司和组织开发了属于自己的 JDK,比较有名的有 IBM JDK(更适合 IBM) 和 OpenJDK(开源)。

JDK有几种类型

   1)J2SE:Standard Edition,标准版,是我们通常用的一个版本,从 JDK 5.0 开始,改名为 Java SE。 
   2)J2EE:Enterprise Edition,企业版,从 JDK 5.0 开始,改名为 Java EE。 
   3)J2ME:Micro Edition,主要应用于移动设备、嵌入式设备,从 JDK 5.0 开始,改名为 Java ME。

目前在用的主流JDK版本?

   2014年Oracle发布了JDK8,经过多年的发展使用,目前已经成为比较流行的主流版本。截止目前OpenJDK已经来到了17。

什么是Spring?

请参考:Spring框架内容


Spring、SpringBoot、SpringCloud是什么关系?

SpringBoot 详细内容请参考:Springboot

SpringCloud详细内容请参考:Springcloud


什么是Maven?

   Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

Maven如何使用?

   maven clean命令:执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。
maven validate命令:验证工程正确性,所需信息完整否。
maven compile命令:在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。与build区别:只编译选定的目标,不管之前是否已经编译过。
maven test命令:单元测试。
maven package命令:将工程文件打包为指定的格式,例如JAR,WAR等。这个命令会在你的项目路径下一个target目录,并且使用compile命令的功能进行编译,同时会在target目录下生成项目的jar/war文件。如果a项目依赖于b项目,打包b项目时,只会打包到b项目下target下,编译a项目时就会报错,因为找不到所依赖的b项目,说明a项目在本地仓库是没有找到它所依赖的b项目。
maven verify命令:主要对package检查是否有效、符合标准。
maven install命令:将包安装至本地仓库,以让其它项目依赖。该命令包含了package命令功能,不但会在项目路径下生成class文件和jar包,同时会在你的本地maven仓库生成jar文件,供其他项目使用(如果没有设置过maven本地仓库,一般在用户/.m2目录下。如果a项目依赖于b项目,那么install b项目时,会在本地仓库同时生成pom文件和jar文件,解决了上面打包package出错的问题)。
maven deploy命令:将项目部署到远程服务器。