- 浏览: 123539 次
- 性别:
- 来自: 成都
-
文章列表
深入Java单例模式
- 博客分类:
- Java点滴
在GoF的23种设计模式中,单例模式是比较简单的一种。然而,有时候越是简单的东西越容易出现问题。下面就单例设计模式详细的探讨一下。
所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是Java Web中的application,也就是提供了一个全局变量,用处相当广泛,比如保存全局数据,实现全局性的操作等。
1. 最简单的实现
首先,能够想到的最简单的实现是,把类的构造函数写成private的,从而保证别的类不能实例化此类,然后在类中提供一个静态的实例并能够返回给使用者。这样,使用者就可以通过这个引用使用到这个类的实例了。
public ...
前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理? finally 体遇到 return 怎么办?finally 体里有 System.exit() 方法怎么处理?当 catch 和 finally 体里同时遇上 return 怎么办?相信你在处理异常的时候不是每次都把它 throws 掉就完事了,很多时候异常是需要我们自己来 catch 并针对所抛出的 Exception 做一些后续的处理工作。直接上代码,先贴下面测试需要调用的方法:
1 2 // catch 后续处理工作 3 public static boolea ...
http://www.cnblogs.com/rollenholt/archive/2011/08/28/2156357.html
JAVA中float和double的区别
- 博客分类:
- Java点滴
float是单精度类型,精度是6位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间 double是双精度类型,精度是15位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间 当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f 例如:float a=1.3; 则会提示不能将double转化成float 这成为窄型转化 如果要用float来修饰的话,则应该使用float a=1.3f 注意float是6位有效数字,第7位数字将会产生四舍五入 所以如果一个float变量 这 ...
AIX子目录最大数32767
- 博客分类:
- UNIX
这个限制是在/usr/include/sys/limits.h里定义的:
the LINK_MAX value is set to 32767
#define LINK_MAX SHRT_MAX
../..
#define SHRT_MAX (32767)
所以一个目录不能够拥有超过32767个 子目录.
以下是英文解析:
This is due to the fact that \"..\" in each subdirectory is a hard-link back to
the parent directo ...
Linux中包括两种链接:硬链接(hard link)和软链接(soft link),软链接又称为符号链接(symbolic link) 创建命令: ln -s softlink destfile/directory #建立软连接 ln hardlink destfile #建立硬连接 inode 在Linux系统中,内核为 ...
用Eclipse开发Hello World
- 博客分类:
- Java点滴
万事开头难,是不对的,应该万事开头易,才能引人进一步学习的欲望,学语言要从简单的开始
第一步:新建Java项目选 择“File→New→Project...”,选择“Java Project”,点击“Next”,便打开了“New Java Project”向导。在“Project name ...
命令umask用于控制新生成的文件和目录的权限。系统默认的umask值为022,如果umask值为022,则- 新文件的权限为:rw-r--r--- 新目录的权限为:rwxr-xr-x
find
grep
sort
head - 列出文件的头部
head -行数 文件名
tail - 列出文件的尾部
tail -行数|+行数 文件名
list
ls -lrt
df -m
kill
cat
man
chmod
chown
*** 创建空文件
cat file
*** 删除文 ...
DB2与Oracle的区别
- 博客分类:
- DataBase
DB2与oracle的区别
1、DB2 访问前10行数据与Oracle区别
DB2 :
select * from test fetch first 10 rows only
Oracle :
select * from test where rownum<=10
查询语句
Db2:不提供隐形转换
select * from employee where empno=1010;
oracle:提供隐形转换
select * from employee where empno='1010';
2、DB2 Insert into 与 ...
UML类图符号 各种关系说明以及举例
- 博客分类:
- Java点滴
UML类图符号 各种关系说明以及举例
UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等。
依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A;类属关系和实现关系在语义上讲也是依赖关系,但由于其有更特殊的用途,所以被单独描述。uml中用带箭头的虚线表示Dependency关系,箭头指向被依赖元素。
泛化(Generalizati ...
index:1,什么是Servlet2,Servlet有什么作用3,Servlet的生命周期4,Servlet怎么处理一个请求5,Servlet与JSP有什么区别6,Servlet里的cookie技术7,Servlet里的过滤器8,Servlet里的监听器
一,什么是Servlet?
Servlet是一个Java编写的程序,此程序是基于Http协议的,在服务器端运行的(如tomcat),
是按照Servlet规范编写的一个Java类。
二,Servlet有什么作用?
主要是处理客户端的请求并将其结果发送到客户端。
三,Servlet的生命周期?
Servlet的生命周期 ...
list,set,map的区别
- 博客分类:
- Java点滴
http://blog.csdn.net/yinyuan1987/article/details/3291209
List,Set,Map是否继承自Collection接口?答:List,Set是,Map不是。如图: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素。 ...
探索ArrayList自动改变size真相
- 博客分类:
- Java点滴
探索ArrayList自动改变size真相
ArrayList的列表对象实质上是存储在一个引用型数组里的,有人认为该数组有“自动增长机制”可以自动改变size大小。正式地说,该数组是无法改变
大小的,实际上它只是改变了该引用型数组的指向而已。下面,让我们来看看java是怎样实现ArrayList类的。
一、ArrayList类的实质
ArrayList底层采用Object类型的数组实现,当使用不带参数的构造方法生成ArrayList对象时,实际上会在底层生成一个长度为10的Object类型数组。
首先,ArrayList定义了一个私有的未被序列化的数组elementD ...
Java语言的三大特性即是:封装(encapsulation)、继承(inheritance)、多态(polymorphism)
首先先简单的说一下其3大特性的定义:
封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。封装的基本要求是: 把所有的属性私有化,对每个属性提供getter和setter ...
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。
finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize—方法名。Java 技 ...