随笔分类 - Java
摘要:这篇文章解释了Java 虚拟机(JVM)的内部架构。下图显示了遵守Java SE 7 规范的典型的 JVM 核心内部组件。 上图显示的组件分两个章节解释。第一章讨论针对每个线程创建的组件,第二章节讨论了线程无关组件。 线程 JVM 系统线程 每个线程相关的 程序计数器 栈 本地栈 栈限制 栈帧 局部
阅读全文
摘要:GUI事件处理和绘图代码在一个被称为事件分发线程的特殊线程中执行。如果一个事件需要很长的时间处理,线程就不能顾及到队列中的其他任务。为了解决这个问题,可以运行费时的任务来处理单独线程中的事件。SwingWorker是一个实现Runnable的抽象类,可以定义一个任务来扩展SwingWorker,使用
阅读全文
摘要:通过保证临界区上多个线程的相互排斥,线程同步完全可以避免竞争状态的发生,但是有时还需要线程之间的协作。有两种方式可用于线程间的通信。 1.使用条件Condition Condition接口: 1 +await():void 当前线程等待直到发生某个条件 2 +signal():void 唤醒一个等待
阅读全文
摘要:如果一个共享资源被多个线程同时访问,可能会遭到破坏。举个例子说明这个问题,假设创建并启动100个线程,每个线程都往同一个账户中添加一个便士,代码如下: 1 import java.util.concurrent.ExecutorService; 2 import java.util.concurre
阅读全文
摘要:创建任务和线程 任务就是对象,为了创建任务,必须首先为任务定义一个类。任务类必须实现Runnable接口。Runnable接口非常简单,它只有一个run方法。需要实现这个方法来告诉系统线程将如何运行。 任务必须在线程中执行。Thread类包括创建线程的构造方法以及控制线程的很多有用的方法。 1 +T
阅读全文
摘要:1.首先在命令行下运行jar包看文件是否报错(java -jar jar文件名称.jar) 如果程序中有System.out.println()语句,不想让其输出到控制台而保存到文件中, 则可用命令:java -jar jar文件名称.jat >test.txt ,此时输出信息会打印到test.tx
阅读全文

浙公网安备 33010602011771号