当前位置: 首页 > news >正文

wp做网站/最新新闻热点事件

wp做网站,最新新闻热点事件,十堰的网站建设,免费企业模板网站有三种方式根据配置文件生成JAVA类: 第一: 是我们自己实现一个工具,手工调用来根据配置文件生成Java源代码,这种方式就是代码生成器之类的工具。 这种方式的好处是可以在开发过程中生成类文件,然后在其他代码中正常调用…

有三种方式根据配置文件生成JAVA类:

 

第一:
是我们自己实现一个工具,手工调用来根据配置文件生成Java源代码,这种方式就是代码生成器之类的工具。
这种方式的好处是可以在开发过程中生成类文件,然后在其他代码中正常调用而不需要反射来调用,缺点是无法在运行期修改配置文件后让类同步更改。

 

第二:
在程序运行时,根据配置文件生成Java源代码,然后调用javac来编译,与Servlet Container处理JSP的机制一样。
这种方式的好处是容易理解,可以在运行期修改配置文件,并且让类同步更改;缺点是在编译类时会启动一个Javac进程,在物理资源紧张的情况下,可能造成内存溢出之类的错误,甚至会导致无法启动编译器;这种方式需要以反射方式来调用生成的类。

 

第三:
是使用一些开源的字节码工具,在运行时根据配置文件动态创建class的字节码,然后再通过反射方式调用类。
这种方式的好处是在运行时动态生成类,配置文件改变了,下次启动时动态类随之改变;缺点是早期的字节码工具需要对Java类结构和JVM指令有一定了解,不过现在已经有很多字节码工具已经有了很较大的发展,不再需要了解Java类结构和JVM指令。
这一类的字节码工具有不少,常见的(从 http://www.open-open.com/54.htm 上摘录了一些):
===============================
CGLIB

cglib是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。Hibernate用它来实现PO字节码的动态生成。

 

ObjectWeb ASM ( 也有人简称之为 ASM )
ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。
ObjectWeb ASM轻量级的Java字节码处理框架。它可以动态生成二进制格式的stub类或其他代理类,或者在类被JAVA虚拟机装入内存之前,动态修改类。ASM 提供了与 BCEL和SERP相似的功能,只有22K的大小,比起350K的BCEL和150K的SERP来说,是相当小巧的,并且它有更高的执行效率,是BCEL的7倍,SERP的11倍以上。

  

Javassist
Javassist是一个开源的分析、编辑和创建Java字节码的类库。是由东京技术学院的数学和计算机科学系的 Shigeru Chiba 所创建的。它已加入了开放源代码JBoss 应用服务器项目,通过使用Javassist对字节码操作为JBoss实现动态AOP框架。

 

BECL
Byte Code Engineering Library (BCEL),这是Apache Software Foundation 的Jakarta 项目的一部分。BCEL是 Java classworking 最广泛使用的一种框架,它可以让您深入 JVM 汇编语言进行类操作的细节。BCEL与Javassist 有不同的处理字节码方法,BCEL在实际的JVM 指令层次上进行操作(BCEL拥有丰富的JVM 指令级支持)而Javassist 所强调的源代码级别的工作。 

 

Cojen 
Cojen是一个动态Java字节码生成和分解工具。使用一个建造器来方便地生成代码,而不用再选择精确的指令。Cojen提供的工具类演示了代码生成器和加载器的使用。 


JClassLib 
JClassLib不但是一个字节码阅读器而且还包含一个类库允许开发者读取,修改,写入Java Class文件与字节码。 


SERP 
SERP字节码框架提供一组高级的APIs进行字节码各主方面的操作。SERP字节码框架能够使你不需要明白class文件格式与JVM 指令就可以轻松完成bytecode 操作 

 

JBET 
通过JBET(Java Binary Enhancement Tool )的API可对Class文件进行分解,重新组合,或被编辑。JBET也可以创建新的Class文件。JBET用一种结构化的方式来展现Javabinary (.class)文件的内容,并且可以很容易的进行修改。

http://www.lbrq.cn/news/1271521.html

相关文章:

  • dwcc如何做网站/网络软文发布
  • 做网站地图邮什么好处/小说推文推广平台
  • 企业门户网站的意义/百度百度一下
  • 青岛模板做网站/福州百度推广排名优化
  • 个人网站备案网址导航/广州广告推广公司
  • 电商网站建设推荐/下载百度官方网站
  • 网站开发可以开发哪些/seo专员招聘
  • 日本人真人做真爱免费的网站/微信搜一搜排名优化
  • 阎良网站建设/sem与seo
  • 电话销售做网站犯法吗/网站自然排名优化
  • 通江移动网站建设/百度广告业务
  • 苏州谢谢网络公司/百度推广账户优化
  • 教育网站建设收费/免费个人网站建设
  • 幼儿园主题活动网络图/海淀搜索引擎优化seo
  • 手机上如何制作app/安卓优化大师清理
  • 新疆建设厅网站房屋租赁合同/企业seo职位
  • 沈阳网站建设公司电话/流量网站
  • 建网站的公司广州排名/运营培训班学费大概多少
  • 用动易做的校园网站/推广软文发布平台
  • 如何留住网站用户/微信代运营
  • 网站发外链/谷歌浏览器官网下载
  • 校园网站集群建设/百度广告收费表
  • 网站实现中英文/windows7优化大师
  • 网站宽屏/什么叫网络营销
  • 网络问卷制作平台/厦门seo厦门起梦
  • 民宅挂在民宿网站上 保洁谁做/seo优化排名工具
  • 手机网站需要多少钱/爱站网反链查询
  • 网站优化成本/开通网站需要多少钱
  • 有什么可以做兼职的网站/广告外链购买交易平台
  • 河南网站建设服务公司/网络推广策划
  • 数字化转型驱动中小制造企业的质量管理升级
  • 涉水救援机器人cad【12张】三维图+设计书明说
  • python---literal_eval函数
  • 仿真电路:(十七下)DC-DC升压压电路原理简单仿真
  • SpringCloud(一)微服务基础认识
  • 噪声对比估计(NCE):原理、演进与跨领域应用