自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(161)
  • 收藏
  • 关注

原创 sudo: /etc/sudoers.d/README is mode 0777, should be 0440

问题原因:修改了sudo文件, 导致sudo权限在0640,或者sudo的配置格式错误。因此,要把sudo权限更改回0440。 所以呢,修改sudo,请用命令visudo。 http://blog.csdn.net/chz870128/article/details/6263513 基本上出现标题里面的错误,有两种解决方案:1.进入recovery mode,设置s...

2012-08-01 09:15:37 919

原创 MySQL常用操作

授权grant all on *.* to tommy@'%' identified by 'hello1234';

2012-07-09 17:32:29 156

原创 挖掘性能瓶颈的利器-Btrace实例-check 程序中的线程数

Btrace无疑是性能调优的一个非常重要的工具,它可以做到代码无侵入性的挖掘性能的问题,它利用字节码级别的运行时动态植入来check性能问题,性能优化的第一步往往是找出性能的瓶颈,如下面的功能是check程序的运行的线程数:  /* * Copyright 2008-2010 Sun Microsystems, Inc.  All Rights Reserved. * DO N...

2012-06-22 22:01:46 198

原创 度量网页加载性能的几个时间指标(转)

度量网页加载性能的几个时间指标2011年06月16日 星期四 上午 11:48AliPage是一款网页性能探测工具,该工具对下发任务指定的URL进行探测。可以获得本地浏览器下载并展现指定网页的网页对象元素信息,包括下载网页中的图片和js等网页对象所需的DNS解析用时(DNS Time)、TCP连接用时(Socket Time)、对象下载开始时间(FirstByte Time)、...

2012-06-13 10:32:33 346

原创 Java后端性能优化的综述

在一个非常忙的公司里面,很久没有发blog了,残酷,但是其实自己一直在学习进步,最近在负责公司部门整个网站的性能优化,写了一个综述,分享给大家,但是细节还需要描述,之后会继续修改:...

2012-06-04 11:27:35 296

原创 Windows和Linux下如何查看端口被哪个进程占用

Windows:C:/Users/ewanbao>netstat -aon|findstr "123"  TCP    127.0.0.1:55123        0.0.0.0:0                 LISTENING         5092  TCP    127.0.0.1:55123        127.0.0.1:55124       ...

2012-04-05 11:10:21 113

原创 StartUML的使用

http://blog.csdn.net/prochsh/article/details/6102445

2011-08-04 09:08:50 107

原创 checked exception还是non checked exception

使用检测异常和不可检测异常: 1.在一般情况下,使用检测异常还是非检测异常的判断标准是客户端(调用者)能够处理它们。 像JDBC的SQLException是检测异常,把它设计成checked exception,不一定是合理,因为大多数情况下,调用者是无法处理的。当然有一种情况,调用者可以这样处理:它捕获SQLException,然后给用户提示:数据库执行失败,这也是一种处理方式。...

2011-07-11 14:38:01 119

原创 Java异常处理的反模式

六种异常处理的陋习你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ ...

2011-07-11 13:43:11 117

原创 MySQL优化实践

http://www.hellodb.net/2011/07/mysql-linux-hardware-tuning.html

2011-07-08 09:47:10 83

原创 MySQL单机多实例方案

关于MySQL的性能优化的一篇文章,很好,使用MySQL作企业级应用时,可以考虑使用这种方案: http://www.hellodb.net/2011/06/mysql_multi_instance.html

2011-07-08 09:41:48 96

原创 Linux查看内存,硬盘和cpu信息

查看硬盘:fdisk -l 查看内存:cat /proc/meminfo  查看cpu:cat /proc/cpuinfo

2011-07-07 10:27:57 111

原创 Ubuntu Java 环境变量

方法1:修改/etc/profile 文件所有用户的 shell都有权使用这些环境变量<1>在 shell终端执行命令:vi /etc/profile<2>在 profile文件末尾加入:JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.15PATH=$JAVA_HOME/bin:$PATH CLASSP...

2011-06-30 15:03:21 88

原创 Java对象的大小

基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:  Object ob = new Object(); 这样在程序中完成了一个Java对象的生命,但是它所占的空间为:4byte+8byte。4byte是上面部分所说的...

2011-06-29 21:26:08 103

原创 interview记录

最近花了两个月时间好好准备和总结了一下,进步是明显的,非常感谢面试公司的热情接待。 在面试过程中,特别提到公司的hr小姑娘非常nice,整个过程中,每个架构师和中高层管理人员都看得非常顺眼,也许这就是缘分吧。 面试的职位是Java架构师职位 问的题目有:1.最擅长的技术是?答:JVM和Java 并发编程 2.Wait和Sleep的区别 3.集合类的s...

2011-05-24 10:21:56 103

原创 OpenSessionInViewFilter 的解析

OpenSessionInViewFilter的作用是延时session的关闭,直到request结束,这样做的目地是防止hibenrate lasy load出现异常的情况。如果isSingleSession设置成true,表示一个request的生命周期内,都使用一个session。false表示调用多少dao层的方法就用多少个session,但是这些session会延时到一个request结...

2011-05-23 01:46:39 98

原创 XML的两种解析方式Dom和SAX的区别

DOM和SAX是应用中操纵XML文档的两种主要API,它们分别解释如下:DOM,即Document ObjectModel,中文叫文档对象模型。DOM是W3C定义的标准文档对象模型,是一个与操作系统和编程语言无关的、用于内存存储和操作层次化文档的模型。当按照DOM模型解析XML文档时,就会在内存中构造一个对应的DOM树,它可以用于不同节点之间的遍历。然而,在遍历之前必须先完成DOM树的...

2011-05-19 21:32:51 158

原创 Tomcat 类加载机制

Tomcat中的类加载策略和JDK中的委托模型略有不同。Tomcat Server在启动的时候将构造一个ClassLoader树,以保证模块的类库是私有的,ClassLoader结构如下:             Bootstrap                   |              System                  |            Com...

2011-05-19 16:23:16 132

原创 String为什么是不可变的

StringBuffer可变String不可变的真正原因 String和StringBuffer都是final类,他们生成的对象在堆中都是不可变的,在他们内部都是靠属性char数组实现的,那为什么StringBuffer可以在对象中追加字符串呢?呵呵,因为String中的char数组是finall的,也就是常量,是不可改变的,而StringBuffer继承自抽象类Abst...

2011-05-19 14:37:52 102

原创 死锁实例

下面这道题,是考死锁的,比较简单,想两个问题:1.什么时候会造成死锁2.wait和notify释放了哪个锁,因为题目中有两个锁。 import java.util.LinkedList;public class DeadLockTest {    LinkedList list = new LinkedList();            public synchr...

2011-05-19 14:21:06 121

原创 Jsp的标准动作和九大内置对象

1、jsp动作7大动作jsp:include,jsp:userBean,jsp:plugin,jsp:getProperty,jsp:setProperty2、<jsp:useBean>动作(1)作用在jsp页面上,以标签的方式实现bean的实例化(2)格式自关闭式:<js...

2011-05-19 00:04:07 88

原创 Struts1的简单工作流程

ActionSerlvet接收客户Http请求,使用ActionForm Bean自动填充客户送来的表单数据到ActionForm Bean对象中?根据配置信息(struts_config.xml)将请求分发给相应的Action对象?Action对象调用execute()方法处理请求(根据JavaBean和ActionForm取得业务逻辑和表单数据),并反回ActionForward对象给...

2011-05-18 23:30:47 87

原创 设计模式-观察者模式

观察者模式又称发布订阅模式,它定义了对象之间一对多的关系,对象的状态发生变化时,所有依赖的对象都自动得到通知。观察者模式,很好地解除了观察者和被观察患者之间的耦合。 Java有内置的观察者模式的实现:public interface Observer { public void update(Obsevable observable, Object); } ...

2011-05-17 22:22:59 72

原创 JVM四种对象引用类型

JVM 中将对象的引用分为了四种类型,不同的对象引用类型会造成GC 采用不同的方法进行回收:1.强引用默认情况下,对象采用的均为强引用,例如:A a=null;public void execute(){a=new A();,// 其他代码}只有当execute 所在的这个对象的实例没有其他对象引用,GC 时才会被回收。2.软引用(Soft Refe...

2011-05-17 16:27:28 130

原创 HaProxy的负载均衡策略

roundrobin  Each server is used in turns, according to their weights.                  This is the smoothest and fairest algorithm when the server's                  processing time remains equall...

2011-05-17 14:35:53 176

原创 NGinx负载均衡策略

nginx的upstream目前支持的5种方式的分配1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。upstream backserver {server 192.168.0.14;server 192.168.0.15;}2、weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。...

2011-05-17 14:31:53 196

原创 一些常用的软件设计原则

在架构设计过程中,了解一些先辈们总结出来的常用的设计原则非常有用,在实践过程中,结合这些理论,相信架构水平会有质的提升,就像是一本武功秘籍,在学的过程中遵循它的rule,你的武功自然就上去了。我真的感觉这些原则非常有用:1.Don't Repeat Yourself在上一篇已经有阐述。 2.面向接口编程而不是面向实现的编程接口是稳定的,也是抽象的,越抽象的东西越...

2011-05-17 10:53:32 85

原创 设计模式-策略模式

定义一组算法,对每一种进行封装,让它们之间可以相互替换,可以独立于客户端程序而变化。

2011-05-17 00:48:31 71

原创 设计模式-Facade模式

Facade模式 当软件系统需要跟子系统进行复杂的交互时,为了减少系统的交互从而简化系统之间交互的目地,可以用外观模式。 外观模式用到了一个常用的规则:最小知识原则也叫迪米特原则,如果你的应用有很多类,并且他们有复杂的依赖关系,那么你的应用将非常难于扩展和维护,其中一处改动能影响很多使用者。迪米特原则让我们减少系统之间的依赖,一处改动只会影响小范围的地方。 外观模式提供fa...

2011-05-17 00:20:30 54

原创 设计模式-适配器模式

适配器模式:系统之间集成,常由于接口之间不兼容,很多能满足功能的软件模块,由于接口不同,而导致无法使用。在这种情况下可以使用适配器模式。 使用场合:当原来的类已经存在,但是不能一起工作,这个时候,适配器模式是个好的解决方案。1.适配器模式的含义在于:把一个类的接口转化为另一个接口,使得原本不兼容而不能一起工作的类能够一起工作。 2.适配器类型1)类适配器:通过继承关系,...

2011-05-16 18:00:05 72

原创 设计模式-组合模式

组合模式的定义:将对象组合成树的形式来表示整体和局部之间的关系,使得客户端对单个对象和组合对象的使用有了一致性。 适用场合:1.需要表示一个对象整体或者局部的关系,在具有整体和部分的层次结构中,希望通过一种方式忽略整体和部分的差异,可以一致地对待它们。2.让客户端忽略不同对象层次的变化,客户端可以针对抽象类编程,无需关心对象层次结构的细节。 对象类图:...

2011-05-16 15:48:35 71

原创 Spring的七种事务传播途径和隔离级别

PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY--该方法只能在一个已经存在的事务中执行,业务方法不能发起自己的事务。如果在没有事务的环境下被调用,容器抛出例外。 PROPAGATIO...

2011-05-13 11:13:30 187

原创 Garbage First - Card Table

之前一直以为只是在Garbage First垃圾回收器中,有Card Table,终于在这篇文章中有些提示,让我对Card Table的作用有了清晰的认识,对Garbage First基本上有所了解了,应该可以进行总结了。。。。。。 http://vrlinux.com/wenzhangjingxuan/20101115/79907_2.htmlhttp://www.blogjava....

2011-05-12 17:36:25 86

原创 CompleteService介绍和使用实例

当向Executor提交批处理任务时,并且希望在它们完成后获得结果,如果用FutureTask,你可以循环获取task,并用future.get()去获取结果,但是如果这个task没有完成,你就得阻塞在这里,这个实效性不高,其实在很多场合,其实你拿第一个任务结果时,此时结果并没有生成并阻塞,其实在阻塞在第一个任务时,第二个task的任务已经早就完成了,显然这种情况用future task不合适的,...

2011-05-11 17:31:06 2962

原创 CyclicBarrier的使用实例

CyclicBarrier允许给定数量的线程全部到达关卡点时,关卡就被成功突破,关卡被重置以备下一次使用。跟CountDownlatch特别类似,但是CountDownLatch不同的是不能被重新重置再使用。 前面的blog说到用countdownlatch去完成方法里面的3个service的调用。用cyclicBarrier同样可以实现。 package cyclicbarrie...

2011-05-11 15:45:09 84

原创 数据库事务隔离级别

数据在操作过程中,可能出现3个不确定的情况:1.Dirty Reads(脏读)一个事务读取了另外一个事务未提交的数据 2.Non-repeatable Reads(不可重复读)一个事务再次读取之前曾经读取过的数据时,发现改数据已经被另外一个已提交的事务修改 3.Phantom Reads(幻读)一个事务重新执行一个查询,返回一套符合查询条件的记录,但是这些记录中包含...

2011-05-10 15:29:20 78

原创 LVS负载均衡(调度)算法-内核中的连接调度算法

 此次主题主要讲述LVS负载均衡策略和算法,这里面完全是罗列了章博士里面的blog,属于总结和转发性质。 如何将请求流调度到各台服务器,使得各台服务器尽可能地保持负载均衡。文章主要由两个部分组成。第一部分描述IP负载均衡软件IPVS在内核中所实现的各种连接调度算法;第二部分给出一个动态反馈负载均衡算法(Dynamic-feedback load balancing)...

2011-05-10 09:58:52 104

原创 IBatisVSHibernate

下面是IBatis和Hibernate的比较,多年前做了个presentation,现在拿出来看一下:<!-- [if gte mso 9]><xml>  License– Hibernate: LGPL– Ibatis: Apache2.0 Learning curve– Hibernate: Hig...

2011-05-09 14:31:14 58

原创 LVS三种负载均衡模式之-网络地址转换

LVS全称是Linux Virtual Service 1.通过NAT实现虚拟服务器(VS/NAT) 由于IPv4中IP地址空间的日益紧张和安全方面的原因,很多网络使用保留IP地址(10.0.0.0/255.0.0.0、172.16.0.0/255.128.0.0和192.168.0.0/255.255.0.0)[64, 65, 66]。这些地址不在Internet上使用,...

2011-05-09 13:52:28 397

原创 使用LinkedHashMap构建LRU的Cache

这段时间好好整理了一下基础,发现很多对我来说新的东西,里面博大精深的东西真的很多,经常使用HashMap,对HashMap的结构和原理非常了解,但是忽略了还有LinkedHashMap这个好东西。 先转一篇blog: LinkedHashMap的特性:Linked内部含有一个private transient Entryheader;来记录元素插入的顺序或者是元素被访问的顺...

2011-05-07 09:12:55 116

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除