java基础
文章平均质量分 57
daerduochen
这个作者很懒,什么都没留下…
展开
-
Java容器类
1. 接口整个Java容器类的基础是容器接口(例如Collection,Map等接口),而不是类。使用接口的最大好处在于将容器的实现与容器的接口分开,这就意味着你可以使用相同的方法访问容器而不用关心容器是由什么样的数据结构实现的。同样,Iterator接口也使得用户可以使用相同的方法访问不同的容器类。以上这些是通用算法的基础。1.1 Collection接口Collection接口有如下基本方...原创 2009-05-08 10:09:13 · 63 阅读 · 0 评论 -
深入Java核心:JVM中的栈和局部变量
Java开发中,每当我们在程序中使用new生成一个对象,对象的引用存放在栈里,而对象是存放在堆里的。可以看出栈在Java核心的重要位置。今天我们就继续深入Java核心这个系列,为您介绍Java中的栈、局部变量及其之间的关系。 Java中的栈 每当启用一个线程时,JVM就为他分配一个Java栈,栈是以帧为单位保存当前线程的运行状态。某个线程正在执行的方法称为当前方法,当前方法使用的...原创 2010-10-18 14:11:10 · 118 阅读 · 0 评论 -
java 常见模型原理
JSF六个底层原理: --重建组件树:jsf应用里的jsp页面被表示成一个组件树。在这个阶段里,通过重建这棵树开始LifeCycle处理过程。每个组件树都有一个在整个应用程序范围里唯一的标识符,此标识符是所请求URI的路径信息部分 --应用请求值:在这个阶段,使用请求里的当前值来更新每个组件的本地值,这些值可能来自请求参数,请求的包头及cookie。在这个阶段的处理中,组件可以往事件队列里加入某些...原创 2010-02-20 23:22:51 · 139 阅读 · 0 评论 -
java 运行时异常和受控异常
受控异常就是checked Exception ,这些异常在你写代码时候必须用try{}catch语句抓住,或者throw抛出,不然代码编译时候就通不过。比如IOException ,SqlException,FileNotFoundExcption等等, 而运行时异常是你写代码的时候不需要catch,或者throw就可以通过编译的异常,一般由于程序员的错误引起的,比如NullPointExcep...原创 2010-02-20 23:14:32 · 349 阅读 · 0 评论 -
string stringBuffer stringBuilder
关于String与StringBuffer的使用在各大网站都有说明了,因为String对象一旦创建是不能改变的,总的来说StringBuffer比String在效率上的优越的。如果要对一个字符串进行多次连接操作,大多数情况下,初学者会使用“+”,而程序员会选用StringBuffer的append方法。不过,这里还要介绍一种StringBuilder。在Thinking in Java书中...原创 2010-02-03 11:44:19 · 79 阅读 · 0 评论 -
回调函数
先定义回调接口:public interface CallBack { public void execute();} public class TestCallBack { public static void testCallBackMethod(CallBack callBack){ System.out.println("Before call bac...原创 2010-02-03 11:40:07 · 67 阅读 · 0 评论 -
一道算法题
题目是这样的:给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排对应那个数在下排十个数中出现的次数。 上排的十个数如下: 【0,1,2,3,4,5,6,7,8,9】题目是这样的:给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排对应那个数在下排十个数中出现的次数。 上排的十个数如下: 【0,...原创 2010-01-22 16:01:33 · 98 阅读 · 0 评论 -
java容器
l概念分类Java 2将容器分为两个不同的概念: Collection 与MapCollection: 提供对一组各自独立的元素的集合,List 与 Set接口都继承自Collection接口。Map:提供了一组key-value(键值对)。 两种类型的主要区别在于:Collection类型每个位置只持有一个元素(Object),比如List以加入到容器中的先后顺序来持有一...原创 2010-01-21 14:36:49 · 95 阅读 · 0 评论 -
网络编程基础知识
网络中互相通信需要协议,不同曾具有各自不同的协议。 协议是为进行网络中的数据交换与通信而建立的规则、标准或约定。 ISO/OSI OSI(Open System Interconnection)参考模型将网络的不同功能划分为7层1.物...原创 2010-01-21 10:41:04 · 88 阅读 · 0 评论 -
Java中的值传递和引用传递
在java中实质只存在一种传递方式:即值传递。 而引用传递是对C/C++而言的。结论: 对于基本类型,在方法体内对方法参数进行重新赋值,并不会改变原有变量的值。 对于引用类型,在方法体内对方法参数进行重新赋予引用,并不会改变原有变量所持有的引用。 方法体内对参数进行运算,不影响原有变量的值。 方法体内对参数所指向对象的属性进行运算,将改变原有变量所指向对象的属性值。 ...原创 2010-01-19 16:20:13 · 63 阅读 · 0 评论 -
一个对屏幕截图的程序
java 代码 import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.i...原创 2009-05-20 16:42:31 · 94 阅读 · 0 评论 -
Java性能优化之实战漫谈[1]
最近由于工作的原因,对Java的性能优化比较关注,其间也看到不少比较好的文章系列,比如Program-Think同学的Java性能优化系列。平常工作的时候,发现稍微有点好想法的时候,把自己独自一个人关在小屋子里集中精力思考,效果很不错,俗称“闭关”,大家也可以试一试。 谈到Java优化,我认为一切开始之前,最最重要的是找到一个合适的profile工具,这里有篇文章介绍的很详细:How t...原创 2009-05-20 15:53:02 · 84 阅读 · 0 评论 -
java动态代理
编写Java动态代理的步骤如下: 1.创建一个实现接口InvocationHandler的类,它必须实现invoke方法 2.创建被代理的类以及接口 3.通过Proxy的静态方法 newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h) 4.通过代理调用...原创 2009-05-18 17:15:11 · 81 阅读 · 0 评论 -
java5 foreach用法
for(Object o:set) 这个表达式表示:将set集合中的对象循环赋给o。 例如: int a[] = new int[]{1,2,3}; for(int b:a){ System.out.println(b);} 这样就能把a数组里面的数据循环打印出来。 output:123...2009-05-13 16:43:45 · 93 阅读 · 0 评论 -
java技术与java虚拟机
Java虚拟机的深入研究作者:刘学超 1 Java技术与Java虚拟机说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示: 图1 Java四个方面的关系运行期环境代表着Java平台,开发人员编写Java代...原创 2009-05-13 15:56:15 · 277 阅读 · 0 评论 -
Java中Overload和Override的区别
方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被...原创 2009-05-13 15:54:28 · 50 阅读 · 0 评论 -
Java中的数组使用
1. 创造数组(Creating an array) 对于基本数据类型(int, float, char): int carrot []; //不要在[ ]中加数字carrot = new int [256]; 这等价于int carrot [] = new int [256]; 这之后, 我们就可以给数组中的元素赋值...原创 2009-05-13 15:53:27 · 74 阅读 · 0 评论 -
Java中static 和final的区别
final定义的变量可以看做一个常量,不能被改变; final定义的方法不能被覆盖; final定义的类不能被继承。 final static 就是再加上static的特性就可以了 static 和final是没有直接关系的 static 是在内存中分配一块区域,供整个类通用,所有的类的对象都享有它的共同的值 static 和final的区别 一、static : 什么情况下我们要使用static...原创 2009-05-13 15:45:34 · 59 阅读 · 0 评论 -
Java内存管理
从理论上来讲java做的系统并不比其他语言开发出来的系统更占用内存,那么为什么却有这么N多理由来证明它确实占内存呢?两个字,陋习。本文将介绍几则Java内存管理的小技巧,让你告别陋习,为自己所编写的Java程序提速。 Java做的系统给人的印象是什么?占内存!说道这句话就会有N多人站出来为java辩护,并举出一堆的性能测试报告来证明这一点。 其实从理论上来讲java做的系统并不比其他语...原创 2010-10-18 14:12:09 · 80 阅读 · 0 评论