- 浏览: 3049359 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
Java theory and practice: Stick a fork in it
汗...
Java 7不愧是kitchen-sink...不过这东西看起来又挺实用的,有些时候虽然觉得(在多处理器/多核心环境下)有些地方应该开多线程来做,不过要自己管理那么多东西也确实怪麻烦的。看一例子:
不过这东西要是能配合匿名方法/闭包来做就更简洁了。
话说,Greg Wilson很明显对这东西不感冒。一提到调试器,这并行计算的痛处就又来了一个……
引用
One of the additions to the java.util.concurrent packages coming in Java™ 7 is a framework for fork-join style parallel decomposition. The fork-join abstraction provides a natural mechanism for decomposing many algorithms to effectively exploit hardware parallelism.
汗...
Java 7不愧是kitchen-sink...不过这东西看起来又挺实用的,有些时候虽然觉得(在多处理器/多核心环境下)有些地方应该开多线程来做,不过要自己管理那么多东西也确实怪麻烦的。看一例子:
引用
Listing 3. Solving the select-max problem with the fork-join framework
public class MaxWithFJ extends RecursiveAction { private final int threshold; private final SelectMaxProblem problem; public int result; public MaxWithFJ(SelectMaxProblem problem, int threshold) { this.problem = problem; this.threshold = threshold; } protected void compute() { if (problem.size < threshold) result = problem.solveSequentially(); else { int midpoint = problem.size / 2; MaxWithFJ left = new MaxWithFJ(problem.subproblem(0, midpoint), threshold); MaxWithFJ right = new MaxWithFJ(problem.subproblem(midpoint + 1, problem.size), threshold); coInvoke(left, right); result = Math.max(left.result, right.result); } } public static void main(String[] args) { SelectMaxProblem problem = ... int threshold = ... int nThreads = ... MaxWithFJ mfj = new MaxWithFJ(problem, threshold); ForkJoinExecutor fjPool = new ForkJoinPool(nThreads); fjPool.invoke(mfj); int result = mfj.result; } }
不过这东西要是能配合匿名方法/闭包来做就更简洁了。
话说,Greg Wilson很明显对这东西不感冒。一提到调试器,这并行计算的痛处就又来了一个……
发表评论
-
The Prehistory of Java, HotSpot and Train
2014-06-02 08:18 0http://cs.gmu.edu/cne/itcore/vi ... -
MSJVM and Sun 1.0.x/1.1.x
2014-05-20 18:50 0当年的survey paper: http://www.sym ... -
Sun JDK1.4.2_28有TieredCompilation
2014-05-12 08:48 0原来以前Sun的JDK 1.4.2 update 28就已经有 ... -
IBM JVM notes (2014 ver)
2014-05-11 07:16 0Sovereign JIT http://publib.bou ... -
class data sharing by Apple
2014-03-28 05:17 0class data sharing is implement ... -
Java 8与静态工具类
2014-03-19 08:43 16278以前要在Java里实现所谓“静态工具类”(static uti ... -
Java 8的default method与method resolution
2014-03-19 02:23 10453先看看下面这个代码例子, interface IFoo { ... -
HotSpot Server VM与Server Class Machine
2014-02-18 13:21 0HotSpot VM历来有Client VM与Server V ... -
Java 8的lambda表达式在OpenJDK8中的实现
2014-02-04 12:08 0三月份JDK8就要发布首发了,现在JDK8 release c ... -
GC stack map与deopt stack map的异同
2014-01-08 09:56 0两者之间不并存在包含关系。它们有交集,但也各自有特别的地方。 ... -
HotSpot Server Compiler与data-flow analysis
2014-01-07 17:41 0http://en.wikipedia.org/wiki/Da ... -
字符串的一般封装方式的内存布局 (1): 元数据与字符串内容,整体还是分离?
2013-11-07 17:44 22396(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局
2013-11-01 12:55 0(Disclaimer:未经许可请 ... -
关于string,内存布局,C++ std::string,CoW
2013-10-30 20:45 0(Disclaimer:未经许可请 ... -
对C语义的for循环的基本代码生成模式
2013-10-19 23:12 21874之前有同学在做龙书(第二版)题目,做到8.4的练习,跟我对答案 ... -
Java的instanceof是如何实现的
2013-09-22 16:57 0Java语言规范,Java SE 7版 http://docs ... -
oop、klass、handle的关系
2013-07-30 17:34 0oopDesc及其子类的实例 oop : oopDesc* ... -
Nashorn各种笔记
2013-07-15 17:03 0http://bits.netbeans.org/netbea ... -
《深入理解Java虚拟机(第二版)》书评
2013-07-08 19:19 0值得推荐的中文Java虚拟机入门书 感谢作者赠与的样书,以下 ... -
豆列:从表到里学习JVM实现
2013-06-13 14:13 48367刚写了个学习JVM用的豆列跟大家分享。 豆列地址:http: ...
相关推荐
Java 语言从一开始能够支持线程和并发性;该语言包括像 synchronized 和 volatile 这样的同步原语,而类库包含像 Thread 这样的类。然而,1995 年流行的并发原语反映了当时的硬件现状:大多数商用系统根本没有提供...
看了下Java Tutorials中的fork/join章节,整理下。 什么是fork/join框架 fork/join框架是ExecutorService接口的一个实现,可以帮助开发人员充分利用多核处理器的优势,编写出并行执行的程序,提高应用程序的...
此外,还增强了并发编程的工具,如Fork/Join框架,提高了多线程处理任务的效率。 安装JDK 7u65的过程通常包括以下步骤: 1. 下载适用于64位Windows系统的jdk-7u65-windows-x64.exe文件。 2. 双击执行安装程序,按照...
安装Java JDK 1.7 on Windows x64的步骤非常简单,只需双击下载的“jdk-7u80-windows-x64.exe”文件,然后按照安装向导进行操作。安装过程中,记得选择合适的安装路径,并勾选“添加Java到系统环境变量”选项,以便...
Java Fork/Join 并行框架是 Java 7 中引入的一个并行任务框架,可以将任务分割成足够小的小任务,然后让不同的线程来做这些分割出来的小事情,然后完成之后再进行 join,将小任务的结果组装成大任务的结果。...
The directory <Java home>/sample/forkjoin/ contains samples that demonstrate the fork/join framework. The ThreadLocalRandom class eliminates contention among threads using pseudo-random numbers; see ...
- **Fork/Join Framework**: Introduction to the `ForkJoinPool` and `RecursiveTask` for implementing divide-and-conquer algorithms, improving scalability and responsiveness. **5. Class Files and ...
2. **多线程并发改进**:Java 7对并发编程进行了优化,引入了Fork/Join框架,用于实现并行计算。这个框架将大型任务分解为较小的子任务,然后在多个线程之间分配执行,提高计算效率。 3. **异常处理优化**:Java 7...
1. **Fork/Join框架**:这是Java 7引入的一个用于并行执行任务的框架,它基于分治策略,将大任务分解为小任务,然后并行地执行这些小任务。Fork/Join框架的核心是`ForkJoinPool`,它管理着一系列的工作线程,而`...
8. **并行收集器与并行流**:Java 8的并发库引入了Fork/Join框架,它支持并行执行任务,尤其适用于数据集的并行处理。`ForkJoinPool`和`RecursiveTask`是其核心组件。同时,流API也支持并行操作,如`parallelStream...
Fork/Join框架是Java 7引入的一种并行计算模型,它基于工作窃取算法,适合于分治策略的计算任务。 以上就是Java并发编程的一些核心知识点,理解并掌握这些概念和技术,能够帮助开发者编写出高效、稳定且易于维护的...
8. **并发改进**:Java 7对并发API进行了一些优化,如Fork/Join框架,用于实现高效的并行计算。此外,`ConcurrentHashMap`的性能也有所提升。 9. **改进的数组初始化**:Java 7允许在数组初始化时使用紧凑的语法,...
Chapter 5, Fork/Join Framework will teach the readers to use the new Java 7 Fork/Join framework. It’s a special kind of executor oriented to execute tasks that will be divided into smaller ones using...
13. **Fork/Join框架** - ForkJoinPool:处理并行任务的线程池。 - ForkJoinTask:可拆分的任务,支持递归分解。 14. **并发工具** - CountDownLatch、CyclicBarrier、Semaphore等,用于线程间协调,解决并发...
he Definitive Guide to Lambda Expressions Mastering Lambdas: Java ... the fork/join framework, and exceptions Examining stream performance with microbenchmarking API evolution using default methods
并且增强了并发编程的支持,如Fork/Join框架和新的并发集合类。 总结起来,《Java虚拟机规范(Java SE 7)》涵盖了JVM的各个方面,对于深入理解Java程序的运行机制、优化代码性能以及调试问题具有极高的价值。这份...
此外,Java 7对并行流(Fork/Join Framework)进行了集成,这是Java并发处理的一个重要改进,它允许开发者编写高效且易于管理的多线程程序。ForkJoinPool和RecursiveTask是其中的关键类,它们可以自动管理任务的拆分...