java高级
wenfanhugh
这个作者很懒,什么都没留下…
展开
-
【转载】深入分析 Java 中的中文编码问题
几种常见的编码格式为什么要编码不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言。由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解。我们可以把计算机能够理解的转载 2012-02-10 12:28:35 · 418 阅读 · 0 评论 -
【转载】云计算环境下的 JVM 虚拟化特性初探
目前对于到底什么是云计算,什么样的平台属于云计算平台,等等围绕云计算相关的问题,不同的软硬件厂商对此都有自己不同的理解,有着自己不同的定义。他们所提供的云计算平台也是千差万别。谈到云计算,大家总会联想到这些方面的东西:比如说高伸缩性 (High Scalability) ,成本节约 (Cost Saving), 按需使用 (Use On Demand), 等等。我们姑且不论云计算带来的这些纷繁多样转载 2012-02-10 11:58:48 · 574 阅读 · 0 评论 -
【转载】使用 Java 实现 Comet 风格的 Web 应用
开始在本文中,我将展示如何使用各种不同的 Java 技术构建一些简单的 Comet 风格的 Web 应用程序。读者对 Java servlet、Ajax 和 JavaScript 应该有一定的了解。我们将考察 Tomcat 和 Jetty 中一些支持 Comet 的特性,因此需要使用这两个产品的最新版本。本文使用 Tomcat 6.0.14 和 Jetty 6.1.14。另外还需要一个支持 J转载 2012-02-15 14:31:15 · 500 阅读 · 0 评论 -
【转载】Java 理论与实践: 正确使用 Volatile 变量
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。锁提供了两种主要转载 2012-02-17 11:53:56 · 364 阅读 · 0 评论 -
【转】在java web项目中慎用Executors以及非守护线程
最近研究embeded tomcat,特别是关于tomcat启动和关闭的模块。通过查看相应的源代码, 我们知道tomcat的关闭是通过往相应的关闭端口发送指定的关闭指令来达到关闭tomcat的目的。但是有的时候,通过shutdown.bat或shutdown.sh却不能有效地关闭tomcat,网上也有很多人提出这个问题。通过相关资料,最后问题出现线程上。 首先看java虚拟机退出的转载 2016-08-28 23:44:55 · 604 阅读 · 0 评论 -
【转】Java并发基础实践--死锁
本文是Java并发基础实践系列中的一篇,介绍了最简单的死锁场景,并使用jstack产生的thread dump来查找死锁。(2013.12.29最后更新)1. 死锁为了能够维护线程的安全性,Java提供的锁机制,但不恰当地使用锁则可能产生死锁。死锁是并发编程中一个无法绕开的问题。只要在一个任务中使用了一个以上的锁,那么就存在死锁的风险。死锁产生的直接原因非常简单,即两个线程在相转载 2016-08-29 22:52:25 · 552 阅读 · 0 评论 -
【转】Java线程池的那些事--线程计算公式
熟悉java多线程的朋友一定十分了解java的线程池,jdk中的核心实现类为java.util.concurrent.ThreadPoolExecutor。大家可能了解到它的原理,甚至看过它的源码;但是就像我一样,大家可能对它的作用存在误解。现在问题来了,jdk为什么要提供java线程池?使用java线程池对于每次都创建一个新Thread有什么优势?对线程池的误解很长一段时间里我一直以为j转载 2016-09-01 00:56:52 · 2206 阅读 · 0 评论