`
zero_lx
  • 浏览: 17229 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
可以将一个类的定义放在另一个类的定义内部,这就是内部类。内部类可以使用外部类的私有属性而不会破坏封装性,而且内部类可以访问外部类的所有方法与属性,但static的内部类只能访问外部类的静态属性与方法。内部类又可以分为成员内部类、静态内部类、局部内部类和匿名内部类。   首先说下成员内部类,类似于外部类的实例属性或函数,成员类有public/private/default权限修饰符。一个成员类实例必然所属一个外部类实例,成员类可访问外部类的任一个实例字段或实例函数。成员类内部访问其所属外部类实例采用"OuterClass.this .属性 "的形式,在内部类中访问实例变 ...
在java中Throwable类是异常和错误的超类,继承它的是Error和Exception两个子类。一个Error对象表示一个程序错误,指的是底层的不可恢复的严重错误,遇到Error,程序一定会退出,因为已经失去了运行所必须的底层物理环境。对于Error ...
代理模式是为其他对象提供一种代理以控制对这个对象的访问,或是为了提供额外或不同的操作,而插入用来代替“实际”对象的对象。 代理模式中涉及到的角色: 抽象角色:真实对象和代理对象的共同接口。代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实的对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时代理对象可以在执行真实对象操作时,附加其他操作,相当于对真实对象进行封装。真实角色:代理角色所代表的真实对象,是我们最终要引用的对象。 解释这几个角色,最好理解的就是静态代理模式,首先就是抽象角色。 interface Interface{ void d ...
ArrayList这个容器实质上就是个会自动增长的数组,默认初始容量是10,按原容器的1.5倍扩容。在ArrayList里面定义了一个私有的数组。 /** * The array buffer into which the elements of the ArrayList are stored. * The capacity of the ArrayList is the length of this array buffer. */ private transient Object[] elementData; /** ...
折半查找算法描述:假定顺序表已按升序排列,从表的中间位置开始比较,如果当前元素的关键字等于给定值,则查找成功;否则,若给定值小于当前元素关键字,则在表的前半段继续查找;反之,在后半段继续查找,直到获得查找结果。 public static int binarySearch(int array[], int value) { int low = 0; int heig = array.length - 1; int mid; while (low <= heig) { mid = (low + heig) / 2; if (array[mid] ...
一直以来老是容易把选择排序和冒泡排序混淆,这次通过debug跟踪程序总算是弄明白两者之间的差别了。先说说选择排序和冒泡排序最主要的区别。最主要的就一点,选择排序是在每次排序的时候找出最小(或最大)的那个元素 ...

论java字符串池

java运行环境有一个字符串池。比如String str="abc"时,会首先查看字符串池中是否存在字符串"abc",如果存在则直接将"abc"赋给str,如果不存在则会先在字符串池中新建一个字符串"abc",然后再将其赋给str。如果执行代码 String str1="abc"; String str2="abc"; System.out.println(str1==str2);    则这段代码结果就会是true。执行str1时,会首先检查字符串池中是否存在&qu ...
默认情况下,在shell中改变或设置的变量只在此次登录中有效,一旦logout后再login,则设定恢复初始值。 比如,在shell中设定变量 a=3,在当前shell 中可以通过 set | grep 'a=3' 来查看到刚刚设定的变量值, 但在其他的shell中是看不到这个变量的,而且当这个shell关闭这个变量也就随之消失了。   bash在用户登录时会从四个文件中读取环境变量的设定: 全局设置文件 /etc/profile /etc/bashrc  用户设置文件 ~/.bashrc ~/.bash_profile    ~/.bash_logout:在用户logou ...
关于使用 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' 当执行 l. 命令是列出所有带 . 的隐藏文件和目录,当执行cp、mv或rm命令时都会有提示询问是否覆盖或删除。 要设定别名时用 alias 别名='命令 -参数'  比如我要设定别名a列出全部 ...
周末在家闲着无事就决定安装Oracle玩玩。这次用的是 RedhatEnterprise 4 + Oracle11gR2,在这次安装过程中遇到了些问题,特总结下来以备后用。在开始安装之前先是安装Linux,由于在前几次的安装中跟/只挂载了10G左右的容量,没想到/u01也是用的/的容量,因此在安装完Linux系统后/只有大概4G左右的容量了是不够安装Oracle的。而且安我的习惯是将安装包解压到/tmp目录下,而/tmp目录也是用的/的容量。因此在这次安装中,在装Linux时,我就单独将/u01挂载了一些容量,只是这次挂载的容量还是小了点,只挂载了5G左右的容量,下次安装要挂载8-10G左右的容 ...
diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行。在最简单的情况下,diff比较两个文件的内容(源文件和目标文件)。文件名可以是 - 由标准输入设备读入的文本,作为特别的情况是 diff - - 比较一份标准输入的它自己的拷贝。如果源文件是一个目录而目标文件不是,diff会比较在源文件里的文件和目标文件同名的文件。如果源文件和目标文件都是目录,diff比较两个目录中相应的文件,这个比较不会是递归的,除非给出 -r 或者 --recursice。diff大多数的选项有两个相同的名字,一个是单个跟在-后面的字母,一个是由--引出的 ...
        前两天从windows系统中下了些学习用的文本文件(TXT格式),放到ubuntu中用gedit打开就是乱码了。在网上查了下原因找到了解决办法。   由于windows编写的很多TXT中文都是GB2312编码的,所以放到linux中用gedit打开的时候,会出现乱码(gedit用utf-8编码) 所以我们要设置gedit,使得得它能识别GB2312 需要用gconf-editor,对gedit进行配置,打开gconf-editor方法可以是 命令行运行gconf-editor, 也可以是在主菜单里的系统工具里找到, 如果没有,可以添加主菜单编辑添 ...
        在ubuntu中关于网络相关的信息配置在 /etc/network/interfaces 中,可以用 gedit (sudo gedit /etc/network/interfaces)或vi打开编辑。打开后内容如下:            auto lo            iface lo inet loopback          这表示在我的本机上只配置了回路地址。如果要配置DHCP(假设通过eth0):             auto eth0             iface eth0 inet dhcp   //指定为DHCP ...
         ubuntu系统默认是没有超级用户的,但有些操作只有超级用户才有权限进行,但是在ubuntu中我们根本不可能知道root用户的密码是多少。因此在ubuntu中切换root用户只有使用其他方法,主要有:         1、使用 sudo -i 命令,然后会提示需要输入当前用户的密码,输完后就会转换成超级用户了。提示符会由$变成#了。在这里要说明下,sudo -s -H 的作用同sudo -i都是普通用户切换到超级用户,只是都需要输入密码。         2、可以使用 sudo passwd root 修改或设置root用户的密码,然后就可以使用 su 命 ...
         ubuntu有个软件中心,在里面可以下载很多不错的软件。但是下载的同时,在磁盘会产生临时的软件包。如果安装完后没有用了就可以删了,不然临时的软件包会越积越多,越来越占空间。           用命令sudo apt-get install安装软件时,下载的软件包会临时缓存在 /var/cache/apt/archives/ 目录下,如果要清理这些已下载的软件包,可以执行命令:           sudo apt-get autoclean           sudo apt-get clean             在ubuntu中,当从系统中卸载 ...
Global site tag (gtag.js) - Google Analytics