莫相离 发表于 2015-1-18 11:31:17

来看Java编程那些事儿100――多线程成绩及处置3

关于第二点:俺问问你,如果是企业级项目的话,诸如RMI,EJB,等一些关键技术,这些难道都不需要学么?如果光是使用jsp,servlet,javabean的话。
12.4.3逝世锁
多线程编程在实践的收集程序开辟中,在客户端程序完成中利用的对照复杂,可是在服务器端程序完成中却不但是大批利用,并且会呈现比客户端更多的成绩。
别的一个简单在服务器端呈现的多线程成绩是——逝世锁。逝世锁指两个或两个以上的线程为了利用某个临界资本而无穷制的守候下往。仍是之前面洗手间的例子来讲明逝世锁,比方两团体都同时抵达洗手间,并且两团体都对照规矩,第一团体和第二团体说:你先吧,第二团体和第一团体说:你先吧。这两团体就如许一向在相互谦逊,谁也不进进,这类征象就是逝世锁。这里的两团体就比如是线程,而洗手间在这里就是临界资本,而因为这两个线程在一向忍让,谁也不利用临界资本。
逝世锁不但使程序没法到达预期完成的功效,并且华侈体系的资本,以是在服务器端程序中伤害对照年夜,在实践的服务器端程序开辟中,必要注重制止逝世锁。
而逝世锁的检测对照贫苦,并且纷歧定每次都呈现,这就必要在测试服务器端程序时,有充足的耐烦,细心察看程序实行时的功能检测,假如发明实行的功能明显下降,则极可能是产生了逝世锁,然后再详细的查找逝世锁呈现的缘故原由,并办理逝世锁的成绩。
逝世锁呈现的最实质缘故原由仍是逻辑处置不敷松散,在思索时不是很全面,以是一样平常必要修正程序逻辑才干够很好的办理逝世锁。
12.4.4线程优先级
在一样平常生存中,比方火车售票窗口等常常能够看到“XXX优先”,那末多线程编程中每一个线程是不是也能够设置优先级呢?
在多线程编程中,撑持为每一个线程设置优先级。优先级高的线程在列队实行时会取得更多的CPU实行工夫,失掉更快的呼应。在实践程序中,能够依据逻辑的必要,将必要失掉实时处置的线程设置成较高的优先级,而把对工夫请求不高的线程设置成对照低的优先级。
在Thread类中,总计划定了三个优先级,分离为:
●MAX_PRIORITY——最高优先级
●NORM_PRIORITY——一般优先级,也是默许优先级
●MIN_PRIORITY——最低优先级
在后面创立的线程对象中,因为没有设置线程的优先级,则线程默许的优先级是NORM_PRIORITY,在实践利用时,也能够依据必要利用Thread类中的setPriority办法设置线程的优先级,该办法的声明为:
publicfinalvoidsetPriority(intnewPriority)
假定t是一个初始化过的线程对象,必要设置t的优先级为最高,则完成的代码为:
t.setPriority(Thread.MAX_PRIORITY);
如许,在该线程实行时将取得更多的实行时机,也就是优先实行。假如因为平安等缘故原由,不同意设置线程的优先级,则会抛出SecurityException非常。
<p>
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?

金色的骷髅 发表于 2015-1-21 09:21:38

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

愤怒的大鸟 发表于 2015-1-30 13:24:58

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

分手快乐 发表于 2015-1-30 23:34:24

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

若相依 发表于 2015-1-31 18:43:17

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

再见西城 发表于 2015-2-5 14:40:52

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

admin 发表于 2015-2-6 00:15:02

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

兰色精灵 发表于 2015-2-8 16:55:21

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

不帅 发表于 2015-2-25 21:03:51

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

小女巫 发表于 2015-2-27 04:25:13

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

简单生活 发表于 2015-3-8 19:57:36

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

老尸 发表于 2015-3-10 22:30:21

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

乐观 发表于 2015-3-11 06:07:47

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

因胸联盟 发表于 2015-3-17 22:08:08

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

飘灵儿 发表于 2015-3-17 22:08:12

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

谁可相欹 发表于 2015-3-17 22:08:13

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

小魔女 发表于 2015-3-17 22:08:13

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

再现理想 发表于 2015-3-25 03:23:30

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

活着的死人 发表于 2015-4-1 04:11:21

是一种将安全性(Security)列为第一优先考虑的语言

海妖 发表于 2015-4-13 16:25:07

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
页: [1] 2
查看完整版本: 来看Java编程那些事儿100――多线程成绩及处置3