共 32 篇文章
显示摘要每页显示  条
不过看看在下面场景中会发生什么:两个线程启动,第一个线程将变量 A 读取为 5,第二个线程将变量 A 读取为 10。5. 原子字段更新程序。在本文中,我讨论了关于在 Java 平台上编写多线程应用程序您可能不知道的 5 件事,包括同步化方法与同步化代码块之间的不同,为每个线程存储运用 ThreadLocal 变量的价值,被广泛误解的 volatile 关键字(包...
: java.util.concurrent,第 2 部分.import java.util.concurrent.*;Java 开发人员无需直接创建 Thread,他们引入了 Executor 接口,这是对创建新线程的一种抽象。如清单 3 所示,Executor 使您不必亲自对 Thread 对象执行 new 就能够创建新线程:清单 3. Executor.尽管不必担心 Thread 来自何处,但 Executor 接口缺乏 Java 开发人员可能期望...
: Java 性能监控,第 2 部分.这种区分 Java 进程的方法非常重要,因为只要涉及操作系统,所有的 Java 进程都被统称为 “java”。2. jstat (sun.tools.jstat)不幸的是,jmap 没有像 jstat 一样的 period-and-max-count 选项,但是将 jmap(或 jmap.main())调用放入 shell 脚本或其他类的循环,周期性地拍摄快照相对简单。JDK 工具和实用程序:...
在本期 5 件事 系列中,我将向您展示 5 个方法,使您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。JConsole(或者 Java 平台最新版本,VisualVM)是一个内置分析器,它同 Java 编译器一样容易启动。JConsole 从 Java 5 开始就随着 Java 平台版本一起发布,而 VisualVM 是在 ...
: Java 常用工具。import java.io.*;public class Servant{ public static void main(String[] args) throws IOException { ServiceLoader<IPersonalServant> servantLoader = ServiceLoader.load(IPersonalServant.class);public class Igor implements IPersonalServant{ public boolean can(St...
: Java 对象序列化。Java 序列化简介。清单 3. 将新字段添加到序列化的 Person 中。一旦有了 Person 的 serialVersionUID,不仅可以从原始对象 Person 的序列化数据创建 PersonV2 对象(当出现新字段时,新字段被设为缺省值,最常见的是“null”),还可以反过来做:即从 PersonV2 的数据通过反序列化得到 Person,这毫不奇怪。幸运的是,序列...
验证 ResultSet 类型。您不需要为第二个参数指定 ResultSet.CONCUR_READ_ONLY,只需要发送 ResultSet.CONCUR_UPDATEABLE 即可,如 清单 5 所示: 清单 5. 我想要一个可更新的 ResultSet.从概念上讲,Rowset 本质上是一个 ResultSet,但是它支持连接模型或断开模型,您所需要做的是创建一个 Rowset,将其指向一个 ResultSet,当它完成自我填充...
return new Iterable<String>() { public <code>Iterator</code><String> iterator() { return new <code>Iterator</code><String>() { public boolean hasNext() { return line !public class Person implements Iterable...
: Java Collections API ,第 1 部分.}// App.javapublic class App{ public static void main(String[] args) { Person ted = new Person("Ted", "Neward", 39, new Person("Michael", "Neward", 16), new Person("Matthew", "Neward", 10...
: JVM 命令行标志。不熟悉 JVM 将不仅会影响应用程序性能,而且当 JVM 出问题时,尝试修复也会很困难。我列出了 JVM 中提供的我喜欢的命令行选项,但是还有一些更多的需要您自己发现,运行命令行参数 -X,列出 JVM 提供的所有非标准(但大部分都是安全的)参数 — 例如:在生产环境中,命令行标志不是为永久使用而设计的 — 事实上,除了您终止...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部