- 博客(135)
- 收藏
- 关注
原创 项目代码质量控制
在以后的开发项目时可以适当使用工具进行程序检查:1、FindBugs: 一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题–FindBugs发现的问题,大部分都是在Runtime过程中,会造成程序异常、错误的–FindBugs可以联系class所在包的上下文,对代码进行穿透检查,对隐藏的比较深层次的逻辑错误、资源操作问题等进...
2014-10-20 17:15:34
295
原创 NodeJS学习
好久没怎么学习了,现在开始抽时间学习一下NodeJS。express框架Windows7下的安装:命令如下:npm install -g expressnpm install -g express-generator express新文档结构指导...
2014-08-14 10:37:33
148
原创 WorkbookFactory 找不到
在最近的POI版本中,poi-3.9.jar包中找不到WorkbookFactory这个类,该类在创建一个存在的Excel文件并读取内容时会用到,而这个类存在于:poi-ooxml-3.9.jar中,因此如果在apapche网站下载poi包时,需要引入这两个jar包; 本人在写程序的过程中遇到这个问题,特在此记录一下。...
2013-11-08 10:46:53
1510
原创 开启新的生活
工作已辞,新工作已找到,即将离开北京,三年的北京生活终于要结束了。三年有很多的收获,也有很多的不足, 从企业应用转到互联网,收获颇丰吧。虽然没有大的作为,但是也不算特别失败吧,回山东之后重新转入企业应用。 希望在这毕业四年的沉淀学习之后,以后有所作为吧。在此留几条原则,自勉之。 1、稳定心态,沉下心来,进入新的业务领域从头学起。 ...
2013-04-19 17:24:45
171
原创 使用pidstat查看进程资源使用情况
在查看系统资源使用情况时,很多工具为我们提供了从设备角度查看的方法。例如使用iostat查看磁盘io统计信息:linux:~ # iostat -d 3Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnsda 1.67 0.00 ...
2013-03-12 11:06:37
223
原创 记一次JVM GC日志分析
这几天在准备升级JDK版本到1.6,对目前线上JVM(版本是1.5.0_08-b03) GC日志进行了分析,发现一些参数设置不太合理的地方,有待后续通过数据来进行验证。1.原始GC日志(通过JVM配置GC Print参数获取GC日志)...695.775: [GC 695.776: [ParNew: 130944K->0K(131008K), 0.0174100 secs]...
2013-03-08 21:36:24
100
原创 MySQL中关于查询条件中的字符串空格问题
假设当前mysql数据库中有个表:sysuser有个字段是:sysUseName字段中有条记录的内容是:robin请看下面这两个SQL语句:SELECT * from sysuser s where s.sysUseName = 'robin'SELECT * from sysuser s where s.sysUseName = 'robin空格'SELECT * ...
2013-02-20 19:17:01
812
1
原创 Java 6 JVM参数选项大全(中文版)
原文链接 http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm! 本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Options 编写的译文。主要介绍JVM中的非稳态选项及其使用说明。为了让读者明白每个选项的含义,作者在原文基础上补充了大量的资料。希望这份文档,对正在研究JVM参数的朋友...
2013-02-20 16:01:14
106
原创 Eclipse 相同变量的高亮 及颜色
在Eclipse/MyEclipse中如果不小心把变量的高亮显示弄丢了可真是件愁人的事,不过看到这你就不用愁了 进入windows-> preferences-> java-> Editor-> Mark Occurences 最上边的大标题的复选框勾上,下面的就都可以高亮显示了,Local variables是变量的高亮显示 ...
2013-02-18 17:26:03
252
原创 java jstack dump 线程 介绍 解释
hi,all: 最近抽时间把JVM运行过程中产生的一些线程进行了整理,主要是围绕着我们系统jstack生成的文件为参照依据。 前段时间因为系统代码问题,造成性能到了天花板,于是就dump了一份stack出来进行分析。 看stack其实也需要一定的经验,毕竟它里面很多线程不可能都是有问题,所以,需要对他们有一定认识。 现在市面上很少有人对这一块做整理,所以,导致很多新人...
2013-02-05 15:52:38
159
原创 动态添加MYSQL从库,导出主库
http://dev.mysql.com/doc/refman/5.5/en/replication-howto-mysqldump.html
2013-01-15 17:57:48
288
原创 MySQL主从失败 错误Got fatal error 1236解决方法
由于主服务器异外重启, 导致从报错, 错误如下:show slave status错误:mysql> show slave status\GMaster_Log_File: mysql-bin.000288Read_Master_Log_Pos: 627806304Relay_Log_File: mysql-relay-bin.000990Relay_Log_Po...
2013-01-09 16:45:21
128
原创 [转载]JDMK 基本JMX配置( html adaptor)
原文地址:JDMK 基本JMX配置( html adaptor)作者:macgJDMK概述JDMK(Java Dynamic Management Kit)是由JAVA的一个应用程序接口(JAVAAPI)和一套开发工具组成的。JDMK是JMX的第一个商业化产品,它是JMX(Java Managementextensions)的一个实现,它...
2013-01-07 13:37:19
484
1
原创 JAVA中的继承分析
为什么写这篇博客,之前对继承的理解知识大体理论上,最近有个同事问了个问题,发现对JAVA继承的底层实现相当模糊,结合《深入理解Java虚拟机:JVM高级特性与最佳实践》以及上网查的资料进行了一下深入学习。 程序:现在又两个父子类如下 class Parent{ public String str = "Parent"; private int a = 10; p...
2012-12-27 11:43:32
141
原创 Eclipse Python插件 PyDev
PyDev 简介2003年7月16日,以 Fabio Zadrozny 为首的三人开发小组在全球最大的开放源代码软件开发平台和仓库 SourceForge 上注册了一款新的项目,该项目实现了一个功能强大的 Eclipse插件,用户可以完全利用 Eclipse 来进行 Python 应用程序的开发和调试。这个能够将 Eclipse当作 Python IDE 的项目就是 P...
2012-12-25 20:01:02
103
原创 学习督促
最近学习了java一些相关的知识,如JVM,泛型,多线程等等。但是只是停留在看书的基础上,导致看的时候貌似什么都懂了,看过之后过段时间好想什么也没记住的样子。看来只有在看过之后能够写出程序来(不是照抄),并且能够用自己的语言表达清楚才能变成自己的知识。以前只是看,这也许是自己的水平没有本质提高的原因吧,从现在开始要学会总结,多写笔记,就放在这里的博客里吧,加油...
2012-12-20 09:12:52
108
原创 JVM学习之:虚拟机中的运行时栈帧总结(二)
在 JVM学习之:虚拟机中的运行时栈帧总结(一) 虚拟机栈的情况做了一个简单的介绍,也对虚拟机栈中的局部变量表做了简单的介绍,本篇文章主要是简单的总结一下在虚拟机栈帧的其他组成部分.虚拟机栈帧除了局部变量表,还包括操作数栈,动态连接,以及方法的返回地址等结构(一)操作数栈:首先根据名称可以看出操作数栈是一个基本的栈来实现数据结构,那么它自然也遵守栈的后入先出的原...
2012-12-12 19:46:16
131
原创 JVM学习之:虚拟机中的运行时栈帧总结(一)
每个人都知道,各种各样的动画视频,都是由一帧一帧图片连续切换结果的结果而产生的,其实虚拟机的运行和动画也类似,每个在虚拟机中运行的程序也是由许多的帧的切换产生的结果,只是这些帧里面存放的是方法的局部变量,操作数栈,动态链接,方法返回地址和一些额外的附加信息组成,在虚拟机中包含这些信息的帧称为“栈帧”,每个方法的执行,在虚拟机中都是对应的栈帧在虚拟机栈中的入栈到出栈的过程。其中比...
2012-12-12 19:45:42
140
原创 mysql 语句的调度优先级及改变
MySQL的默认的调度策略可用总结如下:· 写入操作优先于读取操作。· 对某张数据表的写入操作某一时刻只能发生一次,写入请求按照它们到达的次序来处理。· 对某张数据表的多个读取操作可以同时地进行。MySQL允许你改变语句调度的优先级MySQL提供了几个语句调节符,允许你修改它的调度策略:· LOW_PRIORITY关键字应用于DELETE、INSERT、...
2012-12-07 16:47:27
275
原创 JAVA字符串占位符
包 java.text.MessageFormatjava.text.MessageFormat 正好用的是 {0}, {1} 这样,也正好是从 0 开始的,呵呵。String str = MessageFormat.format("我是{0},我来自{1},今年{2}岁", "中国人", "北京", "22");...
2012-12-06 08:24:06
535
原创 copy项目是容易出现的错误--webAppRootKey错误
Tomcat 发布多个项目时抛的webAppRootKey错误Xml代码 在tomcat的目录conf\Catalina\localhost下,可以增加xml文件,来指向file系统中任意一处作为网站系统的子根目录,例如: atcs.xml文件: <!-- Context configuration file for the Tomcat Host Manager Web...
2012-12-05 21:18:15
121
原创 web.xml配置总结
一、关于webAppRootKey的定义默认情况下webAppRootKey属性的值为webapp.root(就是说系统会把“web目录的路径”压入一个叫webapp.root的系统变量,也就是说我们可以在以后的properties文件设置中,使用${webapp.root.webtools}来代替“web目录的路径”,此例为tomcat/webapp/webtools...
2012-12-05 20:50:09
107
原创 spring组件扫描<context:component-scan/>使用详解
关于spring自动检测组件的使用方式网上太多了,而且也不是我记录的重点,我想说下一点可能你还不知道的经验我们知道如果不想在xml文件中配置bean,我们可以给我们的类加上spring组件注解,只需再配置下spring的扫描器就可以实现bean的自动载入。 先写一个小例子,剩下的在下面解释<!--定义扫描根路径为leot.test,不使用默认的扫描方式 --&g...
2012-12-05 19:14:08
82
原创 spring组件扫描<context:component-scan/>使用详解 (
关于spring自动检测组件的使用方式网上太多了,而且也不是我记录的重点,我想说下一点可能你还不知道的经验我们知道如果不想在xml文件中配置bean,我们可以给我们的类加上spring组件注解,只需再配置下spring的扫描器就可以实现bean的自动载入。 先写一个小例子,剩下的在下面解释<!--定义扫描根路径为leot.test,不使用默认的扫描方式 --&g...
2012-11-28 08:57:01
143
原创 static class 静态类(Java)
一般情况下是不可以用static修饰类的。如果一定要用static修饰类的话,通常static修饰的是匿名内部类。在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。由于静态的内部类在定义、使用的时候会有种种的限制。所以在实际工作中用到的并不多。...
2012-11-23 20:20:38
107
原创 redis主从的配置和使用
redis主从的配置和使用1, redis配置文件常用选项说明daemonize no 说明:是否把redis-server启动在后台,默认是“否”。若改成yes,会生成一个pid文件。pidfile /var/run/redis.pid说明:redis-server的pid文件。port 6379说明:redis-server的端口号dbfil...
2012-11-23 14:24:26
161
原创 java jvm 调优实战
1.eclipse 打印gc日志 eclipse根目录eclipse.ini 中设置如下:-XX:+PrintGCTimeStamps -XX:+PrintGCDetails -verbose:gc -Xloggc:gc.log 2. Java中,栈的大小通过-Xss来设置,当栈中存储数据比较多时,需要适当调大这个值,否则会出现java.lang.StackOve...
2012-11-13 10:01:48
69
原创 Zookeeper的一致性协议:Zab
Zookeeper使用了一种称为Zab(Zookeeper Atomic Broadcast)的协议作为其一致性复制的核心,据其作者说这是一种新发算法,其特点是充分考虑了Yahoo的具体情况:高吞吐量、低延迟、健壮、简单,但不过分要求其扩展性。下面将展示一些该协议的核心内容:另,本文仅讨论Zookeeper使用的一致性协议而非讨论其源码实现Zookeeper的实现是有Cl...
2012-11-04 16:14:07
122
原创 浅谈java内存模型
不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改。总结java的内存模型,要解决两个主要的问题:可见性和有序性。我们都知道计算机有高速缓存的存在,处理器并不是每次处理数据都是取内存的。JVM定义了自己的内存模型,屏蔽了底层平台内存管理细节,对于j...
2012-10-30 19:29:57
83
原创 MySQL水平分区表初体验总结
本文总结个这段时间研究MySQL水平分区表总结,列举分区表的相关操作和通过实际数据对分区表读写的性能比较.在网上看了很多文章,都太过于概念,注意集中在介绍分区表的优点,而不注重时间操作,跟大学教授论文似的,唯一由于的一片文章和大家分享一下吧http://fanqiang.chinaunix.net/db/mysql/2006-05-08/4135.shtml.MySQL分区表操作代...
2012-09-21 15:22:54
107
原创 小议同步IO :fsync与fdatasync
对于提供事务支持的数据库,在事务提交时,都要确保事务日志(包含该事务所有的修改操作以及一个提交记录)完全写到硬盘上,才认定事务提交成功并返回给应用层。一个简单的问题:在*nix操作系统上,怎样保证对文件的更新内容成功持久化到硬盘? 1. write不够,需要fsync一般情况下,对硬盘(或者其他持久存储设备)文件的write操作,更新的只是内存中的页缓存(page ...
2012-09-13 20:23:28
108
原创 Linux修改MySql默认存储引擎为InnoDB
一、关闭相关应用二、停止mysqlbin/mysqladmin -u root -p shutdown三、备份my.cnfcd /etccp my.cnf my.cnf_bak四、修改my.cnf[mysqld] 后加入vi my.cnfdefault-storage-engine=InnoDB 五、删除/mysql/data目录下...
2012-09-13 18:25:20
615
原创 MySQL数据库的初始化mysql_install_db
一、mysql_install_db说明当MySQL的系统库(mysql系统库)发生故障或需要新加一个mysql实例时,需要初始化mysql数据库。需要使用的命令:/usr/local/mysql/bin/mysql_install_db#/usr/local/mysql/bin/mysql_install_db --help 可以查看帮助信息如下Usage: /usr/loc...
2012-09-13 14:13:58
972
原创 四层和七层负载均衡的区别介绍
简单理解四层和七层负载均衡:①所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求,然后再分配到...
2012-09-12 11:46:37
90
原创 Linux下高并发Tcp需要突破的限制
1、修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的 限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当 前用户进程打开的文件数限制:[speng@as4 ~]...
2012-09-06 13:47:34
156
原创 LInux Tcp 延迟确认问题
案例一:同事随手写个压力测试程序,其实现逻辑为:每秒钟先连续发N个132字节的包,然后连续收N个由后台服务回显回来的132字节包。其代码简化如下:char sndBuf[132];char rcvBuf[132];while (1) { for (int i = 0; i < N; i++){ send(fd, sndBuf, sizeof(sndBuf), 0); ...
2012-09-06 10:17:54
153
原创 Linux tcpdump命令详解
简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 实用命令实例默认启动t...
2012-09-06 10:00:26
84
原创 Nagle算法 TCP_NODELAY和TCP_CORK
Nagle算法根据创建者John Nagle命名。该算法用于对缓冲区内的一定数量的消息进行自动连接。该处理过程(称为Nagling),通过减少必须发送的封包的数量,提高了网络应用 程序系统的效率。Nagle算法,由Ford Aerospace And Communications Corporation Congestion Control in IP/TCP inte...
2012-09-06 08:43:28
110
原创 Oracle之自治事务
昨天处理项目中的一个业务需求要用到触发器实现,触发器中涉及到在inserting、deleting、updating之后来触发对表的操作,对于inserting、updating中的操作都可以正常实现,就是deleting的时候,要求更新其他表,更新的值是对触发器表自身的查询操作,本人在有限的水平范围之内试过N中方式来达到需求,最后无果,无奈之下只有找经理帮忙看看问题,最终问题被解决了,果...
2012-09-04 11:32:51
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人