自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 log4j 打印重复的日志

1.3.0版本的log4j有这个bug,建议升级下即可,如果你已经升级如下版本了,那我就不清楚了 org.slf4j slf4j-api 1.5.2 org.slf4j slf4j-log4j12 1.5.2 org.slf4j jcl104-over-slf4j ...

2012-09-27 18:12:41 305

原创 mysql 性能

什么是索引覆盖就是select的数据列只用从索引中就能够取得,不必读取数据行,换句话说查询列要被所建的索引覆盖。那么显然select * from ...是一种拙劣的查询,除非你建立了包含所有列的索引(这样建索引脑子进水)。对 于索引覆盖查询(index-covered query),使用EXPLAIN时,可以在Extra一列中看到“Using index”。Select co...

2012-09-19 08:29:53 130

原创 数据库的锁

引用 :http://www.cnblogs.com/adforce/archive/2011/04/20/2021929.html1)脏读:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。例如:    张三的工资为5000,事务A中把他的工资改为8000,但事务A尚未提交。    与...

2012-09-19 06:48:55 117

原创 mysql 可能的性能优化点

1:在执行insert 或者delete的时候,在语句中加入delayed,则程序立刻返回结果。等待合适的时间,改语句将会执行。2:在导入数据的时候,最好关闭自动提交,然后删除索引,在导入完毕后,再建立索引3:sql 中含有大量的or语句,进行改进成采用 union 和多个select来完成4:在执行sql之前,可以采用explain对sql 进行解析,生成执行计划...

2012-09-18 07:43:31 81

原创 Caused by: java.lang.OutOfMemoryError: Direct buffer memory

来自:http://code.alibabatech.com/blog/experience_1348/netty-nio-direct-memory-leak.html在测试中发现,当不停的开关Netty的NioClientSocketChannelFactory(比如大量连接失败重连等情况下),存在Direct Memory泄露。测试代码:for (int i = 0; i...

2012-09-17 15:24:14 936

原创 mysql 事务

1:start transaction执行sqlcommit 或者rollback2:savapoint保留点 。在事务处理中设置的临时占位符,可以对他发布回退,对回退整个事务不同 savepoint one ; 执行sql rollback to one;保留点在事务处理完成或者回滚 后会主动的释放,或者显示的调用 releas...

2012-09-16 23:27:36 70

原创 mysql 触发器

1:只有表才支持触发器、视图不支持create trigger 名称 (after before) (delete 、insert 、update)on 表 行为(for each row select 'Hello';2:每个表每个事件每次只允许一个触发器。因此,每个表最多支持6个触发器3:单一触发器不能跟多个事件和多个表关联4:在执行insert的触发器的时候...

2012-09-16 23:11:03 114

原创 mysql 存储过程

1:使用指定分隔符,来区分默认的;。防止在客户端命令终端解析错误使用delimiter 2:IN 是输入变量 OUT 是输出 --注释 在存储过程内部使用declare 来定义临时变量,内部的判定条件 ---if ** then ....(else | elseif) end if ; select *** into *** 实现变量的赋值3:查看存储过程的语句...

2012-09-16 22:16:41 89

原创 mysql workbence 工具使用技巧

想让你的mysql中sql editor也能像eclipse 那样assit的提示功能。那么可以按照如下的步骤点击菜单:editor---》preferences--->点击 sql editor 选中automatically start code completing...

2012-09-16 17:18:37 368

原创 mysql 语句 注意

distinct 只能对整个请求语句而言,而不是其前置列在同时使用where 和 order by的时候,需要将 order by 放在后面where a=1 or a=2 and b=3 的计算顺序是:a=1 or (a=2 and b=3) 即and 的优先级比or高表达式中的like 是对列值的匹配 regexp 正则表达式是在列值内匹配,在使用正则表达式的时候...

2012-09-16 16:50:41 71

原创 mysql data的存储目录变更

1: 对于基于 rpm 安装的系统 ,修改其数据源的目录,采用修改 etc/init.d 下的mysql 文件 修改里面的 datadir=/data/mysql/data 即可2: 对于采用源码编译的系统。直接修改my.cnf文件,修改添加datadir=/data/mysql/data 即可目前不清楚为什么采用./scripts/mysq...

2012-09-15 20:58:26 84

原创 shell 脚本 awk

grep TP_S_SMSGW_HIGH ~/logs/`hostname`/common-info.log -c |awk '{print$1}' |awk 'BEGIN{sum=0}{sum+=$1}END{print sum/2}'

2012-09-13 08:03:24 57

原创 mysql 入门 安装

1:从官网下载linux 安装版本的rpm 包 下载如下的两个包 MySQL-client-5.5.27-1.rhel5.x86_64.rpm MySQL-server-5.5.27-1.rhel5.x86_64.rpm 然后采用rpm 指令安装 rpm -ivh MySQL-client-5.5.27-1.rhel5.x86_64.rpm --nod...

2012-09-13 01:26:31 79

原创 ListResourceBundle 使用

基于通配符的方式使用import java.text.MessageFormat;import java.util.ListResourceBundle;import java.util.ResourceBundle;import com.taobao.remoting.util.LogConstants;/** * 日志资源Bundle家族的默认成员。...

2012-09-04 17:22:21 264

原创 instanceof 与isAssignableFrom

instanceof 与isAssignableFrominstanceof 针对实例 isAssignableFrom针对class对象 isAssignableFrom 是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的超类或接口。 通常调用格式是 Java代码 Class1.isAssignableFrom(Class2)...

2012-09-04 17:03:26 77

原创 java SoftReference 软引用

Java SoftReference博客分类: Javajavasoftreference SoftReference的语义就是当内存不够用的时候,GC会回收SoftReference所引用的对象。所以,在memory sensitive的程序中将某些大型数据设置成SoftReference再合适不过了。 创建一个SoftReference: Java代码 ...

2012-09-04 16:45:37 215

原创 java 内存分析工具

http://blog.csdn.net/moneyice/article/details/2644503 引用生成dump信息的途径使用$JAVA_HOME/bin/jmap -dump来触发,[b]例如 [/b] jmap -dump:format=b,file=/home/longhao/heamdump.out 使用$JAVA_HOME/bin/jc...

2012-08-30 10:12:40 200

原创 关于cli的处理 启动参数

CommandOptions options = new CommandOptions(); Option option = new Option("a", "tianjia"); option.setLongOpt("add"); option.setRequired(true); option.setArgs(1);...

2012-08-27 17:38:13 153

原创 Nagle

Nagle算法是以他的发明人John Nagle的名字命名的,它用于自动连接许多的小缓冲器消息;这一过程(称为nagling)通过减少必须发送包的个数来增加网络软件系统的效率。Nagle算法于1984年定义为福特航空和通信公司IP/TCP拥塞控制方法,这使福特经营的最早的专用TCP/IP网络减少拥塞控制,从那以后这一方法得到了广泛应用。Nagle的文档里定义了处理他所谓的小包问题的方法,这种问题指...

2012-08-16 14:11:11 84

原创 java SecurityManager 的说明

每个Java应用都可以有自己的安全管理器,它是防范恶意攻击的主要安全卫士。安全管理器通过执行运行阶段检查和访问授权,以实施应用所需的安全策略,从而保护资源免受恶意操作的攻击。实际上,安全管理器根据Java安全策略文件决定将哪组权限授予类。然而,当不可信的类和第三方应用使用JVM时,Java安全管理器将使用与JVM相关的安全策略来识别恶意操作。在很多情况下,威胁模型不包含运行于JVM中的恶意代码,...

2012-08-16 13:49:32 94

原创 ThreadGroup 使用

ThreadGroup线程组表示一个线程的集合。此外,线程组也可以包含其他线程组。线程组构成一棵树,在树中,除了初始线程组外,每个线程组都有一个父线程组。允许线程访问有关自己的线程组的信息,但是不允许它访问有关其线程组的父线程组或其他任何线程组的信息。构造方法public ThreadGroup(String name) 构造一个新线程组。新线程组的父线程组是目前正在运行...

2012-08-16 11:56:53 89

原创 CountDownLatch 与 CyclicBarrier 区分 一篇不错的文章

先说两点都知道的: 1.CountDownLatch减计数,CyclicBarrier加计数。 2.CountDownLatch是一次性的,CyclicBarrier可以重用。 然后我们用被大家说烂了的跑步的例子继续说事儿: 1. 有五个人,一个裁判。这五个人同时跑,裁判开始计时,五个人都到终点了,裁判喊停,然后统计这五个人从开始跑到最后一个撞线用了多长时间。 Ja...

2012-08-07 13:51:36 49

原创 jvm 2012-08-05

1. 生成error 文件的路径:你可以通过参数设置-XX:ErrorFile=/path/hs_error%p.log, 默认是在java运行的当前目录 [default: ./hs_err_pid%p.log]2. 参数-XX:OnError 可以在crash退出的时候执行命令,格式是-XX:OnError=“string”, 可以是命令的集合,用分号做分隔符, 可以用"%p"来...

2012-08-05 21:52:08 58

原创 一周年庆----学习总结

今天是来这家公司1周年,在这一年里有很多的辛酸也有很多的收获,在这里大体总结一下1:分布式事务 满足企业内部 分布式环境下 ,数据处理的最终一致性主要采用了两阶段提交 并结合spring中事务模板的特性来实现状态的有效控制2:localcache 满足分布式环境下集合中应用的配置更新管理 主要是基于版本控制来实现应用中数据的一致性校验,并采用拉模式来同步化更新机器内...

2012-07-11 07:54:50 90

原创 Spring 事务编程

使用TransactionTemplate进行编程式事务管理org.springframework.transaction.support.TransactionTemplate对与PlatformTransactionManager相关的事务界定操作以及相关的异常处理进行了模板化封装, 开发人员更多的关注于通过相应的callback接口提供具体的事务界定内容即可。spring针对Tran...

2011-08-26 13:15:02 109

原创 Enum java

Enum是enumeration(列举)的简写形式public enum Season { winter, spring, summer, fall }一个enum是定义一组值的对象,它可以包括零个或多个值成员.它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值.在次之前的java程序员一般是 用接口的方法实现列举的,如 :public interface Sea...

2011-08-26 10:57:37 82

原创 SimpleDateFormat 是非线程安全

在使用SimpleDateFormat的经常会有一些错误的用法,例如如下方式:public class TestDateFormat{ private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); public void method1(){ sdf.format(new Dat...

2011-08-25 21:21:11 74

原创 derby 内嵌式数据库 java jdbc

在使用内嵌式数据库的时候,一般步骤如下:1:下载derby 2:配置derby_home 3:设置classpath 需要注意的一点是:在使用ij进行连接、创建数据库的时候,所影响的数据库是在运行命令的当前目录下。 如果你使用是内嵌模式:ij命令任何目录都可以连接、创建数据库 如果你使用的是网络模式:需要开启startNetworkService 启动一个服...

2011-08-25 10:08:21 153

原创 isDebugEnabled 、isInfoEnabled 为什么要使用

以前一直不明白为什么在输出日志前必须使用:if (log.isDebugEnabled())???在看下面的解释之前,我先说明下,对于打印的信息没有字符拼接或者对象(说白了没有tostring的方法调用),如果打印的信息是固定字符串的话,就加上面的判断和不加其实意义是一样的(更说白了,就是节省log.debug(***)中***部分向字符串的装换。下面是一位网友写的,他说明了比较纤细,我摘...

2011-08-24 22:41:08 1581

原创 Spring 模板+回调

话回正转,这两天在读spring的jdbc模板,对Spring源码的精妙真是佩服得五体投地,极为经典。 spring中真是集设计模式之大成,而且用得是炉火纯青。模板方法(template method)就在spring中被大量使用,如:jdbcTemplate,hibernateTemplate,JndiTemplate以及一些包围的包装等都无疑使用了模板模式,但spring并不是单纯使用了模...

2011-08-24 15:52:30 234

原创 java事务总结

java事务处理总结 一、什么是Java事务 通常的观念认为,事务仅与数据库相关。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败时,所有被该事务影响的数据都应...

2011-08-22 20:00:05 54

原创 数据库垂直、水平分割

(1) 水平分割:根据一列或多列数据的值把数据行放到两个独立的表中。水平分割通常在下面的情况下使用:A 表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度。B 表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用。C需要把数据存放到多个介质上。 例如法规表law...

2011-08-22 19:34:28 64

原创 java类的初始化

如下一个类:public class finalTest { public static final int a=0; public finalTest() { System.out.println("sss"); } public static int aa() { return 11; } sta...

2011-03-27 23:52:40 48

原创 浮点数的计算注意点

System.out.println(2.1-1.2); System.out.println(2.1-0.1); System.out.println(2.1f-1.2f); System.out.println((new BigDecimal("4.0")).subtract(new BigDecimal("3.1")).doubleValue()); resul...

2011-03-08 11:38:57 85

原创 StringBuffer StringBuilder 小议

StringBuffer 和 StringBuilder 中的方法其实几乎是相同的,但是前者是线程安全的,后者是线程不安全的,自然后者的速度比前者来的快下面列举出了前者的部分源码 public synchronized StringBuffer append(Object obj) { super.append(String.valueOf(obj)); ret...

2010-10-13 17:23:21 56

原创 java 面试中的一道截取字符串的经典题目

特此申明,本文原文出自http://www.dnbcw.com/biancheng/java/msij202835.html 小菜发现代码有严重的bug,特此修复,并写出了较完整的代码 在原来的代码中,如果输入的汉子是连续的: 如:我A结束BC汉DEF 那么截取第5个的时候,就出问题。有兴趣的同学可以看看原来的代码 下面是我修正后的代码: package s...

2010-09-26 10:39:19 94

原创 关于static--代码优化问题小议

前些天看了篇文章:[url]http://www.ibm.com/developerworks/cn/java/j-perf08273/index.html[/url]里面关于static的说法,我对起有了较深一步的研究测试代码: public class bigObject {int a=9;long b=12;float c=12...

2010-09-17 10:49:48 105

原创 Java面试题:判断一个数字是否为2的阶次方数

[code="java"]8,64,256都是2的阶次方数(例8是2的3次方),用java编写程序,用两种方法来判断一个整数是不是2的阶次方数,并说明哪个方法更好。 查看复制到剪切板打印return n==0 ? false : (n-1)&n==0; return n==0 ? false : (n-1)&n==0;先说3元运算符A?B:C的意思是看A是否...

2009-10-25 14:18:14 318

关于六个嫌疑人的问题

[code="java"]package bag;import com.sun.accessibility.internal.resources.accessibility;import com.sun.org.apache.xalan.internal.xsltc.compiler.Template;public class CriminalTest { /** ...

2009-10-25 14:08:36 1074

关于 一道i++ ++i 的问题

public class Difficult { public static void main(String[] args) { int i=2; i=i++; int j=i++; System.out.println(i+":"+j); }...

2009-07-26 08:54:14 79

空空如也

空空如也

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

TA关注的人

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