Java
小瓶盖的博客
喜欢有挑战的工作
展开
-
Java领域模型
为了补大家的遗憾,在此总结下ROBBIN的领域模型的一些观点和大家的补充,在网站和演讲中,robbin将领域模型初步分为4大类:1,失血模型2,贫血模型3,充血模型4,胀血模型那么让我们看看究竟有这些领域模型的具体内容,以及他们的优缺点: 一、失血模型 失血模型简单来说,就是domain object只有属性的getter/setter方法的纯数据类,所有的业务转载 2007-04-29 16:21:00 · 4880 阅读 · 0 评论 -
JVM虚拟机基础:Java对象大小与类型详解
<br />基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。<br />在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:<br />Object ob = new Object(); <br />这样在程序中完成了一个Java对象的生命,但是它所占的空间为:4byte+8byte。4byte是上面部分所说的Java栈中保存引用的所需要的空间。而那8byte则是Java堆中对转载 2010-07-29 14:15:00 · 465 阅读 · 0 评论 -
Java Exception性能问题
背景:大学里学java,老师口口声声,言之凿凿,告诫我们,Java千万别用异常控制业务流程,只有系统级别的问题,才能使用异常;(当时,我们都不懂为什么不能用异常,只知道老师这么说,我们就这么做,考试才不会错 :) )公司里,有两派.异常拥护者说,使用业务异常,代码逻辑更清晰,更OOP;反之者说,使用异常,性能非常糟糕;(当然,我是拥护者)论坛上,争论得更多,仁者见仁智者见智,口水很多;(我不发表意见,其实怎么用,真的都可以)那么,为什么反对异常呢?貌似大多数人的原因都只有一个转载 2010-07-22 18:42:00 · 948 阅读 · 0 评论 -
JVM分代垃圾回收策略的基础概念
<br />本文来自和你在一起的博客,原文标题为《JVM调优总结(五)-分代垃圾回收详述1》。文章总结了JVM垃圾回收策略为什么要分代,如何分代,以及垃圾回收的触发因素。<br />为什么要分代<br />分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。<br />在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业转载 2010-07-16 16:43:00 · 386 阅读 · 0 评论 -
Java中的transient、volatile、strictfp关键字使用
1.transienttransient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。这样对象的size就会小一些,相对占用的网络资源就会小。2.volatilevolatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量原创 2009-03-14 13:41:00 · 623 阅读 · 0 评论 -
JAVA中的反射机制详解
JAVA反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法转载 2009-03-14 16:31:00 · 492 阅读 · 0 评论 -
JVM 学习笔记
摘要:JVM 作为 Java 的核心技术,很多朋友想必也有研究。一直都在关注 JVM 方面的技术,以前看过一些书籍和网上的资料,自己也发了些 Blog 文章,不过还是没有彻底的了解 JVM 机制,最近有时间研究了研究,特此写下一篇文章并结合笔者多年实践以揭露 JVM 实现机理,本文后面提供资料下载,读者可进一步研究。 关键字: JV转载 2008-10-16 17:05:00 · 667 阅读 · 0 评论 -
关于ClassLoader
关于Class的是如何加载的一直都很模糊,也没去怎么管它,昨天在参加网易的笔试时提到了这个问题。到网上查了查:下面这一篇文章是JavaEYE里的:http://www.javaeye.com/topic/83978?page=1ClassLoader一个经常出现又让很多人望而却步的词,本文将试图以最浅显易懂的方式来讲解 ClassLoader,希望能对不了解该机制的朋友起到一点点作用。原创 2008-10-16 14:05:00 · 487 阅读 · 0 评论 -
在可执行jar 包中动态载入第三方jar class的有关问题
一、前言 在商业化开发中经常是将开发的类打成jar包发布.由于有很多第三方的提供功能集合Jar包,所以经常会用到这些功能包.以下情景是很多Java开发人员经常碰到的:在开发,调试阶段,通过在CLASSPATH中设置第三方的jar包路径,自己编写的class工作正常.开发完毕,部署的时候,将开发的class打成一个可执行jar包,会发现通过Class.forName(String转载 2008-10-15 10:52:00 · 538 阅读 · 0 评论 -
IOC模式和AOP思想
Ioc模式是一种框架技术性质的模式,它同时也为AOP的Java实现提供了一种途径注:原贴来自J道Ioc模式 分离关注( Separation of Concerns : SOC)是Ioc模式和AOP产生最原始动力,通过功能分解可得到关注点,这些关注可以是 组件Components, 方面Aspects或服务Services。 从GoF设计模式中,我们已经习惯一种思维编程方式转载 2008-10-14 17:03:00 · 985 阅读 · 0 评论 -
Java:重写equals()和hashCode()
1.何时需要重写equals()当一个类有自己特有的“逻辑相等”概念(不同于对象身份的概念)。2.设计equals()[1]使用instanceof操作符检查“实参是否为正确的类型”。[2]对于类中的每一个“关键域”,检查实参中的域与当前对象中对应的域值。[2.1]对转载 2008-10-13 09:37:00 · 525 阅读 · 0 评论 -
Java泛型 (一)
什么是泛型? 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。可以在集合框架(Collection framework)中看到泛型的动机。例如,Map 类允许您向一个转载 2008-10-16 17:01:00 · 1441 阅读 · 1 评论 -
Java泛型 (二)
Java类库中的泛型集合类到目前为止,Java 类库中泛型支持存在最多的地方就是集合框架。就像容器类是 C++ 语言中模板的主要动机一样(参阅 附录 A:与 C++ 模板的比较)(尽管它们随后用于很多别的用途),改善集合类的类型安全是 Java 语言中泛型的主要动机。集合类也充当如何使用泛型的模型,因为它们演示了泛型的几乎所有的标准技巧和方言。所有的标准集合接口都是泛型化的转载 2008-10-16 17:03:00 · 779 阅读 · 0 评论 -
Java用户自定义事件监听
很多介绍用户自定义事件都没有例子,或是例子不全,下面写了一个完整的例子,并写入了注释以便参考,完整的实例源代码如下: package demo;import java.util.EventObject;/** * Title: 事件处理类,继承了事件基类 * Description: * Copyright: Copyright (c) 2005 * Compan转载 2008-10-15 09:15:00 · 1721 阅读 · 0 评论 -
Class Version 问题
一:要解决的问题 我们在尝鲜 JDK1.5 的时候,相信不少人遇到过 Unsupported major.minor version 49.0 错误,当时定会茫然不知所措。因为刚开始那会儿,网上与此相关的中文资料还不多,现在好了,网上一找就知道是如何解决,大多会告诉你要使用 JDK 1.4 重新编译。那么至于为什么,那个 major.minor 究竟为何物呢?这就是本篇来讲的内容转载 2008-08-19 09:59:00 · 1069 阅读 · 0 评论 -
Java 2 引用类使用指南
Java 2 平台引入了 java.lang.ref 包,其中包括的类可以让您引用对象,而不将它们留在内存中。这些类还提供了与垃圾收集器(garbage collector)之间有限的交互。Peter Haggar 在本文中分析了 SoftReference、WeakReference 和 PhantomReference 类的功能和行为,并就这些类的使用给出了一些编程风格上的建议。 当在转载 2008-07-24 14:29:00 · 380 阅读 · 0 评论 -
ClassLoader对Java源码加解密
ClassLoader对Java源码加解密: package com.epoch.core.security;import java.io.*;import java.security.PublicKey;import java.security.Signature;public class DSLoader extends ClassLoader {原创 2007-10-12 14:57:00 · 815 阅读 · 0 评论 -
LDAP介绍
介绍ldap原文:http://ldapman.org/articles/intro_to_ldap.html原文作者:michael donnelly 翻译:brimmer如果你在计算机行业工作,那么对ldap可能早有耳闻了。想深入地了解ldap吗?那么可以好好地读一下这篇文章。这篇介绍性的文章是一系列介绍如何在企业中设计、实现和集成ldap环境的文章的头一篇。主要是先让你熟悉一下ldap的基本概念,那些比较困难的细节问题将放到以后讨论。在这篇文章中我们将要介绍:什么是ld转载 2010-10-27 17:11:00 · 432 阅读 · 0 评论