java基础入门概念

java基础入门概念引言 什么是 Java 这个问题即便是问入行已经多年的老 Java 开发 也不是所有人都能说出所以然 所以整理出了以下的基础概念 为初入 Java 海洋的人一点指引 本文部分内容引自网络 JVM JRE JDK Java 通过 JVM 虚拟机 来达到跨平台 开发者使用 JDK 开发程序 通过编译器编译后 JVM 调用 JRE 类库组件针对不同的系统环境对编译码进行解释 并执行程序 Java 源代码 gt

大家好,我是讯享网,很高兴认识大家。



引言

什么是Java?这个问题即便是问入行已经多年的老Java开发,也不是所有人都能说出所以然。所以整理出了以下的基础概念,为初入Java海洋的人一点指引。本文部分内容引自网络。

JVM、JRE、JDK

Java通过JVM(虚拟机)来达到跨平台。开发者使用JDK开发程序,通过编译器编译后,JVM调用JRE类库组件针对不同的系统环境对编译码进行解释,并执行程序。

Java源代码---->编译器----&gtjava基础入门概念;jvm可执行的Java字节码(即虚拟指令)---->jvm---->jvm中解释器----->机器可执行的二进制机器码---->程序运行。

JDK是开发者使用的,里面包含了各种API。JRE是供JVM虚拟机调用的类库。

JRE及JVM是用户使用的,他们不包含编译程序。

在我们安装JDK的时候,目录中已经包含了JRE及JVM。

注意:跨平台的是 Java 程序,不是 JVM。JVM 是用 C/C++ 开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的 JVM。

由图中可以看出以下几点:

  • JDK=JRE+多种Java开发工具
  • JRE=JVM+各种类库
  • 这三者的关系是一层层的嵌套关系。JDK>JRE>JVM

JVM:

JRE(JRE包含JVM):

JDK(JDK包含了JVM和JRE):

bin:最主要的是编译器(javac.exe)

include:java和JVM交互用的头文件

lib:类库

jre:java运行环境

Tomcat

Tomcat是web 服务器。我们做好的web应用程序需要Tomcat才能展现。而Tomcat又需要运行在系统上,就需要JVM(虚拟机系统)。

  1. 假设tomcat监听8080端口,当一个http请求从主机的8080端口发送过来时,tomcat最先获知。
  2. tomcat将此请求作为任务加入一个队列中,jvm中有若干工作者线程会从这个队列中获取任务。
  3. 假设工作线程A取到了这个任务,那么线程A通过分析请求的url,检查已加载的web.xml配置,来判断此请求应该交给应用的哪个servlet处理(假设应用是用servlet实现的)
  4. 工作线程A调用对应的servlet的方法(service/get/post等),把请求封装成request对象传给servlet
  5. 此时应用开始干活(实际上干活的还是工作线程,只不过执行的是应用中编写的业务逻辑),解析请求参数,处理业务流程,生成response
  6. 工作线程A把response回送给请求的发送端。
  7. 通常情况下,tomcat启动时候使用的jdk的路径默认为环境变量里配置的JAVA_HOME;
  8. 修改默认jdk:我们都知道启动tomcat可以通过运行bin下的startup.bat,startup.bat会调用catalina.bat文件,而catalina.bat会调用setclasspath.bat文件来获取JAVA_HOME和JRE_HOME这两个环境变量的值,因此若要在tomcat启动时指向特定的JDK,则需在setclasspath.bat文件的开头处加上JAVA_HOME和JRE_HOME。
  9. eclipse自带编译工具,只需用jre即可(java项目只能运行在jvm上/运行类库) jdk开发工具包

JavaEE、JavaSE、JavaME

使用较多的是JavaEE,主要做web。JavaSE中也有web相关模块,但是比JavaEE弱。

  • javase: 即J2SE, java标准版, 主要做一般的java应用, 比如, 应用软件/ 之类的通信软件等等.
  • javaee: 即J2EE, 主要做企业应用, 比如公司网站, 企业解决方案等;
  • javame: 即J2ME, 主要面向嵌入式等设备应用的开发, 比如手机游戏等

IDE-IntelliJ IDEA

主流使用IntelliJ IDEA,分企业版(收费)及社区版(免费)。企业版包含Java EE(Java的企业版)全部内容。

项目管理-Maven

之前主流用Ant,但是目前已经被Maven及Gradle取代。其中,Gradle是最新的项目管理软件,但是国内主要还是以Maven为主。Maven可以用来管理、配置、测试和部署项目,拥有生命周期及仓储概念。它将项目本身所有依赖项通过网络下载到仓储。可以通过修改POM配置文件来随时修改本项目的依赖项,而Maven会实时更新仓储。

版本管理-Git

目前使用的版本管理软件主要有svn及Git。相比前者,由于Git有本地缓存区的概念,可以轻易建立分支(包括离线建立分支),同时可以离线查看历史记录等。 Git的使用者以及越来越多,Git+Maven已经是比较主流的Java开发选择。

Spring Boot

SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。

参考引用:

http://c.biancheng.net/view/5607.html

小讯
上一篇 2024-12-29 23:40
下一篇 2024-12-25 20:54

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/1284.html