从运维角度看 JAVA 技术
admin
2023-01-23 21:42:06
0次

1. JAVA 技术

1.1. JAVA 技术的组成

Java 是一个面向对象的编程语言, 由 sun 公司所研发, 是目前世界上使用最广泛的编程语言之一

Java 技术的组成:

  • JVM: Java 虚拟机, 提供 Java 的运行环境
  • JAVA 编程语言: 提供给程序员编写代码
  • JAVA Class: Java 的类文件格式, 决定 Java 程序编译出的字节码应该遵循的规范, 用于兼容不同的 JVM
  • JAVA API: 提供 Java 的 API 接口, 缩短应用程序的开发周期
1.2. JVM

JVM 是 Java 的核心和基础, 是 Java 解释器和 OS 平台之间的虚拟处理器(中间层), 它是一种基于操作系统和硬件平台利用软件方法抽象出的计算机
引入 Java 虚拟机后, 使得 Java 语言在不同平台上运行时不需要重新编; 使得 Java 程序员在开发 Java 程序时只需要面对 JVM 编写代码即可, 不用关心底层的操作系统和硬件平台
Java 语言使用 Java 虚拟机屏蔽了与具体平台相关的信息, 使得 Java 语言编译程序只需生成在 Java 虚拟机上运行的目标字节码, 就可以在多种平台上不加修改地运行

1.3. JDK

JDK 是 Java 语言的软件开发工具包, 是整个 Java 的核心, 它包含了 Java 的运行环境和 Java 工具
简单来说 JDK = JAVA 编程语言 + JAVA API + 编译器 + JVM
JDK 的分类

  • Java SE: 标准版, 是我们通常用的一个版本
  • Java EE: 企业版, 使用这种 JDK 开发 J2EE 应用程序
  • Java ME: 主要用于移动设备、嵌入式设备上的 Java 应用程序

2. JAVA WEB 程序的实现

2.1. applet 类

applet 是采用 Java 编程语言编写的, 经过编译后 applet 程序可以嵌到 HTML 中去, 然后将 applet 程序发送到客户端, 客户端的浏览器只要安装有 JDK 插件就能执行这个 applet 程序, 并将结果通过浏览器显示在客户端上, 这便是客户端动态网站

客户端动态网站的缺点:

  1. 需要客户端安装 JDK 插件
  2. 如果 applet 带有病毒如果这个程序在客户端运行就可能会对客户端主机造成巨大的危害

因为这些缺点所以后来出现了服务器端动态的概念

2.2. servlet 类

Servlet 是用 Java 编写的服务器端程序, 其主要功能为交互式的浏览和修改数据, 生成动态 WEB 资源
Servlet 可以让 Java 语言根据 CGI 技术开发运行在服务器端的动态 WEB 程序, 但在通信量大的服务器上 Java Servlet 的优点在于它们的执行速度更快于 CGI 程序
Servlet 各个用户请求被激活成单个程序中的一个线程, 而无需创建单独的进程, 这意味着服务器端处理请求的系统开销将明显降低

Servlet 处理请求的过程:

  1. 客户端发送请求至服务器端
  2. 服务器将请求信息发送至 Servlet
  3. Servlet 生成响应内容并将其传给服务器
  4. 服务器将响应返回给客户端
2.3. JSP

JSP 是 Java 的服务器页面,它是 Servlet 的一个特殊类, 在根本上是一个简化的 Servlet 设计
JSP 是在传统的 HTML 文件中插入 Java 的程序段, 从而形成了 JSP 文件
开发 JSP 程序的一个著名框架就是 SSH(Structs, Spring, Hebernate)
JSP 实现了 HTML 语法中的 Java 扩展, 通过在服务器端执行 Java 代码然后将执行结果嵌入到 HTML 中返回给客户端
Servlet 主要是实现了用 Java 语言开发运行在 server 端的 WEB 动态资源
而这些依据 Java 语言开发的 WEB 动态资源大多数都是 .jsp 资源

2.4. servlet container 和 web container

Servlet Container 包含 JDK 以及 JDK 所不具备的功能, 可以让一个 Servlet 运行起来, 有相应的 Servlet 进程
Servlet 进程负责接收前端 CGI 传递过来的请求, 并在本地的 JVM 上进行处理
Servlet 同时还负责监控本地的 .java 程序是否发生了修改, 一旦发生修改则重新让编译器编译成 .class 文件

Web Container 是一个包含 Jasper 和 Servlet 相关的技术的框架, 其中 Jasper 负责监控本地的 .jsp 程序是否发生修改, 一旦修改就根据需求将其替换为 .java 源代码, 而 .java 就交给 Servlet 进行处理

Web Container 的商业实现: websphere, weblogic
Web Container 的开源实现: tomcat, jetty

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...