`
文章列表
首先看一段代码(使用JDK 5),如下:  Java代码 public class Test {       public static void main(String[] args) {         Integer i1 = 127;         Integer i2 = 127;            if (i1 == i2)           System.out.println("Equal!");         else           System.out.println(&quo ...
  在看一些项目源码中,突然发现了异常的处理也是一门比较大的学问,其实处处都有学问,只是你是否留意而已。。好了,少点啰嗦,关于异常的处理,je上有个很精彩的讨论,我花了快一个钟时间才看完了,确实值得一看,帖子的网址:http://www.iteye.com/topic/2038    当然我这里写的,只是一个纯属的建议,大都是看了网上的帖子后,总结的。都是些前辈的经验。。下面开始吧。 —————————————————————————————————————————————— Java异常有三类:错误,运行时异常,检查型异常。   官方的观点是 第 39 条:最好为异常条件使用异常 ...
1、类的初始化顺序 (父类--静态变量 或 父类--静态初始化块 )->(子类--静态变量 或 子类--静态初始化块)->(父类--变量 或 父类--初始化块)-> 父类--构造器 ->(子类--变量 或 子类--初始化块) ->子类--构造器   静态变量和静态初始化块是依照他们在类中的定义顺序进行初始化的。同样,变量和初始化块也遵循这个规律。  当然,可能和jvm 的底层实现也有点关系,不同jvm 可能有不同的结果。     具体原文:http://www.iteye.com/topic/208187   2、java编码 Java ...
Java IO 用的是‘decorator模式’来构建的。要容易理解Java IO 应该从对称性和两个模式(装饰器模式和适配器模式)这两方面进行分析。   装饰器模式:     在由InputStream、OutputStream、Reader和Writer 代表的等级结构内部,有一些流处理器可以对另外一些流处理器起到装饰作用,形成新的、具有改善了的功能的流处理器。   下面是Decorator模式的结构图: 1.Component就是装饰器模式中公共方法的类,在装饰器模式结构图的顶层。 2.ConcreateComponent是转换器模式中具体的被装饰的类,IO包中的媒体流就 ...
术语: ・ DI (Dependency Injection) ・ AOP (Aspect Oriented Programming) DI叫依赖注射,在模式里叫LOC(控制反转) 控制反转(Ioc)模式(又称DI:Dependency Injection)就是Inversion of Control,控制反转。在Java开发中,IoC意味着将你设计好的类 ...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
在Java中,容器主要包括:数组(Array)、集合(Collection)和映射(Map)三种。(1)数组Array:将数字与元素联系起来,其中的元素都具有相同的数据类型,只能通过下标来访问其元素;数组可以是一维的,也可以是多维的;数组一旦生成,其容量就不能改变。数组是一种复合数据类型,在Java中,除了可以像“int[] array;”来声明和表示一个数组,还可以用Array类来表示一个数组,同样地,JDK类库还提供了Arrays类类操作数组,该类定义了对数组进行操作的各种方法(赋值、排序、搜索、比较、查找元素等)。(2)集合Collection:是一个接口类,包括List、Set、Queu ...
SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作。 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACK ...
控制反转(IOC)模式(又称DI:Dependency Injection)就是Inversion of Control,控制反转。在Java开发中,IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转。         IoC(Inversion of Control)是近年来兴起 ...
最常用(也是最爱的:))     Ctrl+’ :  自动完成提示。这个快捷键是我自己设的。Eclipse默认是Ctrl+Sapce,跟输入法冲突了。这个东东很强大,除了提示方法外,也支持自动完成的提示。比如:输入一个for后输入快捷键,能提 ...
能整理出上面一些东西,也是因为站在巨人的肩上。下面是一些参考资料,供大家学习,大家有更好的,可以继续完善:)   · Java 理论与实践: 垃圾收集简史   · Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning   · Improving Java Application Performance and Scalability by Reducing Garbage Collection Times and Sizing Memory Using JDK 1.4.1   · Hotspot memor ...
垃圾回收的悖论     所谓“成也萧何败萧何”。Java的垃圾回收确实带来了很多好处,为开发带来了便利。但是在一些高性能、高并发的情况下,垃圾回收确成为了制约Java应用的瓶颈。目前JDK的垃圾回收算法,始终无法解决垃圾回收时的暂停问题,因为这个暂停严重影响了程序的相应时间,造成拥塞或堆积。这也是后续JDK增加G1算法的一个重要原因。     当然,上面是从技术角度出发解决垃圾回收带来的问题,但是从系统设计方面我们就需要问一下了:     我们需要分配如此大的内存空间给应用吗?     我们是否能够通过有效使用内存而不是通过扩大内存的方式来设计我们的系统呢?     我 ...
JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里   JProfiler:商业软件,需要付费。功能强大。详细说明参考这里   VisualVM:JDK自带,功能强大,与JProfiler类似。推荐。   如何调优 观察内存释放情况、集合类检查、对象树 上面这些调优工具都提供了强大的功能,但是总的来说一般分为以下几类功能   堆信息查看   可查看堆空间大小分配(年轻代、年老代、持久代分配) 提供即时的垃 ...
垃圾回收的瓶颈     传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时间在几百甚至几十毫秒以内,如果分代垃圾回收方式要达到这个指标,只能把最大堆的设置限制在一个相对较小范围内,但是这样有限制了应用本身的处理能力,同样也是不可接收的。     分代垃圾回收方式确实也考虑了实时性要求而提供了并发回收器,支持最大暂停时间的设置,但是受限于分代垃圾回收的内存划分模型,其 ...
常见配置汇总   堆设置   -Xms:初始堆大小   -Xmx:最大堆大小   -XX:NewSize=n:设置年轻代大小   -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4   -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5   -XX:MaxPermSize=n:设置持久代大小 收集器设置   -XX:+UseSerialG ...
Global site tag (gtag.js) - Google Analytics