仓酷云

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

[学习教程] 来看Java的线程平安四种体例五个品级

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

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

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

x
什么时候上述的三种开发工具能和三为一,什么时候java的竞争力才更强,才有机会拉拢更多的程序员投入到对java的开发上,因为到时的开发工具将会比.net网页编程的更简单。还有一点也很关键,什么时候java推出的jsf能成为真正意义上的标准。
四种体例sychronized关头字
sychronizedmethod(){}
sychronized(objectReference){/*block*/}
staticsynchronizedmethod(){}
sychronized(classname.class)
个中1和2是代表锁以后对象,即一个对象就一个锁,3和4代表锁这个类,即这个类的锁
要注重的是sychronizedmethod()不是锁这个函数,而是锁对象,即:假如这个类中有两个办法都是sychronized,那末只需有两个线程共享一个该类的reference,每一个挪用这两个办法之一,不论是否统一个办法,城市用这个对象锁举行同步。锁类的3和4类推,即该类的分歧reference挪用了sychronized区段的咚咚就会受类锁的把持
另有,假如两个函数挪用的前后按次不克不及被打断,那末能够有个专门的锁对象来完成这个义务:
classMyLock
  {
     synchronizedgetLock()
     {
       //####还没写完
     }
  }
五个品级拜见effectivejava Item52:Documentthreadsafety
immutable不成变对象
thread-safe线程平安的,能够宁神利用,如java.util.Timer
conditionallythread-safe前提线程平安的,如Vector和Hashtable,通常为平安的,除非存在几个办法挪用之间的按次不克不及被打断,这时候能够用分外的锁来完成
thread-compatible可使用synchronized(objectReference)来帮忙完成对线程的挪用
thread-hostile不平安的
wait&notifyAll
在轮回中利用wait利用notifyAll而不是notify
pipe
java中也有pipe的,四个类:PipedInputStream,PipedInputReader,PipedOutputStream,PipedOutputWriter上面是一段临盆者消耗者的代码(摘自corejavaII):
/*setuppipes*/
PipedOutputStreampout1=newPipedOutputStream();
PipedInputStreampin1=newPipedInputStream(pout1);
PipedOutputStreampout2=newPipedOutputStream();
PipedInputStreampin2=newPipedInputStream(pout2);
/*constructthreads*/
Producerprod=newProducer(pout1);
Filterfilt=newFilter(pin1,pout2);
Consumercons=newConsumer(pin2);
/*startthreads*/
prod.start();
filt.start();
cons.start();

有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。
小妖女 该用户已被删除
沙发
发表于 2015-1-21 08:42:00 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-30 12:39:16 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
因胸联盟 该用户已被删除
地板
发表于 2015-1-30 12:39:16 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
只想知道 该用户已被删除
5#
发表于 2015-2-2 21:43:38 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
若相依 该用户已被删除
6#
发表于 2015-2-5 00:48:48 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
莫相离 该用户已被删除
7#
发表于 2015-2-5 21:20:37 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
飘飘悠悠 该用户已被删除
8#
发表于 2015-2-10 10:22:04 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
admin 该用户已被删除
9#
发表于 2015-3-1 04:10:28 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
再见西城 该用户已被删除
10#
发表于 2015-3-8 13:26:53 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
飘灵儿 该用户已被删除
11#
发表于 2015-3-11 11:07:15 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
透明 该用户已被删除
12#
发表于 2015-3-18 07:28:44 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
小女巫 该用户已被删除
13#
发表于 2015-3-25 13:14:29 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 12:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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