仓酷云

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

[学习教程] JAVA教程之利用技能:Java程序开辟中怎样使用线程...

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

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

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

x
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听,程序|技能<Pstyle="TEXT-INDENT:2em">Java平台从入手下手就被计划成为多线程情况。在你的主程序实行的时分,别的功课如碎片搜集和事务处置则是在背景举行的。<Pstyle="TEXT-INDENT:2em">实质上,你能够以为这些功课是线程。它们恰好是体系办理线程,可是不管怎样,它们是线程。线程使你可以界说互相自力的功课,相互之间互不搅扰。体系将互换这些功课进或出cpu,如许(从内部看来)它们好象是同时运转的。<Pstyle="TEXT-INDENT:2em">在你必要在你的程序中处置多个功课时,你也能够利用多个历程。这些历程能够是你本人创立的,你也能够利用体系线程。你举行这些多功课处置,要利用几个分歧的类或接口:<Pstyle="TEXT-INDENT:2em">java.util.timer类<Pstyle="TEXT-INDENT:2em">javax.swing.timer类<Pstyle="TEXT-INDENT:2em">thread类<Pstyle="TEXT-INDENT:2em">runnable接口<Pstyle="TEXT-INDENT:2em">关于复杂的功课,一般必要反复的,你可使用java.util.timer类告知它“每半秒钟做一次”。注重:年夜多半体系例程是利用毫秒的。半秒钟是500毫秒。<Pstyle="TEXT-INDENT:2em">你但愿timer完成的义务是在java.util.timertask实例中界说的,个中运转的办法包括要实行的义务。这些在hi类中举行了演示,个中字符串“hi”反复地被显现在屏幕上,直到你按enter键。<Pstyle="TEXT-INDENT:2em">
  1. importjava.util.*;    publicclasshi  {  publicstaticvoidmain  (stringargs);  timer.cancel();  }  }
复制代码
<Pstyle="TEXT-INDENT:2em">javaruntimeenvironment事情的体例是只需有一个线程在运转,程序就不加入。如许,当作废被挪用,没有别的线程在运转了,则程序加入。有一些体系线程在运转,如碎片搜集程序。这些体系线程也被称为背景线程。背景线程的存在不影响运转情况被封闭,只要非背景线程包管运转情况不被封闭。<Pstyle="TEXT-INDENT:2em">javax.swing.timer类与java.util.timer类的事情体例类似,可是有一些不同必要注重。第一,运转的功课被actionlistener接口的完成来界说。第二,功课的实行是在事务处置线程外部举行的,而不象java.util.timer类是在它的内部。这是很主要的,由于它干系到swing组件集是怎样计划的。<Pstyle="TEXT-INDENT:2em">假如你不熟习swing,它是一组能够被java程序利用的图形组件。swing被计划程被称为单线程的。这意味着对swing类外部内容的会见必需在单个线程中完成。这个特定的线程是事务处置线程。<Pstyle="TEXT-INDENT:2em">如许,比方你想改动label组件的笔墨,你不克不及仅仅挪用jlabel的settext办法。相反,你必需确认settext挪用产生在事务处置线程中,而这恰是javax.swing.time类派的上用处的中央。<Pstyle="TEXT-INDENT:2em">为了申明这第二种情形,上面的程序显现一个增添的计数器的值。美半秒钟计数器的数值增添,而且新的数值被显现:<Pstyle="TEXT-INDENT:2em">
  1. importjavax.swing.*;  importjava.awt.*;  importjava.awt.event.*;    publicclasscount  {  publicstaticvoid  main(stringargs)  {  finalstringurlstring=args;  finalstringmessage=args;  threadthread1=newthread()  {  publicvoidrun()  {  try  {  urlurl=newurl(urlstring);  urlconnectionconnection=  url.openconnection();  inputstreamreaderisr=new  inputstreamreader(  connection.getinputstream());  bufferedreaderreader=  newbufferedreader(isr);  intcount=0;  while(reader.read()!=-1)  {  count++;  }  system.out.println("sizeis:"  +count);  reader.close();  }catch(malformedurlexceptione)  {  system.err.println("badurl:"  +urlstring);  }catch(ioexceptione)  {  system.err.println  ("i/oproblems");  }  }  };  thread1.start();  runnablerunnable=newrunnable()  {  publicvoidrun()  {  while(true)  {  system.out.println(message);  try  {  thread.sleep(500);  }catch(interruptedexceptione)  {  }  }  }  };  threadthread2=newthread(runnable);  thread2.start();  try{  system.out.println  ("pressentertostop");  system.in.read(newbyte);  }catch(ioexceptione)  {  system.out.println("i/oproblems");  }  system.exit(0);  }  }
复制代码
由于有多种体例来处置线程,你选用哪一种手艺取决于你和你面对的前提。要成为一个无效的java编程职员,只管你一般不用进修java编程言语的一切内容和中心库,可是线程是一个破例。你越早懂得线程怎样事情和怎样利用线程,你将越早懂得java程序怎样事情和交互。

其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点:
活着的死人 该用户已被删除
沙发
发表于 2015-1-20 19:39:24 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
因胸联盟 该用户已被删除
板凳
发表于 2015-1-24 12:38:25 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-1 11:12:57 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-2 21:32:57 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
蒙在股里 该用户已被删除
6#
发表于 2015-2-6 15:23:48 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
飘飘悠悠 该用户已被删除
7#
发表于 2015-2-8 09:54:07 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
乐观 该用户已被删除
8#
发表于 2015-2-10 04:50:34 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
谁可相欹 该用户已被删除
9#
发表于 2015-2-28 20:14:21 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
若相依 该用户已被删除
10#
发表于 2015-3-10 07:50:25 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
老尸 该用户已被删除
11#
发表于 2015-3-10 08:21:14 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
变相怪杰 该用户已被删除
12#
发表于 2015-3-10 15:04:29 | 只看该作者
是一种突破用户端机器环境和CPU
爱飞 该用户已被删除
13#
发表于 2015-3-11 02:06:40 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
小妖女 该用户已被删除
14#
发表于 2015-3-11 14:08:35 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
山那边是海 该用户已被删除
15#
发表于 2015-3-18 17:36:28 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
深爱那片海 该用户已被删除
16#
 楼主| 发表于 2015-3-26 06:04:25 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 14:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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