仓酷云
标题:
发布一篇java api之完成(下)
[打印本页]
作者:
第二个灵魂
时间:
2015-1-18 11:24
标题:
发布一篇java api之完成(下)
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.
包装器完成
包装器完成是一种将它们的实践事情托付给一个特定对象集的完成,它在该对象集所供应的功效之上又增添了分外的功效。对designpatterns(计划款式)喜好者来讲,这是一个decorator(油漆工)款式。固然有点异国情调,但的确复杂了然。
这些完成是匿名的:不是供应一个大众类,JDK供应一个staticfactorymethod(静态办法)。一切这些都能够在仅包括静态办法的CollectionsAPI中找到。
同步包装器(SynchronizationWrappers)
同步包装器将主动同步(线程平安的)增加到一个恣意的对象集。6个中心对象集接口中的每个都对应一个静态办法:
publicstaticCollectionsynchronizedCollection(Collectionc);
publicstaticSetsynchronizedSet(Sets);
publicstaticListsynchronizedList(Listlist);
publicstaticMapsynchronizedMap(Mapm);
publicstaticSortedSetsynchronizedSortedSet(SortedSets);
publicstaticSortedMapsynchronizedSortedMap(SortedMapm);
每个如许的办法都前往一个由特定对象集作为后备的同步(线程平安的)Collection。为包管串行存取,一切对后备对象集的存取都必需经由过程前往的对象集来完成,这一点是相当主要的。包管这一点的一个烦琐举措是不要坚持对后备对象集的援用,创立如许的同步对象集是一个小技能:
Listlist=Collections.synchronizedList(newArrayList());
一个用这类体例创立的对象集,每比特都是线程平安的,就象VectorM那样的"一般"同步对象集一样。在必要并发存取情形下,在前往的对象集上迭代时,用户对前往的对象集做手工同步是非常需要的。这是由于迭代是经由过程对对象集的多重挪用完成的,它必需被编写为一个独自的最小单位操纵(atomicoperation)。在一个包装器同步的对象集上的迭代习用程序以下所示:
Collectionc=Collections.synchronizedCollection(myCollection);
synchronized(c){
Iteratori=c.iterator();//Mustbeinthesynchronizedblock!
while(i.hasNext())
foo(i.next());
}
在一个同步Map的Collection视图上的迭代习用程序与上述程序类似,但有一个窍门,那就是,当在同步Map的Collection视图上迭代时,用户必需对同步Map做手工同步,而不是对Collection视图自己做同步:
Mapm=Collections.synchronizedMap(newHashMap());
...
Sets=m.keySet();//Needn"tbeinsynchronizedblock
...
synchronized(m){//Synchronizingonm,nots!
Iteratori=s.iterator();//Mustbeinsynchronizedblock
while(i.hasNext())
foo(i.next());
}
包装器完成的一个小的缺点是你不克不及实行一个包装器完成的非接口操纵。因而,好比在下面的List的例子中,你就不克不及挪用包装的ArrayList上的ensureCapacity操纵。
<p>
JAVA学习必须明确这是一项投资,对于大多数的人来说,学习JAVA是为了就业,还有就是刚走向工作位置的朋友想尽快赶上工作的节奏。
作者:
蒙在股里
时间:
2015-1-21 05:38
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者:
灵魂腐蚀
时间:
2015-1-24 12:41
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
作者:
飘飘悠悠
时间:
2015-2-1 12:09
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
作者:
冷月葬花魂
时间:
2015-2-2 21:45
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
作者:
莫相离
时间:
2015-2-6 16:01
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
作者:
透明
时间:
2015-2-9 18:14
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者:
若相依
时间:
2015-2-22 16:34
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
作者:
第二个灵魂
时间:
2015-2-24 04:33
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
作者:
兰色精灵
时间:
2015-2-26 12:18
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
作者:
活着的死人
时间:
2015-3-1 11:30
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者:
山那边是海
时间:
2015-3-6 07:10
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
作者:
只想知道
时间:
2015-3-6 13:56
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者:
愤怒的大鸟
时间:
2015-3-10 21:47
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
作者:
不帅
时间:
2015-3-17 10:53
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者:
飘灵儿
时间:
2015-3-24 07:42
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2