- 博客(27)
- 资源 (50)
- 收藏
- 关注
原创 java protobuf 打印中文乱码问题
对于一个protobuf对象,通过toString方法打印出来的中文是一串数字如果想打印出中文可通过TextFormat.TextFormat.printToUnicodeString方法实现
2019-06-25 21:02:10 5647 1
原创 找出java代码中占用cpu过多问题
上面的代码启动两个线程,线程T1会占用少量CPU,线程T2会占满一个CPU。那么如果找出代码中占用CPU较多的问题呢?首先我们通过top列出进程,按照cpu使用率排序(shift + p)可以看出出问题的进程号是30358然后使用 top -H -p 30358 得到如下结果这里可以看到线程为30371占用太多CPU,此线程有问题接下来使用jstack
2015-07-26 20:03:52 1003
原创 常用的网络排查问题命令
1. 查看有无收到对端ping数据包sudo tcpdump -i any host srcIp and icmp2. 查看路由相关信息sudo route -n3. 查看具体路由信息sudo traceroute destIp4. 修改路由表,让路由从固定的网管和网口到达目的IPsudo route add -host destIp gw
2015-07-01 14:23:53 928
原创 java 加载资源方法
目录结构如下/home/test / foo / conf / conf.txt (conf.txt 内容为a=b)/home/ test / foo / cont.txt (conf.txt 内容为c=d)/home/ test / conf / conf.txt
2015-06-25 23:04:24 473
原创 pat 1028. 人口普查(20)
#include #include #include #include using namespace std;int validCount = 0;string oldest("1814/09/06");string youngest("2014/09/06");typedef struct person {string name;
2015-03-08 10:45:52 564
原创 mybatis中commit和rollback使用不当造成事务泄露和锁超时问题总结
commit接口定义如下: /** * Flushes batch statements and commits database connection. * Note that database connection will not be committed if no updates/deletes/inserts were called. * To for
2014-10-14 18:53:53 8419 2
原创 mybatis select语句缓存使用注意事项
工作中遇到一个select语句缓存问题(可提交读隔离级别下select语句没有读取到其它事物更新后的结果),场景如下:数据库:mysqlUser表结构: 隔离级别:read committed(可提交读)Mapper文件: 代码如下: 执行结果: 问题:虽然我们把mysql隔离级别设置为read commi
2014-10-14 18:52:26 2846
原创 java、jsp、servlet编码问题
java程序编码编译阶段编码首先编写java源文件,并以一定编码保存,调用java编译器编译源文件,Javac命令行参数-encoding告诉java编译器源文件使用的编码(如果没有指定则java编译器认为java文件使用操作系统中file.encoding指定的编码),java编译器会首先把源文件从-encoding编码转换到unicode编码存储到内存中,把编译好的字节码写入cla
2014-10-14 18:52:00 401
原创 编写可测性代码
1.可测代码的好处 方便编写单元测试,保证代码质量 代码复用性较高模块耦合性较低 容易测试的代码往往结构合理,分工更明确 代码可读性强 代码的可维护性好 2.提高可测性方法TDDTDD是一种测试先行的开发模式。简单的讲就是在编写代码之前先编写测试代码。优点:测试先行很好的保证了代码的可测性 缺点:耗时较多、打破了一般程序员的常规设计思路、实践起来较为困难
2014-10-14 18:51:18 612
原创 mybatis3 使用注意事项
这里讲解的都是mybatis3版本的特性,不保证适用其它版本。1. mybatis缓存使用注意mybatis自身带有很强大的缓存特性,用户可以通过配置文件进行配置。缓存可以提高mybatis的效率,但使用不当会导致程序的逻辑错误,有些场景我们需要禁掉缓存。mybatis缓存配置有三个部分全局缓存在mybatis-conf.xml中配置,配置方法,默认是truem
2014-10-14 18:50:18 635
原创 linux系统读写缓存
1. 操作系统缓存在linux世界里,一切可读写设备都可看作是文件。文件cache设计的好坏直接影响着文件系统和磁盘的性能。最直观的是使用free命令看到的cached列。这里面的cached列就是操作系统缓存,操作系统会把空闲的内存拿来做缓存,提高系统性能。当然这里的cached不仅仅缓存文件的数据。操作系统的cache是通过page的方式管理的,内从管理系统分配和回收ca
2014-10-14 18:50:07 2197
原创 linux IO 内核参数调优 之 参数调节和场景分析
1. pdflush刷新脏数据条件(linux IO 内核参数调优 之 原理和参数介绍 )上一章节讲述了IO内核调优介个重要参数参数。总结可知cached中的脏数据满足如下几个条件中一个或者多个的时候就会被pdflush刷新到磁盘:(1)数据存在的时间超过了dirty_expire_centisecs(默认30s)时间(2)脏数据所占内存 /(MemFree + Cache
2014-10-14 18:48:30 1818
原创 Memcached-Java-Clinet 一个bug引起的java direct-memeory内存溢出
这篇文章主要介绍DirectMemory溢出的系统表现和排查方法,另外提醒读者Memcached java客户端3.0.1版本存在一个bug,如果大家使用了这个版本请及时升级,免得带来类似问题。1. 问题场景在运维timeline系统的过程中,发现Java主进程占用7.9G内存(宿主机totalMem为8G),从而导致了OutOfMemeory异常。追踪发现程序中用3.0.1版本的
2014-10-14 18:47:24 1667
原创 linux IO 内核参数调优 之 原理和参数介绍
1. page cachelinux操作系统默认情况下写都是有写缓存的,可以使用direct IO方式绕过操作系统的写缓存。当你写一串数据时,系统会开辟一块内存区域缓存这些数据,这块区域就是我们常说的page cache(操作系统的页缓存)。查看系统内存常用的命令有:vmstat、free、top等。可以使用 cat /proc/meminfo 查看详细的内存使用情况其中
2014-10-14 18:47:01 725
原创 linux 下vi乱码问题总结
在linux开发,经常会遇到用vi打开一个文件在终端显示为乱码的情况,这里对这个问题进行一个总结。出现乱码可能是以下三种情况:1. 文件本身乱码,也就是说文件保存的内容已经是乱码了比如文件有中文字符,但是却以iso-8859-1的编码保存文件。这种情况的乱码是无法恢复的2. vi工具解析文件使用的编码不对例如文件本身使用gbk编码,vi却以utf-8的方式去
2014-10-14 17:31:41 4931
原创 tcp连接关闭详解和注意事项
注:tcp关闭连接不区分客户端和服务端,哪一端口可以主动发起关闭连接请求。所以为了描述方便,描述中的“主动方”表示主动发起关闭连接一方,“被动方”表示被动关闭连接一方。1. tcp关闭连接状态转换 上图是tcp连接主动关闭端的状态转换图:(1)应用层调用close函数发起关闭连接请求(2)发送FIN到对端,关闭写通道,自己进入FIN_WA
2014-10-14 17:28:38 3715
原创 nginx和tomcat之间连接复用要注意的问题
nginx常用作反向代理服务器,上游web服务器选择tomcat。为了提高nginx和tomcat
2014-10-10 19:32:13 5528
原创 tomcat6源码分析三(请求处理过程)
本文主要介绍tomcat多个Connector和一个Container共同组成了一个Service,Service启动后便可以接收和处理用户http/ajp等请求。这里我们依HTTP1.1为例进行分析。Tomcat启动完成后,Acceptor在监听端口监听用户请求。
2014-07-26 13:48:06 840
原创 tomcat6源码分析二(初始化和启动流程)
本节主要使用时序图阐述tomcat的启动流程。Tomcat有两种启动方式:一种从Bootstrap启动,一种是从Catalina启动。Bootstrap和Catalina类都有入口main函数。这里以Bootstrap启动为例分析。生命周期管理(Lifecycle接口)
2014-07-26 13:18:46 676
原创 常见Linux IO模型分析
IO模型有五种:阻塞 IO、非阻塞IO、多路复用IO、异步IO、信号驱动IO。其中阻塞IO、非阻塞IO、多路复用IO、信号驱动IO都属于同步IO。
2014-07-26 11:33:21 968
原创 linux学习小结
if grep pattern myfile > /dev/null; then echo "find"else echo "not find"fi[:alnum:]数字或字符[:alpha:]字符[:digit:]数字[:blank:]空格(space)与定位符(tab)字符[:cntrl:]控制字符[:graph:]非空格(nonsapce)字符...
2012-05-23 19:44:25 84
原创 java编码杂记
编译阶段:首先编写java源文件,并以一定编码保存,调用java编译器编译源文件,Javac命令行参数-encoding告诉java编译器java源文件使用的编码(如果没有指定则java编译器认为java文件使用操作系统中file.encoding指定的编码),java编译器会首先把源文件从-encoding编码转换到unicode编码(初步认为是utf8编码)存储到内存中,最后写入class文件...
2012-05-23 19:39:07 111
java
输入:N(整数)输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节文件格式如下:字符串\t数字\n 说明:每行为1条记录;字符串中不含有\t。数字描述的是该字符串的出现概率,小于等于100的整数。多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;如果文件格式错误,程序也退出。要求:编写一个程序,输入为N(正整数),读入...
2011-09-17 11:32:40 109
algorithms(算法之美).pdf.zip
2019-07-14
[黑客攻防技术宝典Web实战篇].Dafydd.Stuttard.第2版.pdf.zip
2019-05-09
netty in action
2014-07-26
httpd-2.4.2.tar.bz2
2012-08-09
jdeclipse_update_site.zip
2012-08-09
jdgui033windows.zip
2012-08-09
Manning - JUnit in Action.pdf
2012-06-03
程序员思维修炼.pdf
2012-06-03
xampp-win32-1.7.3.rar
2012-05-23
Java for the Web with Servlets, JSP, and EJB
2012-05-15
highlight-setup-3.6.exe
2011-11-27
Hadoop_in_Action
2011-11-27
CSS网教资源
2011-11-18
Cascading Style Sheet 样式表中文手册.chm
2011-11-18
5日精通CSS层叠样式表.chm
2011-11-18
Java编程思想第四版完整中文高清版(免费).pdf
2011-11-18
sed和awk.pdf
2011-11-02
Linux命令大全(Linuxidc.com修改版).chm
2011-11-02
awk最新教程.chm
2011-11-02
百度-分布式应用解决方案——linkbase.docx
2011-09-08
UNIX高级环境编程
2011-09-08
程序员面试宝典 作 者: 欧立奇、刘洋、段韬
2011-09-05
24种设计模式介绍与6大设计原则.pdf
2011-08-15
WinRAR_4.0.exe
2011-06-01
mysql5-1.chm 参考手册 中文版
2011-05-03
Linux基础命令教程豪华版.chm
2011-04-27
svn-book.pdf
2011-04-27
Struts2的使用.chm
2009-10-05
Hibernate_3.2_docs.CHM
2009-10-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人