- 浏览: 261912 次
- 性别:
- 来自: 深圳
最新评论
-
liliang880504:
bitnami_redmine_merge这个数据库是创建和合 ...
bitnami-redmine服务器迁移
文章列表
阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清空队列,下图展示了如何通过阻塞队列来合作:
线程1往阻塞队列中添加元素,而线程2从阻塞队列中移除元素
从5.0开始,JDK在java.util.concurrent包里提供了阻塞队列的官方实现。尽管JDK中已经包含了阻塞队列的官方实现,但是熟悉 ...
转]Java中HashMap遍历的两种方式
原文地址: http://www.javaweb.cc/language/java/032291.shtml
第一种:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
效率高, ...
是一个老生常谈的话题(This is an old yet still popular question). 在Java中将String设计成不可变的是综合考虑到各种因素的结果,想要理解这个问题,需要综合内存,同步,数据结构以及安全等方面的考虑. 在下文中,我将为各种原因做一个小结。
1. 字符串常量池的需要
字符串常量池(String pool, String intern pool, String保留池) 是Java堆内存中一个特殊的存储区域, 当创建一个String对象时,假如此字符串值已经存在于常量池中,则不会创建一个新的对象,而是引用已经存在的对象。
如下面的代码所示,将会在堆内 ...
命令缩写:
ls:list(列出目录内容)
cd:Change Directory(改变目录)
su:switch user 切换用户
rpm:redhat package manager 红帽子打包管理器
pwd:print work directory 打印当前目录 显示出当前工作目录的绝对路径
ps: process status(进程状态,类似于wi ...
方法1:
编辑 vim ~/.bashrc
添加 alias grep = 'grep --color=auto'
source ~/.bashrc
方法2
vim ~/.bashrc
export GREP_OPTIONS='--color=auto' GREP_COLOR='10;32'
这里用到grep的一个参数-color,color有三个值供选择:never、always、auto。
always和auto的区别就是,always会在任何情况下都给匹配字段加上颜色标记,当通过管道或重定向时就会多出一些控制字符,结果会变成
export ^[[1; ...
shell 命令:
svn relocate svn://svn_old svn://svn_new
一般会提示:
svn: E195009: The repository at 'svn://svn_old' has uuid
'bdbd6e13-965c-4da7-a4da-d4840425081e', but the WC has
'9dcab4f9-d1ff-49d9-8b8d-a11efef133c1'
uuid是仓库创建的时候生成的, 本地客户端也会拿它来对比是否是同一个svn仓库, 解决方法有两种:
1: 重新checkout
文件太多, 我受不了
...
Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和 Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心 接口分别加以介绍。
·Session接口:
Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的 SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的 HttpSession。这里当使用sessi ...
VirtualBox虚拟机网络连接设置的四种方式
VirtualBox是一款SUN出品的非常优秀的虚拟机程序,版本也非常齐全,你可以在官网上找到适合各种操作系统平台的版本。
这里我先给大家大致讲解下VBox的网络配置及应用。
VirtualBox的提供了四种网络接入模式,它们分别是:
1、NAT 网络地址转换模式(NAT,Network Address Translation)
2、Bridged Adapter 桥接模式
3、Internal 内部网络模式
4、Host-only Adapter 主机模式
下面我们分别对这四种网络模式进行分析解释:
第一种 NAT模式
解释:
NAT模式 ...
在Linux中,有很多方法可以做到这一点。国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条。大多数程序员,可能经常使用其中的2到3条,对这5条命令都很熟悉的人应该是不多的。
1. find
find是最常见和最强大的查找命 ...
Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进
行压缩了,所以首先就来讲讲tar命令的基本用法:
tar命令的选项有 ...
作为新一代的开源版本控制工具,Subversion 以其目录版本化、原子提交、版本化的元数据、更加有效的分支和标签等优良特性,正逐渐受到开源软件社区的重视,并有望取代 CVS,成为开源软件开发中版本控制的首选系统。在服务 ...
SVN服务器从Windows迁移到LInux: http://my.oschina.net/grnick/blog/161424
CentOS Linux搭建SVN Server配置详解: http://www.ha97.com/4467.html
Linux下SVN服务器搭建(CentOS Subversion):http://www.linuxde.net/2011/06/138.html
SVN服务器权限配置:http://yinter.iteye.com/blog/663926
用 Apache 和 Subversion 搭建安全的版本控制环境:http://www.ibm.com/de ...
1.Subversion安装过程
参考http://blog.csdn.net/zhaiqi618/article/details/5741060
安装包下载地址,SVN版本1.6.12 :
http://the.earth.li/pub/subversion/summersoft.fay.ar.us/pub/subversion/latest/1.6.12/rhel5/x86_64/
neon-0.28.4-1.x86_64.rpm 28-Mar-2009 18:57 267K
sqlite-3.5.9-2.x86_64.r ...
在eclipse中经常用到用svn进行代码版本控制,为了提交或更新代码的时候不反复地提示我们输入用户名和密码,于是我们
就习惯把访问SVN的用户名密码自动保存起来。以便下次自动使用,不要再次手工输入,但是有些时候需要变 ...
我们对项目根目录做了限制,该目录只允许arm事业部的经理才能修改,其他人都只能眼巴巴的看着:
[arm:/]
@g_manager = rw
* = r
[arm:/] 表示这个目录结构的相对根节点,或者说是 arm 项目的根目录
这里的 @ 表示接下来的是一个组名,不是用户名。你当然也可以将 @g_manager=rw 这一行替换成 michael=rw ,而表达的意义完全一样。
*表示“除了上面提到的那些人之外的其余所有人”,也就是“除了部门经理外的其他所有人”,当然也包括总经理那个怪老头
* = r 则表示“那些人只能读,不能写”
4 authz.conf 之项目子目录
然后,我们 ...