- 博客(28)
- 资源 (57)
- 收藏
- 关注
转载 JDK7与JDK8中HashMap的实现
1、JDK7中的HashMapHashMap底层维护一个数组,数组中的每一项都是一个Entrytransient Entry[] table;我们向 HashMap 中所放置的对象实际上是存储在该数组当中; 而Map中的key,value则以Entry的形式存放在数组中static class Entry implements Map.Entry { f
2016-08-31 23:49:37 729
原创 OpenTSDB安装与使用
1. 安装环境1. 系统版本('centos', '6.4', 'Final')2. 内核版本Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux3. 依赖安装1. jav
2016-08-29 12:24:19 7746
转载 对Guava Cache的封装和使用
由于项目的实际情况,需要缓存一些比较不经常改动的数据在本地服务器中,以提高接口处理的速度。决定采用Guava Cache之后,整理了一些具体需求:由于要缓存的key-value对比较多,需要一个封装好的类被继承,子类可以简单的实现把key-value缓存到Guava Cache中; 需要定义一个接口,简单的定义一个get(K key)方法,方便使用; 需要有一个管理界面,统计缓存的命...
2016-08-26 18:55:56 7987
转载 分布式系统协调 ZooKeeper
ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Zookeeper是Google的Chubby一个开源的实现.是高有效和可靠的协同工作系统.Zookeeper能够用来leader选举,
2016-08-25 20:13:29 425
转载 解读分库分表中间件Sharding-JDBC
【编者按】数据库分库分表从互联网时代开启至今,一直是热门话题。在NoSQL横行的今天,关系型数据库凭借其稳定、查询灵活、兼容等特性,仍被大多数公司作为首选数据库。因此,合理采用分库分表技术应对海量数据和高并发对数据库的冲击,是各大互联网公司不可避免的问题。虽然很多公司都致力于开发自己的分库分表中间件,但截止目前,仍无完美的开源解决方案覆盖此领域。分库分表适用场景分库分表用于
2016-08-25 17:51:41 1169
原创 Protocol Buffer入门
Protocol BufferProtocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be s
2016-08-23 14:49:21 614
转载 分布式事务演进
分布式事务背景现在分布式系统一般由多个独立的子系统组成,多个子系统通过进程间通信(RPC)互相协作配合完成各个功能。有很多用例会跨多个子系统才能完成,比较典型的是电子商务网站的下单支付流程,至少会涉及交易系统和支付系统,而且这个过程中会涉及到事务的概念,即保证交易系统和支付系统的数据一致性。通常我们谈及的事务是指单机资源的ACID属性,所以此处我们称这种跨系统的事务为分布式事务。分
2016-08-19 16:23:19 616
转载 系统幂等以及常用实现方式
前言现在稍具规模的网站和大型应用都不再是单机模式,而是分布式应用,基于多机的集群构建的应用,这样服务能力就可以基本实现横向扩容(scale out),不会像单机模式下的纵向扩容(scale up)会受到单机服务能力上限的限制。另外,随着“微服务”概念的火爆,很多应用在构建之初就已经走在了分布式的路线上了,所以就目前行业的发展来看,基于分布式的应用会越来越普遍,甚至变成常态。加上docker
2016-08-19 15:57:41 849
转载 Java SE7新特性之在数值型的字面值中使用下划线
JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量。其中的一个特征是介绍字面常量数字的下划线。从Java7开始,你就可以在你的Java代码里把长整型数字比如10000000000写成一个更具可读性10_000_000_000。在字面常量数字中加下划线的一个重要的原因是避免一些难以通过看代码来发现的细微的错误。对比10000000000 和10
2016-08-18 16:45:05 1166
转载 python MySQLdb在windows环境下的快速安装、问题解决方式
使用Python访问MySQL,需要一系列安装linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装http://blog.csdn.net/wklken/article/details/7271019----------------------------------------------------
2016-08-18 10:36:33 1047
转载 ZooKeeper web管理安装node-zk-browser
node-zk-browser是zookeeper web管理工具,使用node.js,基于express.js和node-zookeeper开发,以树的形式展示zookeeper的数据,登录后可以对节点数据进行新增,编辑,删除。 安装配置流程如下:1.安装node.js 到 https://github.com/joyent/node/tags 下载了源码包v0
2016-08-17 18:36:53 1575 3
转载 Mybatis 大数据量的批量insert解决方案
通过Mybatis做7000+数据量的批量插入的时候报错了,error log如下:current_timestamp,current_timestamp) 被中止,呼叫 getNextException 以取得原因。 at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(Abs
2016-08-17 09:53:33 17634
转载 Spring中事务与aop的先后顺序问题
Spring中的事务是通过aop来实现的,当我们自己写aop拦截的时候,会遇到跟spring的事务aop执行的先后顺序问题,比如说动态切换数据源的问题,如果事务在前,数据源切换在后,会导致数据源切换失效,所以就用到了Order(排序)这个关键字. 我们可以通过在@AspectJ的方法中实现org.springframework.core.Ordered 这个接口来定义order的
2016-08-16 10:49:14 2404
原创 Spring AOP: 织入的顺序
Spring AOP 采用和 AspectJ 一样的优先顺序来织入增强处理:在进入连接点时,高优先级的增强处理将先被织入;在退出连接点时,高优先级的增强处理会后被织入。当不同的切面里的两个增强处理需要在同一个连接点被织入时,Spring AOP将以随机的顺序来织入这两个增强处理。如果应用需要指定不同切面类里增强处理的优先级,Spring提供了如下两种解决方案:① 让切面类实现org
2016-08-16 10:47:31 1050
转载 Maven中-DskipTests和-Dmaven.test.skip=true的区别
在使用mvn package进行编译、打包时,Maven会执行src/test/java中的JUnit测试用例,有时为了跳过测试,会使用参数-DskipTests和-Dmaven.test.skip=true,这两个参数的主要区别是:-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。-Dmaven.test.
2016-08-15 17:53:19 760
原创 XML的特殊字符处理
XML中共有5个特殊的字符,分别是:&特殊标签,将包含特殊字符的字符串封装起来;其二,使用XML转义序列表示这些特殊的字符,这5个特殊字符所对应XML转义序列在表4-2中说明:Spring在进行XML配置时,如果属性值包含了一个XML的特殊符号,因此我们特意在属性值外添加了一个的XML特殊处理标签,的作用是让XML解析器将标签中的字符串当作普通的文本对待,以防止某些字符串对XM...
2016-08-15 14:28:24 4990 2
转载 《Spring事务的陷阱(3)》中的现象与myBatis的执行器参数
在此前发表的《Spring事务的陷阱(3)》中,该现象仅与myBatis的参数"defaultExecutorType" 有关。若将mybatis.xml中的参数"defaultExecutorType"设为"BATCH",即: configuration> settings> setting name="defaultExecutorTy
2016-08-12 21:09:31 3148
转载 关于Mybatis的Batch模式性能测试及结论
近日在公司项目中,使用到spring+mybatis的架构,特对mybatis的batch模式做了相关研究,得出以下结论: 1.Mybatis内置的ExecutorType有3种,默认的是simple,该模式下它为每个语句的执行创建一个新的预处理语句,单条提交sql;而batch模式重复使用已经预处理的语句, 并且批量执行所有更新语句,显然batch性能将更优; 2.
2016-08-12 21:04:48 3758
原创 Mybatis执行Update返回行数为负数
获取mybatis的update行数,总是返回负数。后来在官网上找到原因,是由于defaultExecutorType的引起的,defaultExecutorType有三个执行器SIMPLE、REUSE和BATCH。其中BATCH可以批量更新操作缓存SQL以提高性能,但是有个缺陷就是无法获取update、delete返回的行数。defaultExecutorType的默认执行器是SIMPLE。
2016-08-12 20:45:02 4977 2
原创 jedis高级用法
1、有序集合开区间1、redis命令ZRANGEBYSCORE key min max [WITHSCORES][LIMIT offset count]根据score区间获取集合中的元素,可选项[WITHSCORES]表示选出的元素是否带score值;可选项[LIMIT offset count]表示分页获取数据;该命令默认是使用闭区间(包含min
2016-08-12 11:41:14 2880
原创 java定义二维数组的几种写法(转)
//定义二维数组写法1 class numthree{public static void main(String[] args){float[][] numthree; //定义一个float类型的2维数组numthree=new float[5][5]; //为它分配5行5列的空间大小numthree[0][0]=1.1f;
2016-08-11 10:52:53 674
转载 wait_timeout和interactive_timeout区别
wait_timeout -- 指的是MySQL在关闭一个非交互的连接之前所要等待的秒数interactive_time -- 指的是mysql在关闭一个交互的连接之前所要等待的秒数(交互连接如mysql gui tool中的连接) 对性能的影响:wait_timeout:(1)如果设置大小,那么连接关闭的很快,从而使一些持久的连接不起作用(2)如果
2016-08-09 10:40:05 765
原创 fastjson使用@JSONField、@JSONType、SerializeFilter定制序列化
使用fastjson进行序列化,就是把JavaBean转换为JSON格式的数据。而且fastjson的序列化高度可控性,可以自己定制序列化。fastjson的定制序列化有很多中实现方式,主要有如下的方式:通过@JSONField定制序列化通过@JSONType定制序列化通过SerializeFilter定制序列化 1、在实体类上的字段使用@JSONField定制序列化:
2016-08-06 17:44:58 30877 2
原创 tomcat7配置log4j解决catalina.out日志过大问题
tomcat默认安装后,会每天会自动切割日志文件,(catalina.2010-10-08.log、catalina.2010-10-09.log、catalina.2010-10-10.log)这样的形式,但是他的catalina.out不清空,任其自由增长,时间长了系统性能急剧下降。要解决catalina.out过大问题,网上有很多种方法,如:使用日志切割工具、或者自己写定时脚本:
2016-08-05 17:50:45 18491
原创 log4j 输出完整的Exception信息
现在项目中都用的是log4j进行日志的输出当遇到Exception时,e.printStackTrace() 已经无法使用。此时log.error(e.getMessage()),只能输出异常的信息,不包括异常的抛出顺序我的同事还自己写了一个util来从Exception对象中取得e.printStackTrace()的字符串形式。。。。突然发现不用
2016-08-05 17:12:18 20801 1
转载 log4j的ConversionPattern参数的意义
1、常用标志:-X: X信息输出时左对齐 %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL, %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2011-10-18 22:10:28,921 %r: 输出自应用启动到输出该log信息耗费的
2016-08-05 10:52:30 13717
原创 SpringMVC整合fastjson
springmvc在@ResponseBody时,默认使用Jackson做json对象的序列化操作。由于Jackson在处理对象的循环嵌套关系时不便,所以想用fastjson来替换。方法,修改springmvc.xml
2016-08-04 21:07:39 3980
macOS eclipse Launcher
2023-12-18
parquet-tools-1.6.0rc3.zip
2020-07-24
jQuery-Plugin-For-Easily-Readable-JSON-Data-Viewer.zip
2019-12-31
yesmeck-jquery-jsonview-v1.2.3-14-g01b1eb8.zip
2019-12-30
linux解析json工具——jq
2017-09-16
jquery 全屏显示插件
2015-03-20
apache-maven-3.2.3-bin
2014-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人