仓酷云

标题: 发布一篇察看者形式的java完成 [打印本页]

作者: 透明    时间: 2015-1-18 11:20
标题: 发布一篇察看者形式的java完成
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,net网页编程Beans等等,但是我认为如果java想超越.net网页编程,那么他首先要解决的就是IDE工具的整合。
Java事务模子
在我的前两篇先容C#事务和托付的blog宣布以后,人人呼应出格强烈热闹,点击率很高,看来事务/托付机制是良多同仁对照含混的中央,借此春风,加上比来本人转战java,因而决意写这篇先容java事务机制的blog。
实在,不论哪一种言语的事务机制,毫无破例都逃不出三点:事务源/发送者,事务的承受者/处置者/侦听者,和事务源向事务承受者传送的事务信息。对应在java中,事务源(eventsource),事务聆听者(eventlistener),事务动静称为eventobject。而在C#中,分离是发送者(Sender),处置者(handler),事务动静则是事务参数(EventArgument)。而java和c#都接纳不异的呼应形式:公布者/定阅者形式(publisher/subscriber),详细来讲就是:
(1)定阅者向公布者注册本人感乐趣的事务;
(2)事务产生时,关照定阅者呼应事务。
复杂一句话,就是那句常说的:“Dontcallme,Illcallyou。”
因为之前已对C#的事务机制举行了切磋,上面,我将侧重谈谈java的事务机制,和对二者完成机制的对照:
(一)Java事务完成机制
上面是一个自界说java事务的例子,经由过程这个复杂的演示,你能够看到Java的事务完成机制。这里申明一下,这个例子引自http://www.rainsts.net/article.asp?id=224,为了申明道理,改编了原文中对匿名办法部分,并且因为这个网站的代码编纂器缺少对java代码的撑持,因而,对关头字,范例等并没有作格局显现处置。
importjava.util.*;
//界说一个相似C#EventArgs的类用来传送事务形态信息。
//一样平常请求承继自java.util.EventObject,且以Event开头。
classClicktEventextendsEventObject
{
 publicDemoBeansource;
 //机关函数的参数传送发生事务的事务源
 publicClickEvent(DemoBeansource)
 {
  super(source);
  this.source=source;
 }
}
//经由过程接口来界说事务呼应函数原型,就像c#delegate界说了呼应函数的“模板”,
//别忘了,接话柄际上就是一种“条约”,“左券”,经由过程这个接口中的函数署名到达对呼应函数的标准
//一样平常请求承继自java.util.EventListener,且以Listener开头。
//这里以I开首界说ClickListener接口,自创自.net,不切合j2ee的定名标准
interfaceIClickListenerextendsEventListener
{
  voidclick(ClicktEvente);
}

//事务侦听者,完成侦听者接口
publicclassClickListenerimplementsIClickListener
{
  public voidclick(ClicktEvente)  {
    System.out.println("theclickedeventhappened");
  }

 }
//界说演示控件类,也就是事务源
classDemoBean
{
 //用一个java.util.Vector对象来存储一切的事务监听器对象。
 privateVectorclicks=newVector();
 //增加事务定阅。一样平常以add(listener)体例拼写,并增加synchronized关头字。
 publicsynchronizedvoidaddExampleListener(IClickListenerlistener)
 {
  clicks.add(listener);
 }
 //移除事务定阅。一样平常以remove(listener)体例拼写,并增加synchronized关头字。
 publicsynchronizedvoidremoveExampleListener(IClickListenerlistener)
 {
  clicks.remove(listener);
 }
 //触发事务。
 protectedvoiddoClickEvent()
 {
  //锁定,制止在触发时代有事务被定阅或移除。
  synchronized(this)
  {
   //创立事务形态对象。
   ClicktEventce=newClickEvent(this);
   //轮回触发一切的事务定阅办法。
   for(inti=0;i<clicks.size();i++)
   {
     IClickListenere=(IClickListener)clicks.get(i);
     e.click(ce);
   }
  }
 }
 //摹拟点击操纵。
 publicvoidClick()
 {
  doClickEvent();
 }
}

//测试程序
publicclassProgram
{
 publicstaticvoidmain(String[]args)
 {
  //创立控件。
  DemoBeanbean=newDemoBean();

 //实例化一个事务侦听者
 ClickListnertestListner=newClickListner();
 //增加事务定阅。
  bean.addExampleListener(testListner);
  //摹拟触发点击操纵。
  bean.Click();
 }
}
<p>
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net网页编程并驾齐驱的
作者: 柔情似水    时间: 2015-1-18 18:28
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
作者: 再现理想    时间: 2015-1-22 20:36
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者: 飘飘悠悠    时间: 2015-1-25 12:05
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
作者: 莫相离    时间: 2015-1-28 06:01
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
作者: admin    时间: 2015-1-31 08:04
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者: 蒙在股里    时间: 2015-2-6 18:40
是一种语言,用以产生「小应用程序(Applet(s))
作者: 活着的死人    时间: 2015-2-26 15:18
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者: 变相怪杰    时间: 2015-3-7 10:59
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
作者: 简单生活    时间: 2015-3-11 09:42
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者: 兰色精灵    时间: 2015-3-12 16:35
是一种突破用户端机器环境和CPU
作者: 老尸    时间: 2015-3-19 23:46
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 山那边是海    时间: 2015-4-12 04:28
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。




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