
Java SE
xmuzyu
这个作者很懒,什么都没留下…
展开
-
实例分析Java Class的文件结构
今天把之前在Evernote中的笔记重新整理了一下,发上来供对java class 文件结构的有兴趣的同学参考一下。 学习Java的朋友应该都知道Java从刚开始的时候就打着平台无关性的旗号,说“一次编写,到处运行”,其实说到无关性,Java平台还有另外一个无关性那就是语言无关性,要实现语言无关性,那么Java体系中的class的文件结构或者说是字节码就显得相当重...原创 2013-01-30 11:11:28 · 172 阅读 · 0 评论 -
JAVA类加载以及反射机制
JAVA中类文件加载是动态的。JVM指令是被封装在了. class文件里面,而.class文件的加载过程是动态的,也就是说当我们用到的时候才会去加载,如果不用的话,就不会去加载我们的类。这里所说的用到包括两种方式,第一种就是new一个对象的时候(这个时候要特别注意,当设计到多态的时候,就会有一点点变化,这时候编译器会做一些优化,这样以来当加载的时候会提前加载设计到多态的类,关于这一点下面...2007-08-28 20:11:47 · 86 阅读 · 0 评论 -
小游戏
偶前段时间写的小游戏。呵呵。。2007-08-28 16:48:22 · 125 阅读 · 0 评论 -
今天起的早
呵呵,今天早上很早就醒了。。记录一下这早起的早晨。2007-08-28 06:25:57 · 140 阅读 · 0 评论 -
类的加载以及初始化
JAVA中当调用某个类的静态方法或者是new一个对象时,类加载器就会去加载此类,如果这个类就基类的话,那么这个类的基类也会加载,如果基类还有基类就继续加载,以此类推。等所有的基类都加载完后,就开始对静态成员进行初始化,并且所有的静态代码也会执行。但是初始化的顺序与加载的顺序相反,加载是先加载子类后加载基类以此类推,而初始化是先初始化父类然后在初始化子类,等这些都完成了后,所有的类...2007-08-18 20:14:52 · 118 阅读 · 0 评论 -
JAVA解惑之URL的愚弄
public class BrowserTest { public static void main(String System.out.print("iexplore http://www.google.com; System.out.println(":maxim } } 此程序会打印出:iexplore:maxim,好像...2007-08-18 15:22:55 · 109 阅读 · 0 评论 -
JAVA解惑之字符串奶酪
public class Test{ public static void main(String[] args)throws Exception { byte bytes[] = new byte[256]; for (int i = 0; i < 256; i++) bytes[i] = (byte)i; ...2007-08-16 18:31:49 · 161 阅读 · 0 评论 -
JVM原理学习之一
一 虚拟机的基本概念 虚拟机是一台想象中的小型计算机,它有自己的一套逻辑指令,我们编写JAVA代码,经过编译器编译以后就生成了虚拟机的逻辑指令集(.class文件),JVM的任务就是将.class 文件装入内存,并把这些.class 文件包含的伪指令解释为具体平台的机器指令,然后执行。从这个意义上来说编译器是平台无关的,而JVM是平台有关的。对于JVM的实现,不同的公司有其具...2007-08-16 14:16:21 · 91 阅读 · 0 评论 -
OO中继承的理解
继承属于OO世界里关键的概念。JAVA也可以说是纯的面向对象的语言,它是学习OO的一种很好的工具语言。 在JAVA中的继承可以分为两种,第一种就是子类的接口和基类完全一样,子类仅仅是重写了基类中的接口。此种继承称为“纯继承”在此种情况下我们完全可以把抛开具体的子类不管,只编写与基类有关系的代码,等以后系统要变化时,我们已经编写的基类代码不需要任何的改动。第二种继承就是我们通过...2007-08-15 20:23:42 · 270 阅读 · 0 评论 -
JAVA解惑之令人晕头转向的hello
/*** Generated by the IBM IDL-to-Java compiler, version 1.0* from F:\TestRoot\apps\a1\units\include\PolicyHome.idl* Wednesday, June 17, 1998 6:44:40 o’clock AM GMT+00:00*/public class Test{publi...2007-08-15 13:03:16 · 102 阅读 · 0 评论 -
【转载】候捷谈Java反射机制
摘要<o:p></o:p>Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括f...2007-08-11 12:16:34 · 99 阅读 · 0 评论 -
JAVA 中awt与swing的区别
在swing组件中当我们调用repaint()方法时,会很快调用paint(),而对于重量级组件会首先调用upate()方法,然后upate()方法再调用paint()方法,在重量级组件中实现双缓冲,我们就要重写upate()方法,在重写的时候记得实现帅新屏幕。因为默认的upate()方法会首先帅新屏幕。而在swing组件中,我们不需要实现update()方法,但是我们要重写paint()方法,并...2007-08-09 19:36:15 · 219 阅读 · 0 评论 -
关于对象的克隆
在JAVA中对于对象默认是传引用,所以在调用方法的时候有可能会产生副作用,(我们调用方法一般要么是返回一个值,要么是改变调用者的状态,而一般不会为了改变一个方法的参数去调用该方法,并且在设计方法时也不会专门设计一个方法来改变传到方法里的参数),为了阻止副作用的产生,一般就要用到JAVA中的克隆了。但是用克隆也要格外小心,因为JAVA类库的设计者们把Object的clone()方法限定为了prote...2007-08-08 21:15:31 · 96 阅读 · 0 评论 -
JAVA类加载器
Java中加载器的种类大致可以分为四种:Bootstrap ClassLoader(由C++语言写成),系统加载器(也就是内部类AppClassLoader),ExtClassLoader,以及java.net.UrlClassLoader. 当我们运行一个程序时,首先是找到JDK安装目下的jvm.dll来启动JAVA虚拟机,而后Bootstrap Class...2007-09-01 20:12:24 · 99 阅读 · 0 评论 -
[转帖]利用Eclipse编辑中文资源文件
如果经常使用Struts,并做过国际化操作的人来说,对于中文资源文件的处理应该不会感到陌生的。比如下面两个文件,一个是英文的,一个是中文的。对于英文的,一切照常;对于中文的,一般需要用JDK的native2ascii工具进行转换。 application_en.properties # Resources for t...2007-09-09 03:57:55 · 223 阅读 · 0 评论 -
Java自定义URL协议
Java提供了对URL协议进行扩展的能力,通过扩展用户可以自定义URL通信协议,JDK默认提供了对HTTP,FTP,JAR,FILE等的实现,而当需要自己定义通信协议的时候,就需要利用JDK提供的对URL扩展机制进行自定义。 JDK主要提供了如下三种方式对URL进行扩展,每种方式都有各自的使...2011-08-31 18:26:48 · 514 阅读 · 0 评论 -
JDK 1.6.0_13 Jaxb的一个Bug
项目中使用jaxb进行xml binding,但是在jdk1.6.0_13版本下,程序debug的过程,线程一直阻塞,不清楚具体什么原因,换用jdk1.6.0_22即正常,大家有没有遇到类似情况?...2011-05-10 16:50:22 · 188 阅读 · 0 评论 -
JVM内存模型以及垃圾收集策略解析【续】
今天接着补全上篇博文。三 垃圾收集策略配置 3.1 吞吐量优先 吞吐量是指GC的时间与运行总时间的比值,比如系统运行了100分钟,而GC占用了一分钟,那么吞吐量就是99%,吞吐量优先一般运用于对响应性要求不高的场合,比如web应用,因为网络传输本来就有延迟的问题,GC造成的短暂的暂停使得用户以为是网络阻塞所致。吞吐量优先可以通过-XX:GCTimeRatio来指定。当通过-...原创 2010-02-22 20:00:31 · 128 阅读 · 0 评论 -
JVM内存模型以及垃圾收集策略解析
首先祝大家春节愉快,几个月前研究了一下JVM的内存模型,整理学习心得,共享出来和大家一起学习讨论进步。 一 JVM内存模型 1.1 Java栈 Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。它主要用来存储线程执行过程中的局部变量,方法的返回值,以及方法调用上下文。栈空间随着线程的终止而释放。StackOverflowError:如果...原创 2010-02-21 21:19:28 · 132 阅读 · 0 评论 -
Apache+PHP+Mysql的搭建
以前都是用JAVA,PHP没用过,今天因为一些原因,需要搭建一个WIKI,于是就搭建了一下,下面记录一下一些问题: 首先是apache和php集成的问题:(修改apache的httpd.conf) 1 apache 的httped.conf文件中的配置不要用中文,刚开始php安装在了中文目录,老是apache识别不了PHP。 2 增加 LoadModule php5...原创 2010-08-05 19:29:11 · 118 阅读 · 0 评论 -
捕获checked exception后什么都不做的代价
[size=large]最近在做一个小项目,做到注册模块的时候,如果查询数据库后,发现用户名已经存在就抛出一个UserExistedException给业务委托层,结果我在业务委托里,捕获异常后什么都没有做,结果导致程序就卡在那里阻塞了,调试了很久没发现错误,一看代码发现自己犯了一个超级低级,不能容忍的错误,打算面壁思过一小时(o(∩_∩)o...哈哈),[color=red]今天记死了,捕获异常...2008-05-09 13:03:07 · 140 阅读 · 0 评论 -
Three kinds of attributes in servlet
There are three kinds of attributes in the servlet api.they are seperated ServletContext attribute,ServletRequest attribute and httpsession attribute.they have different accessibility,scope and usage....2008-03-02 00:21:15 · 109 阅读 · 0 评论 -
My first Android programe!
Today,i writed my first Android programe with the google offical document! and I found it was very interesting.The Android is not only a mobile phone open souce os,but also a mobie phone developing p...2007-11-18 12:26:19 · 103 阅读 · 0 评论 -
Java是剑客;.NET是刀客(转载)
剑,一把好剑,重三两三分,轻如蝉翼,千年寒冰所铸,剑身咖啡色,剑柄发黑,玄机暗藏,此乃好剑-JAVA 剑入江湖十年有余,未尝一败,纵观江湖十数载,除无极棍C/C++之外,此剑未输其他,甚至隐隐有超越之势,夺其宝座之嫌,然无极棍毕竟功力深厚,用之越久则威力更盛,不比其他武器,上手便是花招,给初次使用者以极大的荣誉感和满足感,忽略内家功夫的根基..此乃大忌..Java剑行走江湖十...2007-10-21 22:22:46 · 164 阅读 · 0 评论 -
Java类加载器解析
作者:狂放不羁 网址:http://yuquan-nana.iteye.com >>>转载请注明出处!<<<一:分类 Java中的类加载器可以分为四类:1 Bootstrp loader Bootstrp加载器是用C++语言写的,它是在Java虚拟机启动后初始化的,它主要负责加载%JAVA_HOME%/jre/lib以及%JAVA_HOME%/jre/...2008-08-10 19:03:40 · 89 阅读 · 0 评论 -
高级语言发展简图
C/C++语言谱系图2007-09-30 15:35:04 · 360 阅读 · 0 评论 -
C#,C++ 与JAVA
C#(C-Sharp)是Microsoft的新编程语言,被誉为“C/C++家族中第一种面向组件的语言”。然而,不管它自己宣称的是什么,许多人认为C#更像是Java的一种克隆,或者是Microsoft用来替代Java的产品。事实是否是这样的呢? 本文的比较结果表明,C#不止是Java的同胞那么简单。如果你是一个Java开发者,想要学习C#或者了解更多有关C#的知识,那么本文就是你必须把最初10分...2007-09-30 15:31:00 · 265 阅读 · 0 评论 -
对象序列化
java 代码 java 中要想对一个对象进行序列化操作,必须实现Serializable或者是Externalizable接口。对于Serializable,我们可以通过transient关键字来控制一些不想被序列化的部分域,并且可以通过实现两个特殊的方法: private void writeObject( ObjectOutputStream oos) thro...2007-08-04 20:46:27 · 212 阅读 · 0 评论 -
ObjectInputStream和ObjectOutputStream
在new这两个类时,应该先new ObjectOuputStream,然后再new ObjectInputStream,否则会死锁。。2007-08-03 16:48:01 · 169 阅读 · 0 评论 -
JDBC 连接数据库
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。 一、连接各种数据库方式速查表 ...2007-08-01 01:54:28 · 91 阅读 · 0 评论 -
JAVA编码问题[转]
1.字节和unicode java内核是unicode的,就连class文件也是,但是很多媒体,包括文件/流的保存方式是使用字节流的。因此java要对这些字节流经行转化。char是unicode的,而byte是字节。java中byte/char互转的函数在sun.io的包中间有。其中ByteToCharConverter类是中调度,可以用来告诉你,你用的convertor。其中两个很常用的...2007-06-06 09:55:50 · 91 阅读 · 0 评论 -
java 中常见的一些基本问题解答
1。java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类3、int 和 Integer 有什么区别Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类bo...2007-06-05 23:24:55 · 366 阅读 · 0 评论 -
JAVA解惑之—条件操作符
public class DosEquis{ public static void main(String [ ] args){ int i =0; char x='X'; System.out.println( true ? x : 0 ); // (1) System.out.println(false? i...2007-06-05 20:50:30 · 117 阅读 · 0 评论 -
JAVA解惑之—聪明的交换(有意思哦)
异或操作符:^ 有一条性质:x^y^x=y;根据这条性质,我们可以改变交换一下两个数的值。x=x^y;y=y^x;x=y^x;这样x,y其不是交换了哈哈。下面的小程序演示了一下这个交换问题哈哈。public class CleverSwap{ public static void main(String[ ] args){ int x = 1984; ...2007-06-04 21:05:54 · 122 阅读 · 0 评论 -
[转]简析JAVA的XML编程
XML作为全球通用的结构化语言,越来越受人们青睐,各种开发平台(比如Microsoft Studio系列、Oracle系列、Inprise Borland系列等)也都把支持XML开发作为宣传口号之一 。由于笔者所从事的电子政务开发较早的引入了XML,所以尝到了许多甜头,在许多项目中利用XML数据交换信息,省去了许多麻烦事,不用制定繁锁的数据格式,利用XML数据易于表达,也利于一线开发者跟踪调试。 ...2007-06-04 10:35:04 · 179 阅读 · 0 评论 -
java解惑之—多重转型。
下面这个小程序给我们展示了JAVA中符号扩展的有趣之处。public class Muticast{ public static void main(String[ ] args){ System.out.println((int)(char)(byte) - 1 ); }}本程序运行结果是:65535 o(∩_∩)o...哈哈上面的程序涉及到...2007-06-02 20:04:49 · 158 阅读 · 0 评论 -
java解惑之—十六进制的字面常量。
先来看一个小程序:public class JoyOfHex{ public static void main(Sting[ ] args){ System.out.println( Long.toHexString(0x100000000L+0xcafebabe)); }}初看这个小程序的结果应该是:1cafebabe...2007-06-01 21:09:12 · 241 阅读 · 0 评论 -
JAVA集合框架图(二)
下图是常用的类的结构图:摘自:Thinking in java2007-06-01 10:47:49 · 171 阅读 · 0 评论 -
JAVA解惑之—长整除
我们先来看一个短小的程序:public class LongDivison{ public static void main(String[ ] args){ final long millise_per_day = 24*60*60*1000; final long micros_per_day = 24*60*60*1000*1000; ...2007-05-31 19:20:26 · 222 阅读 · 0 评论 -
JAVA集合框架(一)
注意:1 点线框代表接口,虚线框表示抽象类,实线框表示具体的类。 2 实线箭头表示这个类可以生成被指向的那个类的对象。(此时实际上指的是实现了接口的对象) ...2007-05-30 18:47:13 · 91 阅读 · 0 评论