- 博客(69)
- 收藏
- 关注
原创 什么是线程?
什么是线程?究竟什么是线程呢?正如在图A中所示,一个线程是给定的指令的序列 (你所编写的代码),一个栈(在给定的方法中定义的变量),以及一些共享数据(类一级的变量)。线程也可以从全局类中访问静态数据。栈以及可能的一些共享数据每个线程有其自己的堆栈和程序计数器(PC)。你可以把程序计数器(PC)设想为用于跟踪线程正在执行的指令,而堆栈用于跟踪线程的上下文,上下文是当线程执行到某处时,当前的局部变量的
2009-02-12 09:06:00
214
原创 采用多线程制作动画
import java.awt.*;import java.applet.*;//注意到这个程序和Hello程序有什么不一样吗?在这个程序中多了implements Runnable。public class carton extends Applet implements Runnable {Image img;Thread thd = null;int i;int imgWidth
2009-02-11 09:25:00
217
原创 当主线程崩溃而其它线程继续运行时发生什么?
内容: 孤线程模式 症状 治疗和预防措施 总结 参考资料 关于作者 对本文的评价 当主线程崩溃而其它线程继续运行时发生什么?Eric E. Allen(eallen@cs.rice.edu)博士研究生候选人,Rice 大学2001 年 8 月在多线程代码中,使用驱动其它线程所负责的动作的单个主线程是常见的。这个主线程发送消息,通常是通过把它们放到一个队列中,然后其它线程处理这些消息。但是如果主线程
2009-02-10 09:27:00
273
原创 用Java实现多线程服务器程序
天津大学管理学院 崔航---- 摘要:在Java出现之前,编写多线程程序是一件烦琐且伴随许多不安全因素的事情。利用Java,编写安全高效的多线程程序变得简单,而且利用多线程和Java的网络包我们可以方便的实现多线程服务器程序。 ---- Java是伴随Internet的大潮产生的,对网络及多线程具有内在的支持,具有网络时代编程语言的一切特点。从Java的当前应用看,Java主要用于在Interne
2009-02-08 09:12:00
175
原创 深入浅出Java多线程程序设计.doc
一:理解多线程????多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。????多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只
2009-02-07 09:13:00
159
原创 不要重新分配被锁定对象的对象引用
Peter Haggar IBM 高级软件工程师 编者按:本文是从“Practical Java”(Addison-Wesley 出版)一书节选而来的。您可以从 Borders.com 订购该书。请阅读我们对作者 Peter Haggar 的采访。 synchronized 关键字锁定对象。对象是在 synchronized 代码内部被锁定的,这一点对此对象以及您对其对象引用所作的更改意味着什么呢
2009-02-06 13:20:00
141
原创 用JDBC开发基于客户/服务器模式的Internet/Intranet数
1、概述 随着Internet/Intranet的普及以及WEB技术的发展,人们对信息的需求越来越强烈,数据库与Internet/Intranet应用软件的集成已经成为了非常迫切的问题。互联网上数据库产品的复杂,有限的带宽,以及互联网上软件产品的跨平台性,将是我们遇到的最大困难。本文通过作者的工作实践,介绍了JDBC规范及应用JAVA的SOCKET机制,以及JAVA的客户/服务器计算模式,最后根据
2009-02-05 09:33:00
162
原创 编写多线程的 Java 应用程序
Alex Roetter (aroetter@CS.Stanford.edu)Teton Data Systems 的软件工程师2001 年 2 月 Java Thread API 允许程序员编写具有多处理机制优点的应用程序,在后台处理任务的同时保持用户所需的交互感。Alex Roetter 介绍了 Java Thread API,并概述多线程可能引起的问题以及常见问题的解决方案。
2009-02-04 09:30:00
153
原创 编写高效的线程安全类
在语言级支持锁定对象和线程间发信使编写线程安全类变得简单。本文使用简单的编程示例来说明开发高效的线程安全类是多么有效而直观。 Java 编程语言为编写多线程应用程序提供强大的语言支持。但是,编写有用的、没有错误的多线程程序仍然比较困难。本文试图概述几种方法,程序员可用这几种方法来创建高效的线程安全类。并发性 只有当要解决
2009-02-03 09:19:00
148
原创 Java 程序中的多线程
Neel V. Kumar Terway.com 软件工程师 2000 年 3 月内容: 为什么会排队等待? 实现线程 高级多线程 不提倡使用的方法 调试线程 调试若干个线程 限制线程优先级 小结 参考资料 作者简介
2009-02-02 09:30:00
139
原创 关于线程的讲解?(出自Java原著)
Thread Scheduling In Java technology,threads are usually preemptive,but not necessarily Time-sliced(the process of giving each thread an equal amount of CPU time).It is common mistake to believe that
2009-01-20 09:39:00
197
原创 Java多线程之ThreadLocal
ThreadLocal的核心思想很简单:为每个独立的线程提供一个变量的副本。 Java提供的synchronized关键字使用了“同步锁”的机制来阻止线程的竞争访问,即“以时间换空间”。: " 10pt; FONT-SIZE:> ThreadLocal则使用了“拷贝副本”的方式,人人有份,你用你的,我用我的,大家互不影响,是“以空间换时间”。每个线程修改变量时,实际上修
2009-01-19 09:35:00
244
原创 用多线程又有几种常用的编程模型
我这里可以大概给你介绍一下,但对于每一种编程模型要看具体的示例是什么,而且我不可能给你罗列所有的代码,请谅解。 其实我们编程只要尽量站到比较高的层次,很多道理其实你会发现你已经懂了。 就多线程来说,我们开始设想只有两个线程(>2时是不是算数学归纳法?)那么如果两个独立的线程会发生什么呢? 1。当一个线程进入moniter(也就是说站用一个object),另一个线程只有等待或返回,而我们把返回就称为
2009-01-17 09:02:00
176
原创 用Java实现多线程服务器程序
---- 摘要:在Java出现之前,编写多线程程序是一件烦琐且伴随许多不安全因素的事情。利用Java,编写安全高效的多线程程序变得简单,而且利用多线程和Java的网络包我们可以方便的实现多线程服务器程序。 ---- Java是伴随Internet的大潮产生的,对网络及多线程具有内在的支持,具有网络时代编程语言的一切特点。从Java的当前应用看,Java主要用于在Internet或局域网上的网络编程
2009-01-16 09:24:00
146
原创 线程堆:给你的线程命名,察看你的系统
集成开发环境(IDE)能给图形界面应用程序提供一个很好的调试工具,但是它却不能调试一个多线程的Java服务器程序。 幸运的是,有几种工具,例如logging应用程序接口(API)或者Java Debugger可以用来调试Java服务器程序。开发者还能使用一个系统的线程堆在任何时候观察系统的状态。 运行服务器,然后按[ctrl] [/],会运行一个系统线程堆,这样将输出当前运行的所有线程,例如: ^
2009-01-15 09:35:00
174
原创 编写多线程Java应用程序常见问题
几乎所有使用 AWT 或 Swing 编写的画图程序都需要多线程。但多线程程序会造成许多困难,刚开始编程的开发者常常会发现他们被一些问题所折磨,例如不正确的程序行为或死锁。 在本文中,我们将探讨使用多线程时遇到的问题,并提出那些常见陷阱的解决方案。 线程是什么? 一个程序或进程能够包含多个线程,这些线程可以根据程序的代码执行相应的指令。多
2009-01-14 09:15:00
153
原创 Java多线程Socket操作猜数游戏样例
1 服务器端程序,接受连接并处理客户端的请求ServerApp.javapackage test; import java.io.*; import java.net.*; /** *//*** 服务器端程序* * @author luxuan310,修正赵学庆。* */public class ServerApp ...{static final int PORT = 9000; private
2009-01-13 08:57:00
223
原创 JAVA教程:解析Java的多线程机制
一、进程与应用程序的区别 进程(Process)是最初定义在Unix等多用户、多任务操作系统环境下用于表示应用程序在内存环境中基本执行单元的概念。以Unix操作系统为例,进程是Unix操作系统环境中的基本成分、是系统资源分配的基本单位。Unix操作系统中完成的几乎所有用户管理和资源分配等工作都是通过操作系统对应用程序进程的控制来实现的。 C、C++、Java等语言编写的源程序经
2009-01-12 10:01:00
150
原创 java高级多线程编程(一)--关于线程的停止问题
多线程是java的一个优势,java使得程序员可以很方便的进行多线程程序开发。获得更好的性能。 关于多线程的概念以及一般的多线程编程,比如如何以及为何实现runnable接口,为何stop()会被Deprecated掉等等,这个请看matrix之前的多线程编程基础或者sun的java文档。 关于多线程编程,有几点这里要提到的: 1。既然stop()是不被推荐的,那么我们如何停止一个线程呢?直接k
2009-01-10 09:27:00
205
原创 命名你的线程和查看系统
虽然集成开发环境(IDE)可以为图形化应用程序提供很好的调试设置,但是它不允许你调试多线程的Java服务器程序。 幸运的是,有几个工具可以做到,例如日志应用程序接口(API)和Java调试器。开发人员也可以获得系统的线程转储,它可以在任何时间显示出系统状态。 为了得到系统线程转储,运行服务器程序并键入[Ctrl] [/]。这会输出所有正在执行的线程。例如: ^/Full thread dump:
2009-01-09 09:25:00
187
原创 命名你的线程和查看系统
虽然集成开发环境(IDE)可以为图形化应用程序提供很好的调试设置,但是它不允许你调试多线程的Java服务器程序。 幸运的是,有几个工具可以做到,例如日志应用程序接口(API)和Java调试器。开发人员也可以获得系统的线程转储,它可以在任何时间显示出系统状态。 为了得到系统线程转储,运行服务器程序并键入[Ctrl] [/]。这会输出所有正在执行的线程。例如: ^/Full thread dump:
2009-01-09 09:24:00
133
原创 修正Java中wait方法超时语意模糊性的一种方案
Java语言中内建了对于多线程的支持,可以非常方便的创建、控制线程以及在线程之间进行同步操作。另外,为了支持更为高级的线程间同步机制,比如:类似于POSIX中的条件变量,Java在Object类中提供了wait、notify和notifyAll方法,使得所有的类都隐式的继承了这些方法。特别地,为了提供对于程序健壮性方面的考虑,在Java中提供了对于wait方法超时语意的支持。但是Java在对于wa
2009-01-08 09:16:00
171
原创 多线程学习初步
import java.io.*; //多线程编程 public class MultiThread { public static void main(String args[]) { System.out.println("我是主线程!"); //下面创建线程实例thread1 ThreadUseExtends thread1=new ThreadUseExtends(); //创建threa
2009-01-07 09:36:00
136
原创 Java Thread in JVM
本文从JVM的角度探讨Java Thread的语法和编译结果。如果需要获得第一手资料,请直接访问以下的资源——Java语言规范,Java虚拟机规范中有关线程的定义说明。 本文旨在介绍这些比较重要的线程相关的规范,基本上不另作发挥。(除了提到微软的“公共语言基础构造”。:-) Java Language Specification http://java.sun.com/docs/books/jls
2009-01-06 09:13:00
212
原创 超线程多核心下Java多线程编程技术分析
阅读提要:在引入Java多线程技术后,几乎所有应用程序的开发在性能上都得到了很大的改进。本文将通过探讨超线程技术以及新出现的多核心Intel处理器技术来分析这些线程技术是怎样成为Java编程的一个标准部分的。 一、Java环境下的多线程技术 构建线程化的应用程序往往会对程序带来重要的性能影响。例如,请考虑这样一个程序,它从磁盘读取大量数据并且在把它们写到屏幕之前处理这些数据(例如一个DVD
2009-01-05 09:31:00
203
原创 java中的synchronized关键字
由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。 需要明确的几个问题: 1)synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。如果再细的分类,synchronized可作用于instance变量
2009-01-04 10:39:00
218
原创 从socket中读取数据时使用超时JAVA技术文章
Java 1.4在Java API加入了非阻塞I/O(non-blocking I/O),不过Java 1.3和更早的版本都不支持这样的特性。然而,你可以用java.net.Socket类的超时属性来获得一些类似于非阻塞I/O的功能。 要使用超时属性,首先你要创建一个socket,然后设置你期望的超时时间。setSoTimeout方法有一个参数,这个int型参数指定了socket在抛出一个违例前
2008-12-31 09:16:00
193
原创 从socket中读取数据时使用超时JAVA技术文章
Java 1.4在Java API加入了非阻塞I/O(non-blocking I/O),不过Java 1.3和更早的版本都不支持这样的特性。然而,你可以用java.net.Socket类的超时属性来获得一些类似于非阻塞I/O的功能。 要使用超时属性,首先你要创建一个socket,然后设置你期望的超时时间。setSoTimeout方法有一个参数,这个int型参数指定了socket在抛出一个违例前
2008-12-30 10:43:00
195
原创 从socket中读取数据时使用超时
Java 1.4在Java API加入了非阻塞I/O(non-blocking I/O),不过Java 1.3和更早的版本都不支持这样的特性。然而,你可以用java.net.Socket类的超时属性来获得一些类似于非阻塞I/O的功能。 要使用超时属性,首先你要创建一个socket,然后设置你期望的超时时间。setSoTimeout方法有一个参数,这个int型参数指定了socket在抛出一个违例前
2008-12-29 09:54:00
213
原创 Java虚拟机
一、 什么是Java虚拟机 Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 1.为什么要使用Java虚拟机? Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行, 至少需要编译成不同的目标代码。而引入Java语言
2008-12-28 09:28:00
145
原创 Java解析网络数据流的三种特殊方法
Java作为最开放的语言,已越来越受到网络程序员的青睐。但这一青睐族有着同样的经历——曾经都为网络上通信的Java数据格式而烦脑。笔者也不例外,曾经为此而查阅了很多文档,经过反复测试才得以解决,如今笔者已经在所从事的很多电子政务项目中顺利的应用。今天笔者写此文,介绍用Java解析网络数据的三种特殊方法,希望对正在寻求这方面问题答案的读者有所帮助。UTF8转换成GB2312 当我们在
2008-12-27 09:12:00
110
原创 在CMP实体BEAN中使用BLOB数据类型
在Oracle这样的关系数据库中,CLOB和BLOB类型被用来存放大对象。BOLB表示二进制大对象,这种数据类型通过用来保存图片,图象,视频等。CLOB表示字符大对象,能够存放大量基于字符的数据。JDBC定义java类型java.sql.Clob 和java.sql.Blob 对应数据库中的CLOB和BLOB类型。然而这两种类型并不能在实体BEAN中使用,因为这两个类没有被序列化(Serializ
2008-12-25 09:44:00
368
原创 Sun将Java DB添加到Java开发工具集中
Java技术的发明者和领先创新者Sun Microsystems公司今天宣布, 它将把Java DB、Sun支持的开源Apache Derby项目分销版,以及编码名称为Project Matisse的NetBeans GUI Builder中的Group Layout组件合并到Java平台标准版第6版(Java SE 6)的Java开发工具集(JDK)的最新版本中。此外,Sun还发布了与方正科技(
2008-12-24 09:38:00
420
原创 谈谈JDBC接口技术
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface应用程序设计接口)。它由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。 一、ODBC到JDBC的发展历程 说到JDBC,很容易让人联想到另一个十分熟悉
2008-12-23 09:54:00
126
原创 Java技巧:创建Excel格式的数据
Java技巧:创建Excel格式的数据 到目前为止,通过一个Servlet或者JSP生成一个逗号分割值(CSV)文件,然后作为MIME类型text/csv返回给浏览器,这还是在Java应用中创建Microsoft Excel文件的最常用的方法。浏览器会调用Excel,并显示CSV格式的文件。 现在有了一个为Java开发人员提供能够真正创建Excel文件的方案。这就是一个称作POI(“可怜的混乱实现
2008-12-22 09:48:00
175
原创 当主线程崩溃而其它线程继续运行时发生什么?
内容: 孤线程模式 症状 治疗和预防措施 总结 参考资料 关于作者 对本文的评价 当主线程崩溃而其它线程继续运行时发生什么? Eric E. Allen(eallen@cs.rice.edu) 博士研究生候选人,Rice 大学 2001 年 8 月 在多线程代码中,使用驱动其它线程所负责的动作的单个主线程是常见的。这个主线程发送消息,通常是通过把它们放到一个队列中,然后其它线程处理这些消息。但是如
2008-12-20 09:27:00
163
原创 用Java程序生成文本的捷径
大多数程序都需要输出一些文本,比如邮件消息、HTML文件或控制台输出。但是,计算机本质上只能处理二进制数据,程序员必须让软件来生成可理解的文本。在这篇文章中,我要介绍的是在生成和输出文本时,为何使用模板引擎能够节省时间。你将了解模板的优点,如何针对不同的情形创建高效的模板。和System.println说再见! 虽然程序员可以很轻松地编写出输出文字信息的代码(因为这毕竟是从Hello World范
2008-12-19 09:49:00
195
原创 反汇编器-javap.exe
javap反汇编器 javap命令反汇编一个java字节代码文件, 返回有关可变部分和成员函数的信息,其命令行如下: C:/>javap options classname additionalClasses javap的标准输出是公有变量和类的成员函数。javap反汇编器的命令行选项如下表: 选项 功能 -h 此选项将建立能够放入C头文件中的信息 -p 此选项将使javap输出私有
2008-12-18 10:34:00
160
原创 应用Java技术实现数据库应用系统
应用Java技术实现数据库应用系统 [内容提要] 本文详细介绍了Java数据库编程的JDBC API及java.sql包。并以 Java 技术设计、开发、实践的一个数据库应用管理系统案例为模板,结合 Java2 平台程序进行说明 Java 面向对象的语言的开发思路、语言特色、安全机制以及案例的具体实现步骤、方法及过程等。相信通过本文的介绍,广大的开发者会领略 Java 面向对象语言的风采,深深体会
2008-12-17 09:14:00
285
原创 Oracle 操作图片
package testapp;import java.sql.*;import java.io.*;public class Blobtest { public Blobtest() { } public static void main (String args []) throws SQLException, IOException { //write(); read(); } static
2008-12-16 11:51:00
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人