`
文章列表
聊聊并发(三)Java线程池的分析和使用 作者:方腾飞 原文发表于infoQ:http://www.infoq.com/cn/articles/java-threadPool 1.    引言 合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。 2.线程池的使用 线程池 ...
Facebook是世界上最大的社交网站,有超过10亿用户每月至少要登录一次,他们每天要上传超过25亿内容,支持这样一个站点的运行,还要不断发布新的功能,Facebook的工程师是如何做到这一切的?目前就职于Facebook的极限编程创始人 ...
深入理解Java内存模型(四)——volatile 作者 程晓明 发布于 二月 05, 2013 | 34 http://www.infoq.com/cn/articles/java-memory-model-4?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_articles_clk volatile的特性 当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是 ...
  关于历史数据迁移这事,相信很多数据库管理员都经常要面对,因为应对的场景和数据量的不同,数据迁移方法和技术也 五花八门;在一个数据量不大的表上迁移数据一般都不会有什么问题,一旦表的数据量增大,而且应用 ...
很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。下面就按照各本书的推荐数排列。 如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。” 1. 《代码大全》 史蒂夫•迈克康奈尔 推荐数:1684 “优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起来,就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布 ...
十大事件 1990-1994:Java缘起 文/孟岩 Larry Wall说,优秀程序员应有的三个特点:懒惰、急躁和傲慢。Java就是诞生在一群懒惰、急躁而傲慢的程序天才之中。 1990年12月,Sun的工程师Patrick Naughton被当时糟糕的Sun C++工具折磨的快疯了。他大声抱怨,并威胁要离开Sun转投当时在Steve Jobs领导之下的NeXT公司。领导层为了留住他,给他一个机会,启动了一个叫做Stealth(秘密行动)的项目。随着James Gosling等人的加入,这个项目更名为Green。其目标是使用C++为嵌入式设备开发一种新的基础平台技术,James Gosling本 ...
对于应用开发者来说,数据连接泄漏无疑是一个可怕的梦魇。如果存在数据连接泄漏问题,应用程序将因数据连接资源的耗尽而崩溃,甚至还可能引起数据库的崩溃。数据连接泄漏像黑洞一样让开发者避之唯恐不及。   Spring DAO 对所有支持的数据访问技术框架都使用模板化技术进行了薄层的封装。只要您的程序都使用 Spring DAO 模板(如 JdbcTemplate、HibernateTemplate 等)进行数据访问,一定不会存在数据连接泄漏的问题 ―― 这是 Spring 给予我们郑重的承诺!因此,我们无需关注数据连接(Connection)及其衍生品(Hibernate 的 Session 等)的获 ...
使用sqlplus来查询数据,经常碰到分行的情况,看起来非常别扭,这就需要对输出的宽度进行调节。调节包括整个输出行的长度和单个列的宽度。 行的长度是由参数linesize确定的,可以使用命令show linesize来查看当前行的最大长度,默认是80,即最多在每行上显示80个字符。使用set linesize 120可以把行长调整到120个字符。当然,此变量只是指定了sqlplus的行长,而sqlplus一般运行在终端里,能显示的最大行长,还受到终端窗口如windows下的命令行窗口或者Linux下的xterm窗口的行长的限制。sqlplus还有一个名为long的环境变量,其默认值也是80,此变 ...
WiMax(Worldwide Interoperability for Microwave Access)是基于802.16标准[1]的全球微波接入技术。由于WiMax支持较高的宽带无线接入速率和移动速度,通信运营商用其为用户提供宽带无线移动数据接入服务。在移动性管理方面,WiMax网络使用移动 ...
-- Create table create table WLAN_MAC_USAGE (   BMS_USER_NAME         VARCHAR2(64) not null,   BMS_USER_MAC          VARCHAR2(20),   NAS_IP                VARCHAR2(16) not null,   FRAME_IP              VARCHAR2(16) not null,   NAS_IDENTIFIER        VARCHAR2(64),   START_TIME            DATE not null, ...
精通JAVA的25个标准    1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class,object,interaction以 及statediagrams。    2.你需要学习JAVA语言的基础知识以及它的核心类库(collections ...
Java多线程总结之由synchronized说开去 博客分类: Java技术 ReentrantLockSynchronizedwait/notifyJMMThreadLocal 更新完毕,结贴,以后有新的想法再开新帖 这几天不断添加新内容,给个大概的提纲吧,方面朋友们阅读,各部分是用分割线隔开 ...
JES,是Java嵌入服务器-Java Embedded Server的缩写。在嵌入系统中使用Java,是Java跨平台战略的重要组成部分。国内目前并无比较系统的中文文献。 从最简单的包(bundle)开始 简介 每个包(bundle)都至少需要一个包激活器类,用来激活包,还要有一个清单(manifest)文件。包激活器类是一个实现org.osgi.framework.BundleActivator 的类,它定义了start (开始)和stop (结束)方法的逻辑。JES框架使用start 和stop方法来启动和停止包。 在这个例子里,我们建立一个简单的包(bundle),在它里面没有什么服务 ...
使用Java内置支持的线程写多线程程序是很常见的事情。然而,多线程给开发人员带来了一些新的挑战。如果处理不好就会导致超出预期的行为以及难于定位的错误。这篇文章解读了其中一个挑战:如何中止一个正在运行的线程。 背景     中止一个线程意味着在线程处理完任务之前停掉正在做的操作,特别是放弃当前的操作。之后无论线程死掉,等待新的任务,或者执行下一步取决于应用程序的逻辑。     虽然这看起来非常简单,但是你必须做好防范措施,以便达到预期的效果。而且有些提醒你必须注意。     首先,忘记Thread.stop 方法吧。虽然他确实可以停掉一个正在运行的线程,但是这个方法是不安全的(unsafe) ...
  在JAVA平台上开发应用程序的时候,有一个很大的特点就是其是在应用程序运行的时候才建立对象。换句话说,在程序运行的时候,才会最终确定对象的归属,即对象应该存储在什么地方。由于存储在不同的区域,其在性能上 ...
Global site tag (gtag.js) - Google Analytics