自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 Java中的内部类机制

可以将一个类的定义放在另一个类的定义内部,这就是内部类。内部类可以使用外部类的私有属性而不会破坏封装性,而且内部类可以访问外部类的所有方法与属性,但static的内部类只能访问外部类的静态属性与方法。内部类又可以分为成员内部类、静态内部类、局部内部类和匿名内部类。 首先说下成员内部类,类似于外部类的实例属性或函数,成员类有public/private/default权限修饰符。一个成员类实...

2011-09-10 16:14:09 113

原创 浅谈java中的异常机制

在java中Throwable类是异常和错误的超类,继承它的是Error和Exception两个子类。一个Error对象表示一个程序错误,指的是底层的不可恢复的严重错误,遇到Error,程序一定会退出,因为已经失去了运行所必须的底层物理环境。对于Error我们无法进行处理。而Exception是由特定因素导致程序无法继续,但不影响虚拟机的正常执行。而Exception又分为运行时异常(未检查异常)...

2011-08-30 22:04:24 106

原创 说说java中的代理模式

代理模式是为其他对象提供一种代理以控制对这个对象的访问,或是为了提供额外或不同的操作,而插入用来代替“实际”对象的对象。代理模式中涉及到的角色:抽象角色:真实对象和代理对象的共同接口。代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实的对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时代理对象可以在执行真实对象操作时,附加其他操作,相当于对真实对象...

2011-08-13 23:48:03 104

原创 深入剖析ArrayList源代码

ArrayList这个容器实质上就是个会自动增长的数组,默认初始容量是10,按原容器的1.5倍扩容。在ArrayList里面定义了一个私有的数组。/** * The array buffer into which the elements of the ArrayList are stored. * The capacity of the ArrayList is t...

2011-08-02 22:09:32 81

原创 论二分折半查找

折半查找算法描述:假定顺序表已按升序排列,从表的中间位置开始比较,如果当前元素的关键字等于给定值,则查找成功;否则,若给定值小于当前元素关键字,则在表的前半段继续查找;反之,在后半段继续查找,直到获得查找结果。public static int binarySearch(int array[], int value) { int low = 0; int heig = array...

2011-07-31 13:48:05 69

原创 论选择排序和冒泡排序

一直以来老是容易把选择排序和冒泡排序混淆,这次通过debug跟踪程序总算是弄明白两者之间的差别了。先说说选择排序和冒泡排序最主要的区别。最主要的就一点,选择排序是在每次排序的时候找出最小(或最大)的那个元素,然后与假定的那个元素交换位置,但是在找出那个元素之前是不交换位置的。而冒泡排序是在每次排序的时候通过交换下一个元素的位置来找出最小(或最大)的那个元素,并同时安排好这个元素的位置。关键代码差别...

2011-07-26 23:49:21 75

原创 论java字符串池

java运行环境有一个字符串池。比如String str="abc"时,会首先查看字符串池中是否存在字符串"abc",如果存在则直接将"abc"赋给str,如果不存在则会先在字符串池中新建一个字符串"abc",然后再将其赋给str。如果执行代码String str1="abc";String str2="abc";System.out.println(str1==str2);

2011-07-21 23:12:27 115

原创 学Linux命令杂记2

默认情况下,在shell中改变或设置的变量只在此次登录中有效,一旦logout后再login,则设定恢复初始值。比如,在shell中设定变量 a=3,在当前shell 中可以通过 set | grep 'a=3' 来查看到刚刚设定的变量值, 但在其他的shell中是看不到这个变量的,而且当这个shell关闭这个变量也就随之消失了。 bash在用户登录时会从四个文件中读取环境变量的设定:...

2011-07-09 21:45:50 75

原创 最近学Linux命令杂记1

关于使用 alias 查看命令别名,单独使用alias命令而不带任何参数是列出此系统中已设定的别名。比如说我系统上已设定好的别名:alias cp='cp -i'alias l.='ls -d .* --color=tty'alias ll='ls -l --color=tty'alias ls='ls --color=tty'alias mv='mv -i'alias rm='rm -i...

2011-07-06 23:40:00 78

原创 Linux中Oracle的安装

周末在家闲着无事就决定安装Oracle玩玩。这次用的是 RedhatEnterprise 4 + Oracle11gR2,在这次安装过程中遇到了些问题,特总结下来以备后用。在开始安装之前先是安装Linux,由于在前几次的安装中跟/只挂载了10G左右的容量,没想到/u01也是用的/的容量,因此在安装完Linux系统后/只有大概4G左右的容量了是不够安装Oracle的。而且安我的习惯是将安装包解压到/...

2011-07-03 20:09:47 201

原创 关于比较文件diff命令

diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行。在最简单的情况下,diff比较两个文件的内容(源文件和目标文件)。文件名可以是 - 由标准输入设备读入的文本,作为特别的情况是 diff - - 比较一份标准输入的它自己的拷贝。如果源文件是一个目录而目标文件不是,diff会比较在源文件里的文件和目标文件同名的文件。如果源文件和目...

2011-06-12 00:21:01 306

原创 ubuntu用gedit打开文本文件字符乱码问题

        前两天从windows系统中下了些学习用的文本文件(TXT格式),放到ubuntu中用gedit打开就是乱码了。在网上查了下原因找到了解决办法。 由于windows编写的很多TXT中文都是GB2312编码的,所以放到linux中用gedit打开的时候,会出现乱码(gedit用utf-8编码)所以我们要设置gedit,使得得它能识别GB2312需要用g...

2011-06-09 22:15:14 234

原创 ubuntu中网络相关配置

        在ubuntu中关于网络相关的信息配置在 /etc/network/interfaces 中,可以用 gedit (sudo gedit /etc/network/interfaces)或vi打开编辑。打开后内容如下:           auto lo           iface lo inet loopback         这表示在我的本机上只配...

2011-06-08 21:24:27 143

原创 谈谈ubuntu的root用户

         ubuntu系统默认是没有超级用户的,但有些操作只有超级用户才有权限进行,但是在ubuntu中我们根本不可能知道root用户的密码是多少。因此在ubuntu中切换root用户只有使用其他方法,主要有:       1、使用 sudo -i 命令,然后会提示需要输入当前用户的密码,输完后就会转换成超级用户了。提示符会由$变成#了。在这里要说明下,sudo -s -H...

2011-06-07 23:01:46 96

原创 ubuntu的磁盘清理

         ubuntu有个软件中心,在里面可以下载很多不错的软件。但是下载的同时,在磁盘会产生临时的软件包。如果安装完后没有用了就可以删了,不然临时的软件包会越积越多,越来越占空间。          用命令sudo apt-get install安装软件时,下载的软件包会临时缓存在 /var/cache/apt/archives/ 目录下,如果要清理这些已下载的软件包,可以执行命...

2011-06-07 21:52:02 129

原创 论IO流之ByteArrayInputStream

      ByteArrayInputStream继承自InputStream抽象类,是以内存中的一个字节数组作为流来进行读写操作。在该流内中包含一个内部缓冲区数组,该缓冲区包含从流中读取的字节。源码如下:public class ByteArrayInputStream extends InputStream { /** * An array of bytes t...

2011-06-04 14:04:37 108

原创 论Java中IO流之InputStream

       首先要说明啥是输入流和输出流,输入流是将数据从文件、标准输入设别或其他外部设备输入加载到内存,而输出流是将内存中的数据保存到文件中或传输到输出设备。然后在Java的IO流里面分字节流和字符流两大类。在字节流里最常用到的就是FileInputStream(FileOutputStream)和BufferedInputStream(BufferedOutputStream)两大类,当然字...

2011-05-31 21:17:52 95

原创 集合之Set

 Set接口是Collection的子接口,Set中的元素是唯一的。Set不包含满足e1.equals(e2)的元素,并且最多包含一个null元素。HashSet是Set接口最常用的一种实现,但它不保证元素的迭代顺序,并允许使用null元素。HashSet的底层是基于HashMap实现的。 /** * Constructs a new, empty set; the b...

2011-03-24 21:44:01 87

原创 集合之Collection

      集合中有List、Set、Queue等等接口,而Collection是这些接口的父接口。而Collection接口是继承自Iterable接口的。也就是说实现Collection接口的集合元素是可迭代。Iterable接口只有一个iterator()方法,返回在这个集合上进行迭代的迭代器。public interface Iterable<T> { /**...

2011-03-23 22:13:55 74

空空如也

空空如也

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

TA关注的人

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