Defonds 的专栏

本博客文章大部分来自于互联网的某个角落(少许原创除外).为尊重原作者劳动付出,转载的话请注明原始出处.谢谢:-)...

Java 并发工具包 java.util.concurrent 用户指南

1. java.util.concurrent - Java 并发工具包Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包。这个包包含有一系列能够让 Java 的并发编程变得更加简单轻松的类。在这个包被添加以前,你需要自己去动手实现自己的相关工具类。本文...

2015-03-03 09:40:29

阅读数 162825

评论数 32

Java 调用 FFMPEG 命令时用 url 作为输入源,Linux 下出现 “no such file or directory” 问题的解决

Windows 下执行 ffmpeg 命令,         D:/tools/ffmpeg/bin>ffmpeg.exe -i "某视频文件下载URL" -f flv D:/1.flv         可以成功直接将下载链接输入源转为 1.flv。 Strin...

2013-04-28 15:27:22

阅读数 12308

评论数 9

Java 自带性能监控工具:监视和管理控制台 jconsole 的使用

想验证你对 jvm 配的一些调优参数有没有起作用吗?想不想实时监控你自定义的线程池的在实际运行时的线程个数、有没有死锁?想不想实时监控你的 Java 应用的堆内存使用情况,并根据峰值等数据设置最适合你的 Xms、Xmx 等参数?想不想找到你的应用的永久区 PermGen 的使用峰值,并根据其去设置...

2015-04-15 20:45:28

阅读数 31564

评论数 5

如何决定 Web 应用的线程池大小

在部署 web 应用到生产环境,或者在对 web 应用进行性能测试的时候,经常会有人问:如何决定 web 应用线程池大小?决定一个 IO 阻塞型 web 应用的线程池大小是一项很艰巨的任务。通常是通过进行大量的性能测试来完成。在一个 web 应用中同时拥有多个线程池会让决定最优线程池大小的过程变得...

2015-02-15 15:14:54

阅读数 5354

评论数 1

Java 理论和实践:线程池和工作队列

使用线程池以获取最佳资源利用率Java 多线程编程论坛中最常见的一个问题就是各种版本的 "我怎么样才可以创建一个线程池?" 几乎在每个服务器应用里,都会出现关于线程池和工作队列的问题。本文中,Brian Goetz 就线程池原理、基本实现和调优技术、需要避开的一些常见误区等方面...

2015-02-13 19:08:08

阅读数 5019

评论数 0

使用 Java 执行器实现线程池

在做一个 JSR 315 - servlet 规范 3.0 的报告时,我意识到理解异步 servlet 的一个关键点在于首先要理解 Java 中的异步处理机制。有因有果,很快我陷入了执行器(Executor)和执行器服务(ExecutorService)之中 - 因为它们是 Java 的异步处理的...

2015-02-12 16:53:04

阅读数 2605

评论数 0

关于 Tomcat 的线程池的理解

默认配置下,Tomcat 会为每个连接器创建一个绑定的线程池(最大线程数 200)。在大多数情况下你不需要改这个配置(除非增大最大线程数以满足高负载需要)。但是 Tomcat 喜欢在每个工作者线程的 thread-local 上下文缓存一些诸如 PageContext 以及标签缓存的对象。正因如此...

2015-02-11 16:33:27

阅读数 5475

评论数 0

设计模式实战应用之二:观察者模式

观察者模式的定义         观察者模式是应用最普遍的设计模式之一。著名的 MVC 模式就是观察者模式的应用之一。Gof 把观察者模式归类到对象行为型模式,《设计模式:可复用面向对象软件的基础》对观察者模式做出了明确的定义:“Define a one-to-many dependency b...

2013-12-04 18:42:45

阅读数 6630

评论数 1

Java 多线程编程之九:使用 Executors 和 ThreadPoolExecutor 实现的 Java 线程池的例子

线程池用来管理工作线程的数量,它持有一个等待被执行的线程的队列。         java.util.concurrent.Executors 提供了 java.util.concurrent.Executor 接口实现来创建 Java 里的线程池。我们写一个简单的程序来解释一下它的工作机制。  ...

2013-08-02 12:39:39

阅读数 27196

评论数 0

Java 多线程编程之八:多线程的调度

本博客是“Java 多线程编程”系列的后续篇。“Java 多线程编程”系列其他博客请参阅本博客结尾部分。         有多个线程,如何控制它们执行的先后次序?         方法一:设置线程优先级。         java.lang.Thread 提供了 setPriority(int n...

2013-03-12 18:08:52

阅读数 13403

评论数 0

Java 多线程编程之七:死锁(附源代码)

Java 多线程编程之七:死锁(附源代码) 源代码下载         多线程编程中,线程死锁也是一个比较有趣的问题。然而死锁发生的可能性很小,正因如此,大家可能对此不是很熟悉。但是死锁并不是不重要,因为它确确实实存在着,随时会出现在我们的程序之中。很多朋友面试的时候都遇到过这样类似的一个编程...

2010-01-26 15:21:00

阅读数 6893

评论数 0

Java 多线程编程之六:线程之间的通信(附源代码)

Java 多线程编程之六:线程之间的通信(附源代码) 源代码下载        多线程编程中,线程之间的通信是一个比较复杂的问题。大家往往搞不懂什么是竞争资源?什么时候考虑同步?怎么进行同步?什么是线程通信?怎么进行通信?很多朋友面试的时候都遇到过这样类似的一个编程题:给定一个场景,编写代码来...

2010-01-26 11:48:00

阅读数 7007

评论数 3

Java 多线程编程之五:一个理解 wait() 与 notify() 的例子

一个理解 wait() 与 notify() 的例子   下面是我原来在 CSDN 论坛上看到的一个贴子,涉及到同步, wait(), notify() 等概念的理解,我试着根据原来的一些回复和 Think in Java 上的相关概念将 wait() 和 notify() 这两个方法剖析了一下...

2009-12-02 13:23:00

阅读数 5787

评论数 3

Java 多线程编程之三:synchronized 关键字的使用

Java 多线程编程之三:synchronized 关键字的使用         带有 synchronized 关键字的方法代表这个方法加锁。恰当而又灵活地运用 synchronized 关键字,是多线程编程的必修课。   1、synchronized关键字的作用域有二种:   1)是...

2009-11-12 16:40:00

阅读数 3097

评论数 0

Java 多线程编程之一 进程与线程,并发和并行的区别:吃馒头的比喻

进程与线程,并发和并行的区别:吃馒头的比喻   没有线程编程的程序好比一个人一只手干活,而多线程的程序就比一个人多之手干活. 进程是系统资源分配的独立单位,而线程是可调度运行的独立单位,一个进程可以拥有多个线程,线程是进程并行完成的多个任务. 并发和并行的区别就是一个处理器同时处理...

2009-10-22 08:04:00

阅读数 7025

评论数 5

提示
确定要删除当前文章?
取消 删除