自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (3)
  • 收藏
  • 关注

转载 Spring AOP的底层实现技术

AOP概述软件的编程语言最终的目的就是用更自然更灵活的方式模拟世界,从原始机器语言到过程语言再到面向对象的语言,我们看到编程语言在一步步用更自然、更强大的方式描述软件。AOP是软件开发思想的一个飞跃,AOP的引入将有效弥补OOP的不足,OOP和AOP分别从纵向和横向对软件进行抽象,有效地消除重复性的代码,使代码以更优雅的更有效的方式进行逻辑表达。AOP有三种植入切面的方法:其一是编译期织入,这要求使用特殊的Java编译器,AspectJ是其中的代表者;其二是类装载期织入,而这要求使用特殊的类装载器,Aspe

2011-02-27 12:53:00 1550

原创 java面试题集锦(四)

<br />JAVA 代码找错:<br />1:<br />abstract class Name { private String name; public abstract boolean isStupidName(String name) {}} <br />答案: 错。abstract method必须以分号结尾,且不带花括号。<br />2:<br />public class Something { void doSomething () { priv

2011-02-26 22:09:00 977

原创 java面试题集锦(三)

101、java中会存在内存泄漏吗,请简单描述。会。如:int i,i2;  return (i-i2);   //when i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。 102、java中实现多态的机制是什么?方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。 103、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动

2011-02-26 21:50:00 1489 1

原创 java面试题集锦(二)

<br />51、垃圾回收的优点和原理。并考虑2种回收机制。Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃

2011-02-26 21:46:00 984

原创 java面试题集锦(一)

<br />面向对象的特征 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用者看作单个的实体看待,尽管这个操作实际上可能由一系列更低级的操作来完成。数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和观察。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的

2011-02-26 21:44:00 1111

转载 Java开发程序员必知的Java编程的10种错误

<br /><br />作为程序员在程序开发的过程中难免的要出现一些不是自己水平问题二出现的一些常见的错误。本文就为大家介绍一些常见在Java开发过程中遇见的一些常见的错误。<br />一、常见错误1:多次拷贝字符串<br />测试所不能发现的一个错误是生成不可变(immutable)对象的多份拷贝。不可变对象是不可改变的,因此不需要拷贝它。最常用的不可变对象是String。<br />如果你必须改变一个String对象的内容,你应该使用StringBuffer。下面的代码会正常工作:String s = 

2011-02-25 13:20:00 982

原创 java.lang.Class 类学习

一,说明: 1,Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。2,Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的,因此不能显式地声明一个Class对象。3,虚拟机为每种类型管

2011-02-24 21:39:00 709

原创 ClassLoader 工作原理与模式

<br /> <br />深入JVM:关于ClassLoader的一些知识<br />一.什么是ClassLoader<br />Java程序并不是一个原生的可执行文件,而是由许多独立的类文件组成,每一个文件对应一个Java类.此外,这些类文件并非立即全部装入内存的,而是根据程序需要装入内存。ClassLoader专门负责类文件装入到内存.<br />二.ClassLoader的体系结构<br />(1)BootStrap是最顶层的类加载器,它是由C++编写而成,并且已经内嵌到JVM中了,主要用来读取Jav

2011-02-22 10:38:00 4339

原创 线程同步小结

线程同步小结 1、线程同步的目的是为了保护多个线程反问一个资源时对资源的破坏。2、线程同步方法是通过锁来实现,每个对象都有切仅有一个锁,这个锁与一个特定的对象关联,线程一旦获取了对象锁,其他访问该对象的线程就无法再访问该对象的其他同步方法。3、对于静态同步方法,锁是针对这个类的,锁对象是该类的Class对象。静态和非静态方法的锁互不干预。一个线程获得锁,当在一个同步方法中访问另外对象上的同步方法时,会获取这两个对象锁。4、对于同步,要时刻清醒在哪个对象上同步,这是关键。5、编写线程安

2011-02-20 15:44:00 743

转载 简述JDK里的23个经典设计模式

<br /> JDK中有关23个经典设计模式的示例:Adapter:java.util.Arrays#asList() javax.swing.JTable(TableModel) java.io.InputStreamReader(InputStream) java.io.OutputStreamWriter(OutputStream) javax.xml.bind.annotation.adapters.XmlAdapter#marshal()

2011-02-20 12:47:00 848

原创 Hashtable HashMap Vector ArrayList List 区别

<br />Hashtable和HashMap的区别:<br />1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;<br />2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决:<br />Map Collections.sync

2011-02-19 16:50:00 1072

转载 hashCode() 和equals() 区别和作用

<br />HashSet和HashMap一直都是JDK中最常用的两个类,HashSet要求不能存储相同的对象,HashMap要求不能存储相同的键。 <br />那么Java运行时环境是如何判断HashSet中相同对象、HashMap中相同键的呢?当存储了“相同的东西”之后Java运行时环境又将如何来维护呢? <br /><br />在研究这个问题之前,首先说明一下JDK对equals(Object obj)和hashcode()这两个方法的定义和规范: <br />在Java中任何一个对象都具备equal

2011-02-19 15:41:00 16416 4

原创 HashMap 与HashTable 区别

<br />HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。 <br />1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。<br /><br />2.HashTable不允许null值(key和value都不可以),HashMap允

2011-02-19 15:24:00 891

转载 Java 垃圾回收算法

<br />  透视Java垃圾回收<br />命令行参数透视垃圾收集器的运行<br />使用System.gc()可以不管JVM使用的是哪一种垃圾回收的算法,都可以请求Java的垃圾回收。在命令行中有一个参数-verbosegc可以查看Java使用的堆内存的情况,它的格式如下:java -verbosegc classfile   <br />可以看个例子:<br />java -verbosegc classfile  <br />在这个例子中,一个新的对象被创建,由于它没有使用,所以该对象迅速地

2011-02-18 12:28:00 1002

原创 javascript 读写本地文件

<br /> 1.  写入FileSystemObject可以将文件翻译成文件流。第一步:例:Var fso=new ActiveXObject(Scripting.FileSystemObject);创建一个可以将文件翻译成文件流的对象。第二步:用于创建一个textStream 对象括号里边有三个属性1.  文件的绝对路径2.  文件的常数 只读=1,只写=2 ,追加=8 等权限。(ForReading 、ForWriting 或 ForAppending 。);3.  一个布尔值 允许新建则为true 

2011-02-15 16:29:00 13330

转载 Java 垃圾回收原理

<br /><br /> 垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。<br /> <br />引用计数收集器<br /> <br />引用计数是垃圾收集器中的早期策略。在这种方法中,堆中每个对象(不是引用)都有一个引用计数。当一个对象被创建时,且将该对象分配给一个变量,该变量计数设置为1。当任何其它变量被赋值为这个对象的引用时,计数加1(a = b,则b引用的对象+1),但当一

2011-02-15 13:04:00 1674

EaseSoft Barcode DLL

easesoft公司出品的关于二维条形码的动态链接库文件 测试源代码

2010-01-22

文本编辑器JEdit 源代码

JEDIT 源代码 开源工具 文本编辑器 C++ ,JAVA 等语言的语法关键字光亮 语法折叠 功能

2010-01-21

软件工程:实践者的研究方法

软件工程:实践者的研究方法 一款非常好的软件工程方面的书籍

2010-01-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除