仓酷云

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

[学习教程] JAVA编程:实战Java多线程编程之不倡始的办法

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

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

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

x
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。编程|多线程  不倡始利用的办法是为撑持向后兼容性而保存的那些办法,它们在今后的版本中大概呈现,也大概不呈现。Java多线程撑持在版本1.1和版本1.2中做了严重订正,stop()、suspend()和resume()函数已不倡始利用。这些函数在JVM中大概引进奇妙的毛病。固然函数名大概听起来很诱人,但请抵抗勾引不要利用它们。

  调试线程化的程序

  在线程化的程序中,大概产生的某些罕见而厌恶的情形是逝世锁、活锁、内存破坏和资本耗尽。

  逝世锁

  逝世锁多是多线程程序最多见的成绩。当一个线程必要一个资本而另外一个线程持有该资本的锁时,就会产生逝世锁。这类情形一般很难检测。可是,办理计划却相称好:在一切的线程中按不异的序次猎取一切资本锁。比方,假如有四个资本―A、B、C和D―而且一个线程大概要猎取四个资本中任何一个资本的锁,则请确保在猎取对B的锁之前起首猎取对A的锁,依此类推。假如“线程1”但愿猎取对B和C的锁,而“线程2”猎取了A、C和D的锁,则这一手艺大概招致堵塞,但它永久不会在这四个锁上形成逝世锁。

  活锁

  当一个线程忙于承受新义务乃至它永久没无机会完成任何义务时,就会产生活锁。这个线程终极将超越缓冲区并招致程序溃散。试想一个秘书必要录进一封信,但她一向在忙于接德律风,以是这封信永久不会被录进。

  内存破坏

  假如明智地利用synchronized关头字,则完整能够制止内存毛病这类气逝世人的成绩。

  资本耗尽

  某些体系资本是无限的,如文件形貌符。多线程程序大概耗尽资本,由于每一个线程都大概但愿有一个如许的资本。假如线程数相称年夜,大概某个资本的侯选线程数远远凌驾了可用的资本数,则最好利用资本池。一个最好的示例是数据库毗连池。只需线程必要利用一个数据库毗连,它就从池中掏出一个,利用今后再将它前往池中。资本池也称为资本库。

  调试大批的线程

  偶然一个程序由于有大批的线程在运转而极难调试。在这类情形下,上面的这个类大概会派上用处:

  publicclassProbeextendsThread{
  publicProbe(){}
  publicvoidrun(){

  while(true){
  Thread[]x=newThread[100];
  Thread.enumerate(x);

  for(inti=0;i<100;i++){
   Threadt=x;
   if(t==null)
    break;
   else
    System.out.println(t.getName()+"        "+t.getPriority()
  +"        "+t.isAlive()+"        "+t.isDaemon());
  }
  }
  }
  }
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-20 19:11:58 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
海妖 该用户已被删除
板凳
发表于 2015-1-25 12:54:09 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
活着的死人 该用户已被删除
地板
发表于 2015-2-2 22:08:01 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
admin 该用户已被删除
5#
发表于 2015-2-8 09:58:18 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
再现理想 该用户已被删除
6#
发表于 2015-2-22 14:45:48 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
再见西城 该用户已被删除
7#
发表于 2015-2-23 09:43:24 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
若相依 该用户已被删除
8#
发表于 2015-2-27 00:53:27 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-8 18:45:59 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
10#
发表于 2015-3-12 21:54:37 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
若天明 该用户已被删除
11#
发表于 2015-3-13 04:10:53 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
莫相离 该用户已被删除
12#
发表于 2015-3-20 12:30:48 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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