仓酷云

标题: JAVA网页设计完成加强的java class hotswap (三) 办理计划仓酷云 [打印本页]

作者: 小女巫    时间: 2015-1-18 11:23
标题: JAVA网页设计完成加强的java class hotswap (三) 办理计划仓酷云
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。这段工夫瞎忙,这篇文章没有写下往,被人小看是宦官文,忧郁,只好抽工夫持续。
----------------------------
上回说道我们要完成类字节码的静态装载,一个思绪就是不让这个类真实的被装载进假造机,由于一旦真实的装载出去了,就没法对其举行布局上的修正,这些在前文中已提到过了。那怎样才干不让类装载出去可是又能利用它呢?
这看起来像一个悖论,我们要在使用是利用一个类,初始化它,机关它的实例,挪用办法,等等,可是又不克不及装载这个类,这不忽悠人么?
临时不论怎样做到,先看看成绩自己。我们要办理的成绩就是当一个类(比方Worker)已在假造机内里利用了,好比有程序Test援用到了Worker,这时候候,Worker修正过了(Work),字节码更新过了,我们必要在不从头启动jvm的情形下,让Test新倡议的挪用都利用到Work的代码。我们怎样处置呢?
我们的计划:假造机起来的时分,在Test里,发明(TODO1)要利用Worker类,我们装载一个WorkerVersion1给Test利用,当发明(TODO2)Worker类的字节码变更了,我们必要冷静的装载(TODO3)一个WorkerVersion2出去,给Test利用,同时必要不让Test晓得有这个变更。
这几个TODO办理失落了,我们的成绩也差未几了。
*TODO1,监控假造机装载类
这个不难,我们用agent往enhance一下java.lang.ClassLoader,修正findClass/findResource等办法,到场我们本人的反省和装载逻辑,然后redefine这个类便可,没有成绩
*TODO2,监控类字节码变更
在装载这个类的时分,纪录下这个类的来历,比方来自某个目次,来自某个jar,然后在必要的时分反省这个资本是不是改动,假如改动了就倡议从头装载的动静便可,也没啥成绩
*TODO3,从头装载一个变更了的类
这里才是技能的中心,我们在装载类的时分,利用字节码剖析工具(比方asm),间接找到字节码,修正它,天生一个带版本号的类名,比方将Worker修正成Worker_V_1,前往给下面利用,当发明类有修正的时分,我们就装载一个Worker_V_2出来,给下面利用。

什么时候上述的三种开发工具能和三为一,什么时候java的竞争力才更强,才有机会拉拢更多的程序员投入到对java的开发上,因为到时的开发工具将会比.net网页编程的更简单。还有一点也很关键,什么时候java推出的jsf能成为真正意义上的标准。
作者: 小妖女    时间: 2015-1-20 23:47
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者: 小女巫    时间: 2015-1-25 21:15
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
作者: 灵魂腐蚀    时间: 2015-2-4 01:42
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者: 若相依    时间: 2015-2-5 00:32
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
作者: 柔情似水    时间: 2015-2-6 11:40
是一种使用者不需花费很多时间学习的语言
作者: 再现理想    时间: 2015-2-7 10:04
是一种使网页(Web Page)产生生动活泼画面的语言
作者: 莫相离    时间: 2015-2-10 00:23
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者: 分手快乐    时间: 2015-2-10 01:24
是一种为 Internet发展的计算机语言
作者: 若天明    时间: 2015-2-13 17:45
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
作者: 再见西城    时间: 2015-3-4 00:00
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
作者: 乐观    时间: 2015-3-10 04:45
是一种突破用户端机器环境和CPU
作者: 活着的死人    时间: 2015-3-10 19:12
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者: 不帅    时间: 2015-3-17 09:10
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者: 蒙在股里    时间: 2015-3-24 05:15
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2