Java
文章平均质量分 76
and1kaney
这个作者很懒,什么都没留下…
展开
-
jps命令
jps(JVM Process Status Tool)用来查看基于HotSpot的JVM里面中,所有具有访问权限的Java进程的具体状态, 包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集。 命令格式 jps [ options ] [ hostid ]-q 忽略输出的原创 2016-04-22 00:04:04 · 1849 阅读 · 0 评论 -
2-分布式一致性协议
分布式系统的设计,往往会反复权衡可用性和一致性,于是就产生了一系列的一致性协议,其中最著名的就是二阶段提交一些(2PC)、三阶段提交协议(3PC)和Paxos协议原创 2016-04-21 23:07:38 · 4375 阅读 · 0 评论 -
DbUnit实践:Spring Test Dbunit,H2数据库
概述 Dbunit是一个基于JUnit的数据库集成测试框架。DBUnit 的设计理念就是在测试之前,给对象数据库植入我们需要的准备数据,最后,在测试完毕后,回溯到测试前的状态;它使数据库在测试过程之间处于一种已知状态,如果一个测试用例对数据库造成了破坏性影响,它可以帮助避免造成后面的测试失败或者给出错误结果。 Spring Test DbUnit提供了Spr原创 2016-04-22 00:27:25 · 10422 阅读 · 0 评论 -
基于spring test框架进行单元测试-框架介绍
什么是Spring TestContext? Spring TestContext是Spring提供的一套基于注解的Test框架,Spring TestContext有非常好的兼容性,可以无缝兼容JUnit,TestNG等单元测试框架,而且在其基础上增加更多的功能 在Spring应用大行其道的今天,使用Spring来构建应用已经是再普通不过的事情,但当使原创 2016-04-22 00:31:15 · 1725 阅读 · 1 评论 -
覆盖率工具-jacoco 集成进jenkins
Jacoco是一个开源的覆盖率工具。Jacoco可以嵌入到Ant 、Maven中,并提供了EclEmma Eclipse插件,也可以使用Java Agent技术监控Java程序。很多第三方的工具提供了对Jacoco的集成,如sonar、Jenkins、IDEA. Jacoco包含了多种尺度的覆盖率计数器,包含指令级(Instructions,C0 coverage),分支(Branches,C1原创 2016-04-22 00:35:19 · 18001 阅读 · 5 评论 -
java线上服务问题排查
1、业务日志相关如果系统出现异常或者业务有异常,首先想到的都是查看业务日志查看日志工具:less 或者moregreptail -f filename 查看实时的最新内容ps:切忌vim直接打开大日志文件,因为会直接加载到内存的2、数据库相关java应用很多瓶颈在数据库,一条sql没写好导致慢查询,可能就会带来应用带来致命危害。原创 2016-04-22 00:10:54 · 11242 阅读 · 1 评论 -
浅拷贝与深拷贝、以及深拷贝的实现
浅拷贝与深拷贝所谓的浅拷贝,顾名思义就是很表面的很表层的拷贝,如果我们要克隆Administrator对象,只克隆他自身以及他包含的所有对象的引用地址。而深拷贝,就是非浅拷贝。拷贝除自身以外所有的对象,包括自身所包含的所有对象实例。至于深拷贝的层次,由具体的需求决定,也有“N层拷贝”一说。但是,所有的基本(primitive)类型数据,无论是浅拷贝还是深拷贝,都会进行原值拷原创 2016-04-22 00:39:17 · 753 阅读 · 0 评论 -
jacoco覆盖率计数器
覆盖率计数器Jacoco使用一系列的不同的计数器来做覆盖率的度量计算。所有这些计数器都是从java的class文件中获取信息,这些class文件可以(可选)包含调试的信息在里面。即使在没有源码的情况下,这种方法也可以实时有效地对应用程序进行度量和分析。在大部分情况下,收集到的信息可以映射到源码,可视化到每一行代码的粒度。但这种方法还是有一些限制。这些class文件必须使用调试信息来编译,这原创 2016-04-22 00:37:12 · 2350 阅读 · 0 评论 -
一个UnexpectedRollbackException异常解决
背景2014-10-08号早上06:50之后,系统一直在报UnexpectedRollbackException异常。stackTrace:org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollb原创 2016-04-22 00:16:11 · 9809 阅读 · 1 评论 -
jmap命令
jmap(Memory Map for Java) 命令用于生成堆转储快照dump文件,除了这种方式还可以通过-XX:HeapDumpOnOutOfMemoryError参数,可以在虚拟机发生OOM的时候自动生成堆的dump文件,或者kill -3 命令发出进程退出信号"吓唬"一下虚拟机,也能拿到dump文件。jmap除了生成堆的dump文件 也可以查看查看堆的信息,查询finalize执原创 2016-04-22 00:08:45 · 1542 阅读 · 0 评论 -
jstack命令
jstack(Stack Trace for Java)命令用于生成JVM进程当前时刻的线程的调用堆栈,可以用来定位线程间死锁、锁等待、等待外部资源等jstack 命令格式jstack [option] pid-F 当正常jstack正常的请求不被响应时,强制输出线程堆栈-l 输出锁的附加信息-m 如果调用本地方法,可以输出C/C++堆栈 线原创 2016-04-22 00:08:03 · 3163 阅读 · 0 评论 -
jstat命令
jstat(JVM Statistics Monitoring Tool) 是用于监控JVM各种运行状态信息的命令行工具。命令格式jstat option vmid [ interval[s|ms] count ]vmid:jvm进程idinterval:查询间隔支持毫秒和秒,默认毫秒count:查询次数option:opti原创 2016-04-22 00:05:17 · 1643 阅读 · 0 评论 -
jinfo命令
jinfo(Configuration Info for Java) 命令的作用是实时的查看和调整虚拟机的参数。命令格式:jinfo [option] pidOptionsno-optionPrints both command-line flags and system property name-value pairs.-flag name原创 2016-04-22 00:04:40 · 1482 阅读 · 0 评论 -
Java日志框架
目前java应用日志收集都是采用日志框架(slf4j、apache commons logging)+日志系统(log4j、log4j2、LogBack、JUL等)的方式。而针对在分布式环境需要实时分析统计的日志,一般采用apache flume、facebook scribe等分布式日志收集系统。原创 2016-04-21 22:55:06 · 4995 阅读 · 1 评论