摘要: 请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 spider有一个配置文件spider.xml,为xml格式,spider.xml采用DTD进行管理,用于管理spider的所有特性、路由、高可用等。 配置文件支持三种不同的方式进行指定: 1、 阅读全文
posted @ 2016-11-19 19:07 zhjh256 阅读(1813) 评论(2) 推荐(1)
摘要: 请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 本部分将介绍使用spider RPC开发分布式应用的客户端和服务端。 spider RPC中间件基于J2SE 8开发,因此需要确保服务器上安装了JDK 8及以上版本,不依赖于任何额外需要独立安装和 阅读全文
posted @ 2016-11-19 16:35 zhjh256 阅读(892) 评论(0) 推荐(0)
摘要: 请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 测试环境部署结构 测试用例 public @ResponseBody String t1001(Model model,HttpServletRequest request){ PlatformR 阅读全文
posted @ 2016-11-19 16:23 zhjh256 阅读(629) 评论(0) 推荐(0)
摘要: 请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 spider RPC 特性介绍 spider RPC 性能测试 spider RPC 入门指南 spider RPC 配置文件参考 spider RPC 开发指南 spider RPC 安全性 s 阅读全文
posted @ 2016-11-19 16:04 zhjh256 阅读(503) 评论(0) 推荐(0)
摘要: 今天安装wordpress完成后跳转到login页面时,出现建立数据库连接时出错。网上清一色的拷贝http://mt.sohu.com/20160917/n468547634.shtml的答案。 只能说这可能是一个原因,但你TMD能不说不外乎么?坑爹的货。。。 最后,检查了下表里面的记录,结果发现每 阅读全文
posted @ 2016-11-18 15:04 zhjh256 阅读(284) 评论(0) 推荐(0)
摘要: 因为要搭建个知识库,直接用wordpress,这前提是得先装php,实在不喜欢XAMPP,所以自己折腾,没想到php这一来还不少啊,从头到尾折腾了一个小时多。记录下主要的流程和遇到的坑。 首先官网下载php,http://php.net/downloads.php,用的是5.6.28的版本。 下载后 阅读全文
posted @ 2016-11-18 13:53 zhjh256 阅读(10890) 评论(0) 推荐(1)
摘要: 前一篇说了jsrender嵌套循环的使用,在SPA的应用中,广泛使用的一个点就是view模板,使用了SPA之后,每个业务页面不再是独立的html,仅仅是一个segment,所以通常这些segment会被独立的存储,而不是跟demo一样嵌在宿主页面中。因为jsrender的模板本质上就是一个strin 阅读全文
posted @ 2016-11-17 12:23 zhjh256 阅读(1093) 评论(0) 推荐(0)
摘要: 最近在参与整合前端的框架,我们知道javascript最强大的模板引擎之一当属jsrender,号称下一代jquery模板引擎的标准实现。 通常在模板merge的过程中,我们会遇到两次乃至三级嵌套的情形,强大的jsrender自然会支持,如下所示: 效果如下: 阅读全文
posted @ 2016-11-17 11:35 zhjh256 阅读(2715) 评论(0) 推荐(0)
摘要: 今天在测公司的中间件时发现,增加netty自带的zlib codec压缩处理后,就报decompress failed, invalid head之类的异常。后来发现,直接用bytebuf处理报文体是正常的,但是增加了stringencoder/decoder之后,就会出现这个异常。本来之前就想把这 阅读全文
posted @ 2016-11-16 20:20 zhjh256 阅读(3082) 评论(3) 推荐(0)
摘要: 自从大规模使用了虚拟化之后,大流量时soft interrupt在某个cpu很高就是个严重的问题,最近一有时间就研究这个问题,如果网卡本身不支持多队列的话,有没有办法缓解这个问题。 一开始使用rps,效果不是很好,总体来说,设置rps之后,其他cpu确实分担了部分si,但实际效果并不明显。 后来,考 阅读全文
posted @ 2016-11-15 18:59 zhjh256 阅读(2165) 评论(1) 推荐(0)
摘要: 昨天一早,开发人员反馈说一个测试环境报Tablespace is missing for table 'db_rsk/XXX",周末刚升级过,特地让开发回去查了下,说脚本中肯定没有drop table的操作。datadir下检查了下,发现frm文件在的ibd文件没有了,bing了下,没发现类似异常。 阅读全文
posted @ 2016-11-15 11:52 zhjh256 阅读(11335) 评论(0) 推荐(0)
摘要: 之所以sockjs会存在,说得不好听点,就是因为微软是个流氓,现在使用windows 7的系统仍然有近半,而windows 7默认自带的是ie 8,有些会自动更新到ie 9,但是大部分非IT用户其实都不愿意或者不会升级(通常我们做IT的认为很简单的事情,在其他行业的人来看,那就是天书,不要觉得不可能 阅读全文
posted @ 2016-11-10 19:10 zhjh256 阅读(24940) 评论(3) 推荐(2)
摘要: 今天,某个环境又发生了死锁,如下: *** (1) TRANSACTION:TRANSACTION 735307073, ACTIVE 0 sec insertingmysql tables in use 1, locked 1LOCK WAIT 6 lock struct(s), heap siz 阅读全文
posted @ 2016-11-10 17:52 zhjh256 阅读(1716) 评论(0) 推荐(0)
摘要: 有些场景下,在实现一些基础服务和拦截器的时候,我们可能需要在不知道JSON字符串所属对象类型的情况下,对JSON字符串中的某些属性进行遍历和修改,比如,设置或查询一些报文头字段。 在jackson中,使用最多的JsonNode抽象类并没有提供修改节点值的方法,而是在ObjectNode节点中提供修改 阅读全文
posted @ 2016-11-10 09:28 zhjh256 阅读(18509) 评论(1) 推荐(0)
摘要: 最近在高并发的系统中发现,concurrenthashmap除了大家熟知的避免循环期间发生ConcurrentModificationException异常外,还有重要的一点是Retrievals reflect the results of the most recently completed  阅读全文
posted @ 2016-11-09 13:21 zhjh256 阅读(387) 评论(0) 推荐(0)
摘要: 最近公司计划将风控逻辑移到slave库进行计算,因为考虑到业务表数据会比较大,此时如果还是走nest-loop的话,即使unique进行连接,因为还是需要至少2次以上LIO才能读一条记录,如果达到类似hash join效果的话,在大数据量下,性能通常可以大幅度提升。 因为memory引擎支持hash 阅读全文
posted @ 2016-11-09 09:41 zhjh256 阅读(919) 评论(0) 推荐(0)
摘要: 最近,将部分开发和测试环境的mysql升级到5.7之后,今天抽时间测试了下5.6和5.7 PK查询的性能,使用mysqlslap进行测试,测试结果发现在低配下,percona 5.6.31大约比5.7.15快20-30%左右,percona 5.7.15比mysql企业版5.7.16快10%左右,如 阅读全文
posted @ 2016-11-08 19:18 zhjh256 阅读(1204) 评论(0) 推荐(0)
摘要: 最近在考虑公司主要基础三方库版本统一和升级的问题,特看了下tomcat jdk servlet websocket版本的对应关系,如下: nginx前置的j2ee websocket 1.1完整实现方案如下。 js端(一般来说单页面只应该建立最多一两个ws,非单页面也应该仅在portal及一些首页用 阅读全文
posted @ 2016-11-07 07:37 zhjh256 阅读(826) 评论(0) 推荐(0)
摘要: 使用标准的JSR 356注解时,需要使用tomcat 8.x版本,如果使用tomcat 7.x的版本,则需要继承WebSocketServlet,否则会报WebSocket connection to,Error during WebSocket handshake: Unexpected resp 阅读全文
posted @ 2016-11-05 12:25 zhjh256 阅读(1277) 评论(0) 推荐(0)
摘要: 最近为了省事,决定从excel将表结构生成jquery.datatable的json对象结构,其中要把下划线转驼峰,如下: =LEFT(C251,1)&MID(SUBSTITUTE(PROPER(C251),"_",""),2,100) 阅读全文
posted @ 2016-11-04 16:41 zhjh256 阅读(3452) 评论(0) 推荐(2)
摘要: possible SYN flooding on port 7244. Sending cookie 阅读全文
posted @ 2016-11-03 11:06 zhjh256 阅读(1318) 评论(0) 推荐(0)
摘要: kernel: EXT4-fs (dm-0): Unaligned AIO/DIO on inode 1055943 by mysqld; performance will be poor 阅读全文
posted @ 2016-11-03 11:05 zhjh256 阅读(687) 评论(0) 推荐(0)
摘要: 在有些严格的系统中,我们需要做到干净的停止线程并清理相关状态。涉及到这个主题会带出很多的相关点,简单的总结如下: 我们知道,在java中,有一个volatile关键字,其官方说明(https://docs.oracle.com/javase/tutorial/essential/concurrenc 阅读全文
posted @ 2016-11-02 13:04 zhjh256 阅读(321) 评论(0) 推荐(0)
摘要: 实现上看,两者都继承于AbstractQueue,但是ConcurrentLinkedQueue实现了Queue,而LinkedBlockingQueue实现了BlockingQueue,BlockingQueue又继承于Queue,增加了几个额外的阻塞方法,而在ConcurrentLinkedQu 阅读全文
posted @ 2016-11-02 12:43 zhjh256 阅读(463) 评论(0) 推荐(0)
摘要: 有些时候,需要对特定环境中的Java应用进行实时性能分析,大部分非开发和测试环境(这两者可以使用jprofiler,最佳java性能诊断工具),一般都是用jvisualvm进行基本检测以最小化对系统的影响(其开启后,负载影响大约20%—30%),jvisualvm没有提供cli模式,只提供了GUI。 阅读全文
posted @ 2016-11-02 12:37 zhjh256 阅读(417) 评论(0) 推荐(0)
摘要: 今日,测试公司自行开发的一rpc中间件,期间发现top si的比例很高,且几乎只有一个cpu是繁忙的,其他均基本为0。 经查,si主要是系统软中断,最后确定是网卡导致的系统中断。于是,往上搜了下资料,主流的用法是如果网卡支持多队列的,则启用之。 常用的Intel的82575、82576,I350,B 阅读全文
posted @ 2016-11-01 18:53 zhjh256 阅读(4848) 评论(0) 推荐(0)
摘要: 今早,把开发环境的mysql升级到了5.7.15,5.6数据导入后,启动一切正常,检查.err日志,发现有如下异常: 2016-10-31T00:29:33.187073Z 0 [Warning] System table 'time_zone_leap_second' is expected to 阅读全文
posted @ 2016-10-31 08:56 zhjh256 阅读(1485) 评论(0) 推荐(0)
摘要: 今天一大早到公司,计划把开发环境的mysql升级到5.7.15,干净关闭系统后,把目录从5.6指向到5.7,一切正常,重新指向5.6启动时,报下列错误: 2016-10-31 08:13:14 86998 [ERROR] Plugin 'InnoDB' init function returned 阅读全文
posted @ 2016-10-31 08:36 zhjh256 阅读(3078) 评论(0) 推荐(0)
摘要: 最近测试netty开发的服务端应用在关闭时,出现下列异常: -》###WARN#########nioEventLoopGroup-3-2###io.netty.util.internal.logging.Slf4JLogger.warn(Slf4JLogger.java:151)###Failed 阅读全文
posted @ 2016-10-29 15:08 zhjh256 阅读(1909) 评论(0) 推荐(0)
摘要: 0、其实常规的逻辑判断结构、工具类、文件读写、控制台读写这些的关系都不大,熟悉之后,这些都是灵活运用的问题。 学习c/c++需要预先知道的一个前提就是,虽然有ANSI C标准,但是每个c/c++编译器的实现在不少实用特性(除了标准库外)上存在着很大的差异,所以最好的方法是先针对某种实现(可参考标准) 阅读全文
posted @ 2016-10-28 12:45 zhjh256 阅读(2487) 评论(0) 推荐(0)
摘要: 通常在使用了jdbc或者netty的应用程序中,当shutdown tomcat或java应用程序时,会出现无法停止的情况,报类似如下错误: 严重: The web application [] registered the JDBC driver [com.mysql.jdbc.Driver] b 阅读全文
posted @ 2016-10-27 21:02 zhjh256 阅读(1883) 评论(0) 推荐(0)
摘要: 停止tomcat,有些时候会报The web application [/XXX] appears to have started a thread named [FileWatchdog] but has failed to stop it. 导致这个错误的原因是在web.xml配置了 所以,启动 阅读全文
posted @ 2016-10-27 20:27 zhjh256 阅读(6555) 评论(0) 推荐(0)
摘要: 公司当前版本的系统大量的使用了存储过程,有些复杂的过程套过程,一个主调用者可能最多调用其它几十个小的业务逻辑和判断,不要说这么做很不合理,在大陆,目前至少30%的证券交易系统代码都是用存储过程写业务逻辑的,包括sql server/oracle/mysql,三个版本都有,所以BS把业务写在存储过程的 阅读全文
posted @ 2016-10-27 08:02 zhjh256 阅读(1745) 评论(0) 推荐(0)
摘要: 上周,公司某一环境发生java service wrapper内存剧增导致最后被自动killed的情况,经过分析,确定导致java service wrapper(后续简称wrapper)守护进程内存快速增长直至被killed的最根本原因是应用程序到mysql数据库的jdbc可用连接远远小于java 阅读全文
posted @ 2016-10-24 16:46 zhjh256 阅读(561) 评论(0) 推荐(0)
摘要: 在dbcp 1.4中,如果底层的连接已经与数据库断开了,此时dbcp 1.4的实现并不释放内部连接,虽然早已提供了removeAbandoned和removeAbandonedTimeout参数,但是这两个参数在1.4中并没有生效,大概是以因为1.4中遗漏了调用BasicDataSource.sta 阅读全文
posted @ 2016-10-24 15:35 zhjh256 阅读(670) 评论(1) 推荐(0)
摘要: lambda从使用上来说,第一感觉直白的理解就是,少了很多不必要的匿名回调类的写法,比如: 对着这段代码,会打印出: {"lists":[{"nodeId":100001,"nodeName":"机构100001","companyId":"1200","createDate":"20160101" 阅读全文
posted @ 2016-10-22 15:09 zhjh256 阅读(418) 评论(0) 推荐(0)
摘要: netty不同于socket,其上次API没有提供设置backlog的选项,而是依赖于操作系统的somaxconn和tcp_max_syn_backlog,对于不同OS或版本,该值不同,建议根据实际并发量针对性设置。 对于linux,可通过cat /proc/sys/net/core/somaxco 阅读全文
posted @ 2016-10-20 21:28 zhjh256 阅读(2050) 评论(0) 推荐(0)
摘要: 1、文件使用UTF-8格式; 2、取消js验证; 3、设置java文件模板 安装explorer https://www.cnblogs.com/zhjh256/p/5717326.html,直接右键打开目录。 代码提示 mybatis mapper自动定位 安装lombok 安装 阿里巴巴java 阅读全文
posted @ 2016-10-20 19:46 zhjh256 阅读(259) 评论(0) 推荐(0)
摘要: 在类库的开发过程中,有些时候为了self-contain的原因,我们希望所有的资源都打包在jar中,但是有些工具好像无法支持从classpasth直接获取比如velocity的模板合并,此时我们就知道class所在的jar,然后通过jar方式加载velocity资源模板。 阅读全文
posted @ 2016-10-20 19:40 zhjh256 阅读(1052) 评论(0) 推荐(0)