- 博客(59)
- 收藏
- 关注
原创 给开发维护大型项目开发者的建议
假 设你是正在开发和维护一个包含2000个类并使用了很多框架的Java开发人员。你要如何理解这些代码?在一个典型的Java企业项目小组中,大部分能够 帮你的高级工程师看起来都很忙。文档也很少。你需要尽快交付成果,并向项目组证明自己的能力。你会如何处理这种状况?这篇文章为开始一个新项目的Java 开发者提供了一些建议。0. 不要试图一下子搞懂整个项目好好考虑一下,为什么理解项目代码是第一...
2013-02-05 17:43:51
202
原创 理解ThreadLocal
ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操作来创建的对象...
2013-02-04 14:41:48
184
原创 J2EE常用的JAR
activation~与javaMail有关的jar包,使用javaMail时应与mail.jar (mail.jar和activation.jar)一起加入到lib中去,具体负责mail的数据源和类型等。ApacheActiveMQ~Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。...
2013-02-04 14:36:08
247
原创 im20技术
技术:comet serverhttp://play-framework.herokuapp.com/http://play-framework.herokuapp.com/zh/homehttp://www.playframework.org/documentation/2.0.4/JavaHome http://www.cnblogs.com...
2012-11-14 14:05:39
199
原创 淘宝 TFS 文件系统/分布式文件系统
淘宝Tfs文件系统安装 一、NS DS 上都安装执行的: 官网地址:http://code.taobao.org/p/tfs/wiki/deploy/ (下载安装):1、需要确保安装了automake autoconfig 和 libtool,使用auotmake --version查看,一般情况下已安装 Yum –y inst...
2012-11-06 17:49:33
383
原创 java学习网址
http://www.micmiu.com/j2ee/spring/springside-quick-start/http://www.springside.org.cn/ 常用的学习网址:http://www.javaeye.comwww.javaeye.com.cnhttp://www.blogjava.net/hexuzhong/archive/2005/07/0...
2012-11-02 17:48:04
377
原创 高性能表现的网站
它展示了来自http://yahoo.com的http的流量。以上图标的第一个标签就是html,是一个html文档最开始加载的东东,在这个例子中,读取html代码只占了整个响应时间中的5%,这个结果适用于绝大多数网站,在采样美国的前十位网站中,只有一家超过5%但少于20%,其余80%的时间是用来读取网页其他内容的,也就是说,前端(原文是front-end,意思就是不...
2012-11-02 17:43:10
161
原创 多线程编程模型
一.加密技术分类1.消息摘要算法(保证消息完整性)摘要=加密(内容)MD5(速度快,128位)和SHA(更安全的算法,160位) 2. 对称密钥(私钥加密)秘文=加密(明文,密钥), 明文=加密(秘文,密钥)DES(56位),RC4,RC5,AES(128,192,256),BlowFish(32~448) 3. 非对称加密(公共密钥)秘文=加密(明文,私...
2012-10-25 10:34:43
261
原创 mysql 优化
MySQL与优化技术 MySQL历史 1979年, 报表工具,数据引擎 1996年,MySQL 1.0 (3.11.1) 发布,支持SQL 2000年,成立 MySQL AB 公司 2008年1月,Sun公司以10亿美元收购MySQL AB公司 2009年4月,Oracle公司以74亿美元收购Sun公司 MySQL里程碑 3.11.1 F...
2012-10-25 10:33:51
120
原创 Linux定时任务系统 Cron 入门
Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 ...
2012-10-25 10:33:37
133
原创 JVM调优总结 -Xms -Xmx -Xmn -Xss
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置: java -Xmx3550m ...
2012-10-25 10:33:27
152
原创 liunx 服务器 - im20
crontab -l1 * * * * /usr/sbin/ntpdate -u 1.centos.pool.ntp.org#monitor*/5 * * * * sh /data/commands/monitor-zhimei-main-resin-2.sh ===============================================/etc/rc.lo...
2012-10-25 10:32:54
131
原创 复杂查询sql intersect ,union ,except
select * from(select userid from bsalelog where ...) a,(select userid from bsalelog where ...) b.....where a.userid = b.userid效果和上面一样/*求t1对t2的交集 select * from t1 intersect select * fro...
2012-10-24 10:01:29
172
原创 liunx mysql5.5 源码安装
首先到http://www.cmake.org/cmake/resources/software.htmlcd /mysql1.安装cmake1)下载cmake#wgethttp://www.cmake.org/files/v2.8/cmake-2.8.7.tar.gz2)解压cmake#tar -zvxf cmake-2.8.7.tar.gz3)配置编译#...
2012-10-24 10:01:14
105
原创 Linux一个mysql配置多端口
Mysqld_multi在一台服务器上运行多个mysql实例及操作 .配置安装完成后,就是设置配置文件,是mysql能够运行多个实例。一下是我们机器上的配置文件my.cnf的配置[mysqld_multi]mysqld =/mysql/mysql/bin/mysqld_safemysqlad...
2012-10-24 10:01:03
586
原创 liunx mysql5.5 master/slave 配置
grant all on *.* to 'root'@'%' identifiedby '7ujm8ik,';FLUSH PRIVILEGES;show master status; 登陆主服务1、主服务器授权MySql> grant replication slave on *.* to'rekfan.com'@'192.168.2.3'...
2012-10-24 10:00:54
111
原创 I liunx 命令
grep 字符串查找 grep [OPTION]... PATTERN [FILE] sedAWK--------------------------------------------------------------------------------------------ctrl + r 查找历史命令 不停按向上查找1.pwd | whereis定位可执行文件 | w...
2012-10-24 10:00:43
141
原创 在LINUX下的软件安装
在LINUX下的软件安装方式不外乎有三种。 1。。。RPM包,也就是下载XXX.rpm格式的文件,安装直接用命令: rpm -ivh XXX.rpm 2.bin文件,这个实际上就跟WINDOWS下的傻瓜式安装似的。 chmod 700 XXX ./XXX 3.编译安装,下载的将是一个压缩包,那么安装步骤是: tar jxvf XXX.tar.bz2 解压 cd XX...
2012-10-23 17:13:05
130
原创 Too many open files
查看系统允许打开的最大文件数#cat /proc/sys/fs/file-max发现足够大了。 查看每个用户允许打开的最大文件数ulimit -a发现系统默认的是open files (-n) 1024,问题就出现在这里。在系统文件/etc/security/limits.conf中修改这个数量限制,在文件中加入内容:* soft nofile 65536...
2012-10-23 17:07:22
120
原创 java vm死锁分析
一. 如何检测死锁的根源 Java并不提供对死锁的检测机制。笔者认为常用分析Java代码问题的最有效的工具仍然是java thread dump。当死锁发生时,JVM通常处于挂起状态,thread dump可以给出静态稳定的信息,查找死锁只需要查找有问题的线程。Java虚拟机死锁发生时,从操作系统上观察,虚拟机的CPU占用率为零,很快会从top或prstat的输出中消...
2012-10-23 17:06:24
190
原创 eclipse 用法
2.1 重载父类方法: source菜单下 自动生成构造函数: javadoc /** */3.1 断点 右键 "watch" 跟踪 expression ---->添加新的对象 window--->showview --...
2012-10-23 17:04:00
144
原创 Linux NFS安装与配置
nfs 服务的配置服务端的配置vi /etc/exports/data/cover.friends.mop.com/photo/storage 10.6.33.0/24(rw,no_root_squash,nohide) 10.6.32.0/24(rw,no_root_squash,nohide) 10.6.39.0/24(rw,no_root_squash,nohide) 1...
2012-10-23 16:04:08
96
原创 Lock和读写锁ReadWriteLock和缓存实例
1:lock和synchronized对比[java] view plaincopyimport java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class...
2012-10-22 16:54:56
144
原创 ReentrantLock与synchronized的区别
ReentrantLock 的lock机制有2种,忽略中断锁和响应中断锁,这给我们带来了很大的灵活性。比如:如果A、B2个线程去竞争锁,A线程得到了锁,B线程等待,但是A线程这个时候实在有太多事情要处理,就是 一直不返回,B线程可能就会等不及了,想中断自己,不再等待这个锁了,转而处理其他事情。这个时候ReentrantLock 就提供了2种机制,第一,B线程中断自己(或者别的线程中...
2012-10-22 13:33:44
124
原创 apache服务器查看网络爬虫记录的方法说明
问 :使用Apache服务器,如何查看哪些网站的蜘蛛来爬过自己的网站或者哪些IP访问过我们的网站呢?答 :通过Apache服务器的访问日志记录! Apache服务器的访问日志名称在linux下默认叫做access_log,在windows下是access.log文件如何配置 :在httpd.conf文件中配置这么两句话: Log...
2012-10-22 11:34:54
271
原创 java的concurrent/java.util.concurrent.locks用法详解
java.util.concurrent.locks - 内容部份 Lock 接口支持那些语义不同(重入、公平等)的锁定规则,可以在非阻塞式结构的上下文(包括 hand-over-hand 和锁定重排算法)中使用这些规则。主要的实现是 ReentrantLock。 ReadWriteLock 接口以类似方式定义了一些读取者可以共享而写入者独占的锁定。此包只...
2012-10-19 15:49:39
156
原创 java.util.concurrent详解(四) BlockingQueue
7.BlockingQueue “支持两个附加操作的 Queue,这两个操作是:获取元素时等待队列变为非空,以及存储元素时等待空间变得可用。“ 这里我们主要讨论BlockingQueue的最典型实现:LinkedBlockingQueue 和ArrayBlockingQueue。两者的不同是底层的数据结构不够,一个是链表,另外一个是数组。 后面将要单独...
2012-10-19 10:00:24
111
原创 java.util.concurrent详解(三)ScheduledThreadPoolExecutor
6. ScheduledThreadPoolExecutor 我们先来学习一下JDK1.5 API中关于这个类的详细介绍: "可另行安排在给定的延迟后运行命令,或者定期执行命令。需要多个辅助线程时,或者要求 ThreadPoolExecutor 具有额外的灵活性或功能时,此类要优于 Timer。 一旦启用已延迟的任务就执行它,但是有关何时启用,启用后何时执行则...
2012-10-18 14:32:42
332
原创 java.util.concurrent详解(二)Semaphore/FutureTask/Exchanger
----------------------------------------------------------------------------- 3. Semaphore 我们先来学习一下JDK1.5 API中关于这个类的详细介绍: “一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 ...
2012-10-18 14:31:39
113
原创 java.util.concurrent详解(一) Latch/Barrier
Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效、易维护、结构清晰的Java多线程程序。从这篇blog起,我将跟大家一起共同学习这些新的Java多线程构件1. CountDownLatch 我们先来学习一下JDK1.5 API中关于这个类的详细介绍: “一个同步辅助类,在完成一组正在其他线...
2012-10-18 14:30:20
139
原创 JIRA5.0.2与Crowd2.4.2应用集成
新版本jira、crowd集成与以往有些不一样,首先就是配置文件的修改没有以前多了,然后就是在jira内需要设置一个应用目录,记得这个简单的地方也许就不好找。这篇文章你就多看点吧。的确写的很不好,不过如果你以前对jira有大致的了解,那看我很不好的文采文章,就能相对简单了。 1. 创建Directories,一般把Name改写,直接默认就可以了 ...
2012-10-18 14:27:01
139
原创 JIRA bug管理系统
因为突然项目要用JIRA bug管理系统,刚好以前用过jira,感觉很不错,就安装一个用用了,下面是安装步骤,参考了一些网上的教材,特此表示感谢。1.系统环境 系统环境为ubuntu10.04+mysql5.1.14+jdk1.6 2.文件准备 由于jira是用java写的,jdk当然是比不可少了;我用的是mysql数据库,所以mysql也是需要安装的...
2012-10-17 10:24:11
976
原创 OpenLdap源码安装
安装Berkeley DB 4.7.25 下载地址:http://download.oracle.com/berkeley-db/db-4.6.21.tar.gz 安装openldap-2.4.15 下载地址:ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.15.tgz...
2012-10-17 10:24:00
1361
原创 Confluence与Crowd通信设置
Confluence与Crowd通信设置 <<Jira与crowd通信设置(之前要做ldap)>> 重要:首先依然是要将Confluence的外部管理开启(管理员用户)开启外部管理操作:安全性—>> Security Configuration — >>编辑,勾选外部用户管理 — >&g...
2012-10-17 10:23:39
529
原创 配置Apache+subversion的详细步骤
操作系统:linux(CentOS 6)软件:apache2.2,subversion1.6概述使用apache的目的是想让客户端以http协议的方式与subversion服务器通信。要实现这个目的,必须能在客户通过apache访问subversion的仓库时,以subversion的插件接管对这些请求的处理。过程1 先安...
2012-10-17 10:23:20
238
原创 三、jstack命令(Java Stack Trace)
1、介绍jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:jstack [-l] pid如果java程序崩溃生成core文件,...
2012-10-16 18:10:03
124
原创 四、jstat命令(Java Virtual Machine Statistics Monitoring Tool)
1、介绍jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:jstack [-l] pid如果java程序崩溃生成core文件,...
2012-10-16 18:09:52
193
原创 七、jconsole命令(Java Monitoring and Management Console)
jconsole:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。命令行里打 jconsole,选则进程就可以了。需要注意的就是在运行jconsole之前,必须要先设置环境变量DIS...
2012-10-16 18:09:39
131
原创 WeakReference &&reference quene &&GC
在了解WeakReference之前,先给出一段简单的代码:public class WeakReferenceTest {public static void main(String[] args) throws Exception {Object o = new Object();// ...
2012-10-16 18:09:11
124
原创 理解java reference
Java世界泰山北斗级大作《Thinking In Java》切入Java就提出“Everything is Object”。在Java这个充满Object的世界中,reference是一切谜题的根源,所有的故事都是从这里开始的。 Reference是什么? 如果你和我一样在进入Java世界之前曾经浪迹于C/C++世界,就一定不会对指针陌生。谈到指针,往...
2012-10-15 21:20:55
99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人