- 浏览: 66089 次
- 性别:
- 来自: 威海
最新评论
-
angole:
那楼主的意思是,如果我的线程里使用了sleep()。那么肯定不 ...
java线程中断[interrupt()函数] -
turtle_2:
厉害!谢谢。
Java 模板技术 -
qinq4312:
...
Java 各版本发布图 -
zhaoxuyang6:
看了你的文章,写的不错,但我感觉最后的finally还是有问题 ...
java异常(转)
文章列表
今天装SVN 用的是VisualSVN
装上后本机可以用但是不能远程访问
结果是我配置的是https://开头的协议,我却写成了svn://开头
所以一直报错
SVNserver的原理是用一个webserver服务器获得请求,然后将请求分发给SVNserver.
最近在学习Freemaker,Velocity。就有必要了解一下原理。
上网看到一篇好文,转过来了,转自:http://blog.csdn.net/logic_202/archive/2006/01/08/573850.aspx
一、起源与现状:
关于Template和JSP的起源还要追述到Web开发的远古年代,那个时候的人们用CGI来开发web应用,在一个CGI程序中写HTML标签。
在这之后世界开始朝不同的方向发展:sun公司提供了类似于CGI的servlet解决方案,但是无论是CGI还是servlet都面对同一个问题:在程序里写html标签,无论如何都不是一个明智的解决方案。 ...
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的 ...
自己写写对Java ClassLoader的理解,
首先ClassLoader分为:
Bootstrap ClassLoader/启动类加载器
主要负责jdk_home/lib目录下的核心 api 或 -Xbootclasspath 选项指定的jar包装入工作。
Extension ClassLoader/扩展类加载器
主要负责jdk_home/lib/ext目录下的jar包或 -Djava.ext.dirs 指定目录下的jar包装入工作。
System ClassLoader/系统类加载器
主要负责java -classpath/-Djava.class.path所 ...
Java发展的时间表。 (版本号 名称 中文名 发布日期)
JDK 1.1.4 Sparkler 宝石 1997-09-12
JDK 1.1.5 Pumpkin 南瓜 1997-12-13
JDK 1.1.6 Abigail 阿比盖尔--女子名 1998-04-24
JDK 1.1.7 Brutus 布鲁图--古罗马政治家和将军 1998-09-28
JDK 1.1.8 Chelsea 切尔西--城市名 1999-04-08
J2SE 1.2 Playground 运动场 1998-12-04
J2SE 1.2.1 none 无 1999-03-30 ...
1、使用 synchronized 关键字,代码如下
synchronized(anObject) {
value = map.get(key);}
2、使用 JDK1.5提供的锁(java.util.concurrent.locks.Lock)。代码如下
lock.lock();
value = map.get(key);
lock.unlock();
3、使用 JDK1.5 提供的读写锁(java.util.concurrent.locks.ReadWriteLock)。代码如下
rwlock.readLock().lock();
v ...
ThreadLocal是什么
早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。
ThreadLocal很容易让人望文生义,想当然地认为是 ...
在正是安装Ubuntu之前,了解过几个版本,Ubuntu,Kubantu等,最终还是选择了Ubuntu,但是一直听说Kubuntu的界面漂 亮,但是现在又不能只为了见识一下界面就整个重装吧,不过在网上搜索了一翻之后发现可以直接在Ubuntu下装KDE的环境,哈哈。
具体方法如下:
sudo apt-get install kUbuntu-desktop
一看,居然要下载174M的软件包,安装之后还要占用额外的518M空间,晕,早知道就多分配点硬盘空间给Ubuntu了,现在头大了,只能勉强先装了。
下载完成 后,终端自动进行配置,之后变成一个蓝屏的文字窗口,询问要选择Kdm 还是gdm,这 ...
今天看一天的RMI终于搞懂了,到底是怎么回事了。
RMI网上有很多说明,大概就是这样的。
1、 编写并且编译接口的Java代码
2、 编写并且编译接口实现的Java代码
3、 从接口实现类中生成 Stub 和 Skeleton 类文件
4、 编写远程服务的主运行程序
5、 编写RMI的客户端程序
6、 安装并且运行RMI系统
先讲一种网上最常见的(参考资料来源Java RMI Tutorial)
首先编写服务断对外提供的接口,必须继承 java.rmi.Remote。
接口代码如下:
import java.rmi.*;
/**
* Remote ...
衡量Java设计师和开发团队水平的好办法就是阅读他们应用程序里的异常处理代码--有多少代码用于捕获异常,有多少写进日志文件,如何处理异常,如何在不同的异常间跳转。
异常处理是一个Java程序员必须掌握的基础。
Java ...
1.Java重载
引用在Java中,同一个类中的两个或者两个以上的方法可以有同一个名字,只要他们的参数声明不同即可,这种方法被称为重载(overload),方法重载是Java实现多态性的一种方式。
1.普通方法重载
当一个重载方法被调用时,Java用参数类型或参数数量来表明实际调用的重载方法的版本。因此每个重载方法的参数或参数数量必须是不同的。虽然每个重载方式可以有不同的返回类型,但返回类型并不足以区分所调用的是哪个方法。
2.当一个重载方法被调用时,Java在调用方法的参数和方法的自变量之间寻找匹配,但是这种匹配并不总是精确的,在一些情况下,Java的自动类型转被也适用于重载方法的自变量 ...
决定将学习到的东西写下来,好记性不如烂笔头,更何况自己的记忆力又这么的差。
看了本书,里面讲到了OOP的设计原则,这也是设计模式最基本的原则。
根本指导思想是提高可维护性和复用性。具体分为:
[1]开闭原则
[2]依赖倒转原则
[3]里氏代换原则
[4]合成/聚合复用原则
[5]迪米特原则
[6]接口隔离原则
下面一个一个的写,尽量使自己好理解。
1.开闭原则
简单的说,软件对修改是关闭的,在不改变的前提下对扩展是开放的。这个是总则。
2.依赖倒转原则
要依赖于抽象,不要依赖于实现
3.里氏代换原则
任何子类出现的地方,子类一定可以出现。
4.合成/聚合复用原则
使用一个新的对象 ...
当一个对象被创建时,初始化是按照一下顺序完成的:
[1]设置成员的值为默认的初始化值(0,false,null)。
[2]调用对象的构造方法(但是还没有执行构造方法体)。
[3]调用父类的构造方法。
[4]使用初始化程序和初始块初始化成 ...
最近对Java异常的有些性质感觉很模糊,所以决定温习一下。发现了一篇很不错的博客,所以就转载了。
六种异常处理的陋习
你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中, ...
1.安装Python
下载地址http://www.python.org/getit/。
有趣的是,大约70%的Python下载是来自Windows用户的。当然,这并不能说明问题,因为几乎所有的Linux用户已经在安装系统的时候默认安装了Python。
在Windows命令行中使用Python
如果你想要 ...