仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 442|回复: 9
打印 上一主题 下一主题

[学习教程] JAVA网页编程之完成加强的java class hotswap (二) 面对的成绩仓酷云

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:23:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在性能方面,在windows平台下,.net网页编程可能是占强项,要是把.net网页编程放在sun开发的操作系统上去运行呢?根本就运行不了,.net网页编程对其它操作系统的支持也很弱,性能也可能比不上java。要完成本人的classreload机制,起首必要分明我们面对甚么样的成绩,起首,假造机中利用到的Class都是由各类ClassLoader装载出去的,而尽年夜部分程序的开辟者都不必要体贴这个历程,我们面对的第一个成绩就是必要将class装载这个历程拦阻上去,让一切的必要reload的class的装载都经由我们的机制,我们才无机会往实行我们的reload机制,因而我们必要拦阻体系的ClassLoader,在class装载的时分完成本人的逻辑
jdk供应JVMTI(JVMDI,JVMPI),能够从底层的假造机里猎取几近一切假造机里产生的事务,我们能够经由过程捕捉这些事务,加以处置,来完成我们的目标,可是操纵jvm外部的事务必需十分当心,不然十分简单形成假造机事情不一般,乃至溃散。同时,要利用JVMTI这些底层的api,我们必要利用c/c++来完成功效,关于我们要完成的目标来讲,太庞大了点,并且,关于我来讲,几近没正派写过c/c++代码,因而这条路不予思索。
从java5入手下手,jdk入手下手供应一种新的机制来匡助我们完成这类功效,javaagent能够方面的匡助我们完成这一功效,我们能够经由过程复杂的完成一个包括premain办法的类就能够作为javaagent在假造机里实行,详细能够参考文档。因而,我们能够经由过程完成一个agent,在体系起来的时分经由过程instrmentation修正体系的ClassLoader,到场我们本人逻辑的代码来拦阻class装载的历程。注重,这里只能修正已无方法的办法体,比方修正findClass办法,在这些办法体里能够到场挪用我们真正逻辑的类的办法挪用,来完成本人的class装载测律。
关于jdk1.4及之前的版本呢?没有更好的举措,只能完成将体系的ClassLoader等相干类举行静态的enhance,然后经由过程bootclasspath在rt.jar之前加载出去,用本人的类盖住体系本人的类,来完成我们的逻辑,除这个拦阻的体例纷歧样之外,其他的逻辑处置和jdk5没有区分,因而今后的会商不必要辨别jdk版本的区分。
class装载的历程由我们把持了,可是因为jvm本身的限定,关于已装载进假造机的类(正确的说是装载进某一个ClassLoader的类),是没法做太年夜的修正的,只能修正办法的代码段,关于类布局是没法变动的,因而,我们面对的又一个成绩就是怎样奇妙的绕过这个限定。
实在想一想也复杂,既然已装载出去的类没法做很年夜的修正,那我们就不让他装载出去!
嘿嘿,干活了,下次再说。罪恶吧?!

java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的),
变相怪杰 该用户已被删除
沙发
发表于 2015-1-30 07:34:46 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
山那边是海 该用户已被删除
板凳
发表于 2015-2-6 08:31:59 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
简单生活 该用户已被删除
地板
发表于 2015-2-7 11:02:44 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
兰色精灵 该用户已被删除
5#
发表于 2015-2-9 20:12:49 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-27 20:45:30 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
7#
发表于 2015-3-7 04:08:53 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
admin 该用户已被删除
8#
发表于 2015-3-12 08:33:09 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-19 19:08:51 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
金色的骷髅 该用户已被删除
10#
发表于 2015-4-1 13:09:44 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 16:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表