J2ME J2SE J2EE
发布日期:2021-06-30 17:39:04 浏览次数:2 分类:技术文章

本文共 3234 字,大约阅读时间需要 10 分钟。

                                                                             JAVA技术体系

Sun官方定义的Java技术体系包括以下几个组成部分:①Java程序设计语言②各种硬件平台上的Java虚拟机③Class文件格式④Java API类库⑤来着商业机构和开源社区的第三方Java类库

   

                      Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本. 

                              

标准版(J2SE)

      J2SE是Java 2 standard edition是Java2的标准版,主要用于桌面应用软件的编程。 Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程。

      关于J2SE收费的信息:

  • 收费方式

java8

Oracle jdk授权使用BCL协议具体分个人版本和商业版本两种商业版本在19年1月停止免费的更新,这之前的更新还是能够免费用,交钱可以继续获得后续的更新个人版本在20年12月停止免费的更新,这之前的更新还是能够免费用,交钱可以继续获得后续的更新Open jdk授权使用GPL协议或BCL协议根据需求可以选择协议,如果选择BCL协议就跟Oracle版没什么区别了,但不需要收费没说支持期限

java11

Oracle jdk授权使用BCL协议没有个人版商业版一说啦除非交钱,否则一律不许商用,只能用来写写代码,调调代码,离线做点儿数据Open jdk授权使用GPL协议目前Oracle愿意提供六个月的更新,是否提供更长时间的更新需要走着看为啥不说java9和10都不是长期支持版本,说了有啥用

 

  • 两种许可协议有什么不同

简单的说

BCL协议

    你不能改JDK,你基于JDK做出的内容是受保护的,同时根据你是个人版还是商业版来决定能否用来商用

GPL协议

    开源,JDK随便改,也能随便用,但是如果用基于这个协议的JDK开发出来的内容,也必须是GPL协议的,也就是开源的

 

  • 解决方案

java8

a 交钱b 用旧版本,会有安全隐患(很多公司的选择吧,做好数据备份就不怕被黑)c 换成OpenJDK(也是不错的选择,反正能选BCL协议)d 20年12月前用个人版的JDK干商业的事儿(能爽两年,但被查了就很惨,还不如c呢)

java11

a 交钱b 换成OpenJDK(这下自己的代码理论上全得变开源了,允悲)其实我们还有其他的解决方案a 管他收费不收费,黑着用(估计大部分公司都是这样吧,不查爽翻天,一查就允悲)b 要不咱们换Go

 

企业版(J2EE)

      J2EE即Java2 enterprise edition是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。Enterprise Edition(企业版) J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。比如:EJB、servlet、JSP、XML、事务控制。 

JavaEE由4部分组成:JAX-WS (Java API for XML-Based Web Services),JAXB (Java Architecture for XML Binding)JAF (the JavaBeans Activation Framework)Common Annotations.但是这个特性和JavaSE关系不大。并且JavaEE被维护在Github(https://github.com/javaee)中,版本同步造成维护困难。最后,JavaEE可以单独引用,maven中心仓库也提供了JavaEE(http://mvnrepository.com/artifact/javax/javaee-api/8.0),所以没必要把JavaEE包含到JavaSE中。注:JDK11中已经把J2EE删除了。

                                    

J2EE的13个技术规范:

1、JDBC(Java Database Connectivity) java数据库连接

①为Java开发人员提供了一个行业标准API,可以在Java应用于关系数据库之间建立起独立于数据库的连接,API提供了数据库的调用层接口

②定义了连接数据库的四种不同驱动类型的规范。

2、JNDI(Java Naming and Directory Interface)Java命名和目录接口

①一个Java应用程序设计接口(API)

②为开发人员提供了查找和访问各种命名和目录服务的通用、统一方式。

③构建在NDS,LDAP等服务之上。

3、Servlets

Servlets是Java类,使用基于HTTP协议的请求/响应模型,同Web客户层进行交互。

HTTP Servelts:

①由容器管理

②可产生动态内容

③能在本地Session中储存客户数据

4、JSP(Java Server Page)Java服务器端页面

①是Servlet技术的发展和自然扩展,将转换成Servlet

②根据客户端请求创建动态Web页面的文本文件
③是J2EE中的“视图”组件

5、EJB(Enterprise javabean)企业级JavaBean

①EJB是实现分布式业务逻辑的Java组件

②“企业”意味着应用的扩展性、可用性、可靠性、安全性、事务性和分布性

③为客户提供可分布和可部署的业务逻辑服务

④拥有定义良好的接口

⑤在应用服务器之间可重用

⑥在提供管理和控制服务的容器中执行。

6、RMI(Remote Method Invocation)远程方法调用

①RMI是一种基于java的分布式编程模型,允许对象使用stub(桩)和skeleton(骨骼)调用远程的对象

②RMI使用序列化在两个对象间通过值传输数据

7、JMS(Java Messaging Service)

①JMS是Java API,提供了一种通用的方式来创建、发送、接受和读取企业消息通信系统的消息。

②该接口支持点对点模型、发布/订阅模型、保证消息分发、事务会话

8、JTA(Java Transaction Architecture)Java事务框架

JTA被用于与事务服务进行通信,为启动事务,连接现有的事务,提交事务和撤销 事务提供标准的Java API。

9、JTS(Java Transaction Server)Java事务服务
JTS规定了事务管理器的实现方式,该事务管理器是在高层支持JTA规范,为应用服务器、资源管理器、独立的应用及通信资源提供了事务服务。

10、JavaMail(Java邮件)

JavaMail是用于存放邮件服务的接口,提供了一套邮件服务器的抽象类。

11、JAF(JavaBean Activation Framework)JavaBean服务框架

JavaMail利用JAF来处理不同编码的邮件链接。

12、IDL(Interface Description Language)接口描述语言

在Java IDL的支持下,可以将Java和CORBA集成在一起,创建Java对象并使之可在CORBA ORB中使用。

13、XML(eXtendsible Markup Language)可扩展标记语言

XML是一种可以用来规定其他标记语言的语言,它被用来在不同的商务过程中共享数据,XML的发展和Java是相互独立的。具有平台独立性

 

微缩版(J2ME)

      J2ME即Java 2 Micro Edition是Java的微型版,主要应用于嵌入式系统开发,如手机和PDA的编程。Micro Edition(微缩版) J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。比如:呼机、智能卡、手机、PDA、机顶盒。

Android是操作系统,Google在制定标准。J2ME是应用程序框架,Sun在制定标准,目前Sun已经被Oracle收购了。Android上有支持J2ME的程序,可以运行J2ME的jar的

                               

参考资料:

 

转载地址:https://lemonstone.blog.csdn.net/article/details/85228491 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Spring Cloud 分布式 微服务 最佳实践之一
下一篇:设计模式 桥接模式

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月22日 06时57分41秒