
Java线程安全
文章平均质量分 81
梁南
当你专心做一件事时全世界都会给你让路!!
展开
-
JAVA内存模型
JAVA内存模型 不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。其实JAVA的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改。总结java的内存模型,要解决两个主要的问题:可见性和有序性。我们都知道计算机有高速缓存的存在,处理器并不是每次处理数据都是取内存的。JVM定义了自己的内存模型,屏蔽了底层转载 2014-07-16 16:30:13 · 411 阅读 · 0 评论 -
Java双缓冲技术
Java的强大特性让其在游戏编程和多媒体动画处理方面也毫不逊色。在Java游戏编程和动画编程中最常见的就是对于屏幕闪烁的处理。本文从J2SE的一个再现了屏幕闪烁的Java Appilication简单动画实例展开,对屏幕闪烁的原因进行了分析,找出了闪烁成因的关键:update(Graphics g)函数对于前端屏幕的清屏。由此引出消除闪烁的方法——双缓冲。双缓冲是计算机动画处理中的传统技术,在用其转载 2014-07-16 16:57:03 · 368 阅读 · 0 评论 -
Java线程池
Java线程池线程池编程java.util.concurrent多线程框架---线程池编程(一)一般的服务器都需要线程池,比如Web、FTP等服务器,不过它们一般都自己实现了线程池,比如以前介绍过的Tomcat、Resin和Jetty等,现在有了JDK5,我们就没有必要重复造车轮了,直接使用就可以,何况使用也很方便,性能也非常高。 1 package concurrent; 2转载 2014-07-16 16:44:29 · 6143 阅读 · 0 评论 -
Java程序性能优化
一、避免在循环条件中使用复杂表达式在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。例子:import java.util.Vector;class CEL { void method (Vector vector) { for (int i = 0; i转载 2014-07-16 16:52:08 · 379 阅读 · 0 评论 -
JVM内存模型
JVM内存模型原 本准备把内存模型单独放到某一篇文章的某个章节里面讲解,后来查阅了国外很多文档才发现其实JVM内存模型的内容还蛮多的,所以直接作为一个章节的基础知 识来讲解,可能该章节概念的东西比较多。一个开发Java的开发者,一旦了解了JVM内存模型就能够更加深入地了解该语言的语言特性,可能这个章节更多的 是概念,没有太多代码实例,所以希望读者谅解,有什么笔误来Email告知:silentb转载 2014-07-16 17:01:53 · 694 阅读 · 0 评论 -
Java优化编程(第二版)
2.1垃圾回收堆内存 内存管理的话题在C或C++程序设计中讨论得相对较多,因为在C与C++程序设计中需要开发人员自己申请并管理内存,开发人员可以申请/借用(Apply)系统内存并且负责释放/归还(Release)系统内存,如果“只借不还”就会造成系统内存泄露的问题。在Java程序设计中,这些工作由Java虚拟机(JVM)负责处理。所有内存的申请、分配、释放都由JVM负责完成。因此,开发人员转载 2014-07-16 16:54:48 · 624 阅读 · 0 评论 -
Java性能的优化
Java在九十年代中期出现以后,在赢得赞叹的同时,也引来了一些批评。赢得的赞叹主要是Java的跨平台的操作性,即所谓的”WriteOnce,Run Anywhere”.但由于Java的性能和运行效率同C相比,仍然有很大的差距,从而引来了很多的批评。对于服务器端的应用程序,由于不大涉及到界面设计和程序的频繁重启,Java的性能问题看似不大明显,从而一些Java的技术,如JSP,Servlet,E转载 2014-07-16 16:48:24 · 369 阅读 · 0 评论 -
线程安全单例模式
线程安全单例模式所有的编程语言都有一些共用的习语。了解和使用一些习语很有用,程序员们花费宝贵的时间来创建、学习和实现这些习语。问题是,稍后经过证明,一些习语并不完全如其所声称的那样,或者仅仅是与描述的功能不符。在 Java 编程语言中,双重检查锁定就是这样的一个绝不应该使用的习语。在本文中,Peter Haggar 介绍了双重检查锁定习语的渊源,开发它的原因和它失效的原因。编辑注:本文转载 2014-07-16 16:39:23 · 2424 阅读 · 0 评论 -
ThreadLocal
ThreadLocalThreadLocal原理线程程序介绍 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。Threadlocal变量 ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,Thread转载 2014-07-16 16:31:31 · 586 阅读 · 0 评论 -
深入研究Servlet线程安全性问题
Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题。然而,很多人编写Servlet/JSP程序时并没有注意到多线程安全性的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题。Servlet转载 2014-07-16 16:30:14 · 360 阅读 · 0 评论 -
java线程安全总结
最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣。已经拟好了提纲,大概分为这几个主题: java线程安全,java垃圾收集,java并发包详细介绍,java profile和jvm性能调优 。慢慢写吧。本人jameswxx原创文章,转载请注明出处,我费了很多心血,多谢了。关于java线程安全,网上有很多资料,我只想从自己的角度总结对这方面的考虑,有时候写东西是很痛苦转载 2014-07-14 15:04:53 · 339 阅读 · 0 评论 -
java线程安全的单例模式
面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。好吧,写就写,这还不容易。顺手写一个:[java] view plaincopypublic final class EagerSingleton { private static EagerSingleton sing转载 2014-07-17 14:04:07 · 427 阅读 · 0 评论 -
Java性能优化技巧集锦
Java性能优化技巧集锦 摘要: ===================================可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。本文讨论的主要是如何提高代码的效率。=================================转载 2014-07-16 17:03:50 · 386 阅读 · 0 评论 -
对象池技术
Apache的commons-pool提供了编写对象池的API,将用完的对象返回对象池中以便于下次利用,从而减少了对象创建时间。这对于创建对象相对耗时的应用来说,能够提高应用的性能。 commons-dbcp数据库连接池正是使用commons-pool来创建和数据库之间的连接对象,在对象池中保存这些对象,从而减少了频繁建立连接对象所造成的性能损耗。本文讲述了commons-dbcp是怎样利转载 2014-07-16 16:40:52 · 1665 阅读 · 0 评论 -
几种线程池的实现算法分析
1. 前言在阅读研究线程池的源码之前,一直感觉线程池是一个框架中最高深的技术。研究后才发现,线程池的实现是如此精巧。本文从技术角度分析了线程池的本质原理和组成,同时分析了JDK、Jetty6、Jetty8、Tomcat的源码实现,对于想了解线程池本质、更好的使用线程池或者定制实现自己的线程池的业务场景具有一定指导意义。2. 使用线程池的意义复用:类似WEB服务器等系统,转载 2014-08-04 16:32:09 · 344 阅读 · 0 评论