java
文章平均质量分 70
w25632
这个作者很懒,什么都没留下…
展开
-
java 多线程
线程同步 由于同一进程内的多个线程共享内存空间,在java中,就是共享实例,当多个线程试图同时修改某个实例的内容时,就会造成冲突,因此,线程必须实现共享互斥,使多线程同步。 最简单的同步是将一个方法标记为synchronized,对同一个实例来说,任一时刻只能有一个synchronized方法在执行。当一个方法正在执行某个synchronized方法时,其他线程如果想要执行这个实例的任...原创 2009-12-15 11:42:09 · 62 阅读 · 0 评论 -
原子操作与volatile
原子操作 所谓原子操作,就是"不可中断的一个或一系列操作" , 因此被认为是线程安全的。实际上有一些原子操作不一定是线程安全的。 在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。 在当前的Java内存模型下,线程可以把变量保存在本地内存(比...原创 2010-01-04 17:41:29 · 162 阅读 · 0 评论 -
enum原理
java5增加了enum,其实对enum的处理很简单,编译器增加了一些功能而以。看代码: public enum Season{ Spring,Summer,Autumn,Winter}javap -c Season就可以看出来具体的处理了,不过直接反编译更容易理解,使用jad处理的结果。 // Decompiled by Jad v1.5.8g. Copyright 2001 Pave...原创 2009-07-31 16:00:42 · 214 阅读 · 0 评论 -
JAVA反射使用手记
本篇文章为在工作中使用JAVA反射的经验总结。 在开始之前,我先定义一个测试类Student,代码如下: package chb.test.reflect; public class Student { private int age; private String name; publi...原创 2010-06-12 17:13:22 · 67 阅读 · 0 评论 -
Java垃圾回收机制详解
1.JVM的gc概述 gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。 在充分理解了垃圾收集算法和执行过程后,才能有效的优化它的性能。有些垃圾收集专用于特殊的应用程序。比如,实时应用程序主要是为了避免垃圾收集中断,而大多数OLTP应用程序...原创 2010-06-19 09:48:22 · 64 阅读 · 0 评论 -
为每个enum实例定义不同的方法实现
enum允许程序员为enum实例编写方法,从而为每个enum实例赋予各自不同的行为,需要为enum定义一个或多个abstract方法,然后为每个enum实例实现该抽象方法。 Java代码 package com.janeky.enumtest; public enum TestEnumMathod { ...原创 2011-09-16 14:46:15 · 357 阅读 · 0 评论 -
核心技术:Java包导入机制的研究与解析
java中有两种包的导入机制,总结如下: 单类型导入(single-type-import),例如import java.io.File; 按需类型导入(type-import-on-demand),例如 import java.io.*; 关于这两种导入类型大家各有所爱,众说纷纭。这里分析一下这两种导入类型的大致工作原理供大家参考。 单类型导入比较好理解,仅仅导入一个pu...原创 2011-06-25 11:18:38 · 93 阅读 · 0 评论 -
Java中对象的串行化(Serialization)和transient关键字
一、串行化的概念和目的 1.什么是串行化 对象的寿命通常随着生成该对象的程序的终止而终止。有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复。我们把对象的这种能记录自己的状态以便将来再生的能力,叫作对象的持续性(persistence)。对象通过写出描述自己状态的数值来记录自己 ,这个过程叫对象的串行化(Serialization) 。串行化的主要任务是写出对象实例变量的数值。...原创 2011-07-31 20:46:31 · 120 阅读 · 0 评论 -
Weblogic与Java类加载器原理试验解析
通过试验,得出一个结论, 假设在Weblogic的Server/lib下有一个类,与应用的Webapp/WEB-INF/classes下的类名相同,方法名也相同,仅有在后台打印出来的字符的稍许差别,那在Weblogic启动后,无论个文件夹中的类谁是新编译的(版本新或旧),应用系统均默认是使用server/lib下的类,而不是引用Webapp/WEB-INF/classes下的类。 一、通过翻阅大...原创 2012-07-07 15:07:36 · 200 阅读 · 0 评论