仓酷云

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

[学习教程] JAVA网站制作之关于Condition中会见AQS办法的成绩仓酷云

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

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

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

x
专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。在今天的文章中,我提到“它能够会见AbstractQueuedSynchronizer中的办法和其他外部类(AbstractQueuedSynchronizer是个笼统类,至于他怎样能会见,这里有个很奇奥的点,前面我专门用demo申明)”
如今专门来讲下这个成绩。
AQS中有个public外部类,(没错就是public外部类)完成了Condition接口,叫做ConditionObject:
一样平常,外部类是不同意被界说为public的,这里能够的缘故原由是它的内部类AQS(AbstractQueuedSynchronizer)是笼统类,以是它能够有一个public的外部类。我用一段demo摹拟了这类布局:

能够看到Condition的signal办法能够挪用内部笼统类的enq办法,这里编译经由过程了,是否是以为很奇奥,为何一个public的外部类类还能够挪用内部笼统类的办法呢?
笼统类是不克不及被实例化的,那它的成员办法怎样会被挪用?
因而我写了个demo:

能够看到这里是不克不及间接newCondition的,Condition明显是public的为何不克不及间接new呢?这也是我疑问的中央。
细心揣摩一番后,想起来了,外部类的实例化只要加上static润色符后才能够反面内部类有任何干系,随便举行实例化,你能够把static润色的外部类间接当做一个完整自力的类是往利用。
反之,不论你是否是被public润色,只需是外部类,就必需依托于内部类的一个实例往实例化,这里内部类是笼统的,不克不及间接实例化,那还不复杂,这么做:

经由过程编译了,再运转一下:

用法仍是很奇妙的,没错,Condition和AQS就是这么计划和完成的。

但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是net网页编程beans,谢谢。
再见西城 该用户已被删除
沙发
发表于 2015-1-20 18:52:10 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
小女巫 该用户已被删除
板凳
发表于 2015-1-22 14:44:18 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
活着的死人 该用户已被删除
地板
发表于 2015-1-31 18:37:07 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
第二个灵魂 该用户已被删除
5#
发表于 2015-2-6 20:55:17 | 只看该作者
是一种使用者不需花费很多时间学习的语言
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-11 06:33:53 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
若天明 该用户已被删除
7#
发表于 2015-3-1 23:12:59 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
小妖女 该用户已被删除
8#
发表于 2015-3-11 00:44:15 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
再现理想 该用户已被删除
9#
发表于 2015-3-17 17:08:31 | 只看该作者
是一种为 Internet发展的计算机语言
不帅 该用户已被删除
10#
发表于 2015-3-17 17:08:36 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
老尸 该用户已被删除
11#
发表于 2015-3-17 17:08:40 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
兰色精灵 该用户已被删除
12#
发表于 2015-3-24 12:38:49 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 03:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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