![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
j2se
lqq19860619
这个作者很懒,什么都没留下…
展开
-
关于JAVAIO的一些说明
随着人们对互联网应用和大数据应用系统性能要求也越来越高,在大数据时代数据是在网络中随处的流动,在各个子系统间不停的交互,所以IO问题已经成为系统的主要瓶颈之一。而JAVAIO的发展已经由最初的普通IO,到JDK1.4之后的NIO,到随处可见的封装支持。如何设计和优化网络显得格外的重要。作者以前的工作中,在使用传统的BIO的方式结合连接池、线程池,也解决的一部分性能问题,但随着业务量的和网络环境...2009-10-09 17:37:04 · 87 阅读 · 0 评论 -
Java 动态代理机制分析及扩展,第 1 部分
引言Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。通过阅读本文,读者将会对 Java 动态代理机制有更加深入的理解。本文首先从 Java 动态代理的运行机...原创 2012-03-26 12:47:27 · 56 阅读 · 0 评论 -
详解reflect Java的反射机制
一、类型识别的两种方式: 首先了解一下“运行时类型识别”(Run-time Type Identification, RTTI)主要有两种方式, 第一种:是我们在一次编译时和运行时已经知道了所有的类型。 第二种:是我们在整项目分模块的编译,在运行时可以对新加入的模块进行动态的编译。(在动态编译模块之前还不知道被编译code的类型。) 这就是下面要接受的,功能...原创 2012-03-23 13:09:38 · 49 阅读 · 0 评论 -
Annotation 之 jdk1.5内建的Annotation实例
一、限定Override父类方法@Overridejava.lang.Override是个Marker annotation用于标示的Annotation,Annotation名称本身即表示了要给工具程序的信息实例:package com.bhan.annotation;public class OverrideTest { @Override public String ...原创 2011-11-15 20:25:23 · 93 阅读 · 0 评论 -
自定义Annotation
自定义Annotation自定义Annotation早就知道jdk5加了新特性Annotation,但是没研究过,前几天公司培训,有一部分是介绍jdk5新特性的,一个是注解一个泛型今儿复习一下注解 //用@Deprecated声明该方法不建议使用 @Deprecated public void doSomething1(){ Map map = new HashM...原创 2011-11-15 20:24:09 · 48 阅读 · 0 评论 -
集合类源码
主要包括Java类库中提供的几个具体的类: LinkedList ArrayList HashMap HashSet TreeMap TreeSet PriorityQueue(顺序按下面的讲解顺序) ---------------------------------------------------------------------------------------------------...原创 2011-11-06 04:04:33 · 90 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。...原创 2011-08-03 00:27:05 · 60 阅读 · 0 评论 -
JVM 四
转自:http://blog.csdn.net/cutesource/article/details/5907418JVM学习笔记(四)------内存调优首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查...原创 2011-08-02 18:22:40 · 53 阅读 · 0 评论 -
关于byte
1GB=1024MB=1024*1024KB=1024*1024*1024B1MB=1024KB=1024*1024B1KB=1024B1Byte=1B=8bit(八位二进制数)字节(Byte):通常将可表示常用英文字符8位二进制称为一字节。一个英文字母(不分大小写)占一个字节的空间一个中文汉字占两个字节的空间.符号:英文标点占一个字节,中文...原创 2011-08-02 18:16:00 · 153 阅读 · 0 评论 -
jvm垃圾回收
Java里的对象并非总是被垃圾回收,或者换句话说: 1、对象可能不被垃圾回收 2、垃圾回收并不等于“析构” 牢记这些,就能远离困扰。这意味着在你不再需要某个对象之前,如里必须执行某些动作,那么你得自已去做。Java并未提供“析构函数”或相似的概念,要做类似的清理工作,必须自已动手创建一个执行清理的普通方法。例如,假设某个对象在创建过程中会将自己绘制...原创 2011-07-31 23:13:50 · 53 阅读 · 0 评论 -
ArrayList和Vector以及HashTable和HashMap区别
[size=large][color=red]ArrayList和Vector以及HashTable和HashMap区别[/color][/size] (一)List和Map都是接口不能实例化的以前这么写List list = new Vector();现在这么写List list = new ArrayList();用ArrayList 代替了Vector 因为前者的...原创 2011-10-12 10:40:11 · 67 阅读 · 0 评论 -
String与StringBuffer的区别
String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结。 在java中有3个类来负责字符的操作。 1.Character 是进行单个字符操作的,2.String 对一串字符进行操作。不可变类。3.StringBuffer 也是对一串字符进行操作,但是可变类。String:是对...原创 2011-06-22 14:37:10 · 45 阅读 · 0 评论 -
JVM优化配置
JVM优化配置《一》OOM这个缩写就是Java程序开发过程中让人最头痛的问题:Out of Memory。在很多开发人员的开发过程中,或多或少的都会遇到这类问题,这类问题定位比较困难,往往需要根据经验来判断可能出现问题的代码。原因主要是 两个:对象没有被释放(多种情况引起,往往是比较隐蔽的引用导致被Hold而无法被回收)。另一...原创 2011-08-20 22:32:12 · 47 阅读 · 0 评论 -
JVM慢慢琢磨
原文:http://www.iteye.com/topic/8218721 JVM简介JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“Hello World”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibernate等等,再然后就开发企业级的应用,比如网站、企业内部应用、实...原创 2011-08-20 22:05:59 · 94 阅读 · 0 评论 -
堆栈区别
原文:http://www.iteye.com/topic/634530 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(stati...原创 2011-08-18 22:23:09 · 55 阅读 · 0 评论 -
JVM闲谈
java中内存分为堆内存和栈内存。 Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数...原创 2011-08-18 22:01:47 · 93 阅读 · 0 评论 -
序列化
序列化 (serialization) 将对象的状态信息转换为可以存储或传输的窗体的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。 序列化使其他代码可以查看或修改那些不序列化便无法访问的对象实例数据。确切地说,代码执行序列化需要特殊的权限:即指定了SerializationFormatter 标...原创 2009-10-11 22:13:47 · 57 阅读 · 0 评论 -
java枚举Enum
public class TestEnum { /*最普通的枚举*/ public enum ColorSelect { red, green, yellow, blue; } /* 枚举也可以象一般的类一样添加方法和属性,你可以为它添加静态和非静态的属性或方法,这一切都象你在一般的类中做的那样. */ public enum Season ...原创 2013-01-14 14:43:15 · 61 阅读 · 0 评论