从运维角度看 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: 提供 JavaAPI 接口, 缩短应用程序的开发周期
1.2. JVM

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

1.3. JDK

JDKJava 语言的软件开发工具包, 是整个 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

JSPJava 的服务器页面,它是 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 是一个包含 JasperServlet 相关的技术的框架, 其中 Jasper 负责监控本地的 .jsp 程序是否发生修改, 一旦修改就根据需求将其替换为 .java 源代码, 而 .java 就交给 Servlet 进行处理

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

相关内容

热门资讯

探秘沧海之“晶”:海水制盐的原... 自古以来,海就是巨大的宝藏,尤其它那孕育“白色精灵”——食盐的魔力,更是人类文明的基石之一。海水如何...
日媒播出专题片揭露731部队罪... 当地时间21日夜间,日本广播协会播出侵华日军731部队相关专题片,题为《被隐藏的部队:沉默的战后》。...
苏州正式设立人工智能发展办公室 新京报讯 据“苏州发布”微信公众号消息,近日,苏州市正式设立人工智能发展办公室,进一步统筹苏州市人工...
警方通报“16岁高中生被刺死”... 7月22日,内蒙古乌拉特前旗公安局针对“16岁高中生被刺死,事发地疑为涉黄场所”发布警情通报,通报关...
达观数据陈运文:智能体竞争,正... 随着AI智能体加速进入产业应用,市场规模持续增长,但企业关注的重点正在发生变化。 中商产业研究院发布...
磁力混合器突破3D生物打印细胞... 3D生物打印是生物工程领域的重要技术,通过将活细胞混入柔性水凝胶(即"生物墨水")来打印活体组织,广...
王兴兴:做好准备迎接即将突破的... 王兴兴在开幕式上发表演讲。 王兴兴在演讲中提到,宇树科技成立于2016年,经过近10年努力,已经成为...
不排除提告!屡遭苏巧慧阵营抹黑... 海峡导报综合报道 国民党新北市长参选人李四川的板桥房产问题屡遭绿营质疑,对手苏巧慧阵营再度指控李四川...
俄外长:将在马尼拉同鲁比奥会晤... 据凤凰卫视报道,正在菲律宾出席东盟外长会的俄罗斯外长拉夫罗夫7月22日表示,他将于23日上午在马尼拉...
小鸭洗衣机皮带修理方法 小鸭洗衣机皮带在长时间使用过程中,可能会出现磨损或者老化,导致洗衣机无法转动或者转速变慢。这时候,我...