- 博客(70)
- 资源 (1)
- 收藏
- 关注
原创 测试用例报告模板
测试对象组织 - 需求测试角色QA: XXX时间轴 计划时间 实际时间 用时(PD) 开始 完成 开始 完成 技术评审 yyyy-MM-dd yyyy-MM-dd...
2018-08-21 15:50:42
5338
原创 ProxyFactoryBean setTarget setTargetName setTargetClass注意事项
使用ProxyFactoryBean必须使用setTarget或者setTargetName设置被代理对象,否则target对象找不到后续的操作会直接抛出NPE。setTargetClass并不是用来设置代理对象的,下文将会给出详细解释.setTargetName("targetName")targetName为被代理对象在BeanFactory中的注册的id.将ProxyFactor
2017-08-29 18:22:14
1311
原创 Netty ByteBuf 释放注意事项
ByteBuf 是Netty中主要用来数据byte[]的封装类,主要分为Heap ByteBuf 和 Direct ByteBuf。为了减少内存的分配回收以及产生的内存碎片,Netty提供了PooledByteBufAllocator 用来分配可回收的ByteBuf,可以把PooledByteBufAllocator看做一个池子,需要的时候从里面获取ByteBuf,用完了放回去,以
2017-08-16 18:40:38
26436
原创 OneToOne Lazy Loading Invalid Reason Research
双向一对一关系,只有通过mappedBy指定关系控制方,才会出现懒加载失效的问题。@Entitypublic class FBO { @OneToOne(fetch = FetchType.LAZY, mappedBy = "fbo") OBF obf; @Id @GeneratedValue(strategy = GenerationType.AUTO)
2017-08-14 17:11:11
500
原创 Class.getDeclaredMethods()疑惑
class getDeclaredMethods();该方法返回当前类中声明的方法,包括public private protected,父类的方法不包括其中。今天在使用该方法时碰到一个例外接口public interface ApplicationListener extends EventListener { void onApplicationEvent(E event);
2017-07-20 17:49:30
1241
原创 Spring源码解析-PropertyEditor
PropertyEditor最早用于Swing编程中,在Spring中主要被用于xml内value的转换和mvc中参数值得转换。Spring容器在applyPropertyValues通过TypeConverter对value进行值得转换,具体的调用栈如下具体的转换代码如下从源码可以看出当customTypeConverter为空是,将会使用BeanWrapper进行转换,
2017-06-07 11:45:55
3106
原创 VisualVM 连接远程JVM
远程连接服务器上的JVM要配好两样 JMX Connection Jstatd Connection开启JMX Connection 需在服务启动时对JAVA_OPTS指定以下参数-Djava.rmi.server.hostname=192.168.0.2-Dcom.sun.management.jmxremote=true-Dcom.sun.management.jmxremote.
2017-03-10 20:42:47
969
原创 Java 查看class文件的汇编代码
为了更好地理解Java代码,内部具体是怎么运行,我们常常会通过反汇编来查看汇编代码。Java本身也是提供这个支持的。 通过开启以下两个属性即可(关于具体参数配置,可以查看这里)java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly实战实验环境mac os 10.11.4jdk1.8.0_31M3.javapublic class M3 {
2016-08-26 13:44:19
9543
原创 PESSIMISTIC_INCREMENT 实际并不使用 pessimistic lock strategy
PESSIMISTIC_INCREMENT implicit lock
2016-08-12 13:24:27
672
原创 mysql tx_isolation
mysql事物隔离级别分为四种, (文档)READ-UNCOMMITTEDREAD-COMMITTEDREPEATABLE-READSERIALIZABLE接下来会通过实践,来逐步介绍四种隔离级别的作用。mysql默认的隔离级别为repeatable-read。可通过select @@tx_isolation查看。如下图所示: tx_isolation是mysql system va
2016-08-10 17:35:06
19920
1
原创 泛型擦除的补偿
下面由于java泛型信息被擦除了 所以下面的操作无法编译通过public void f(Object o) { if (o instanceof T) { }}采用显示传入类型的方法 作为泛型擦出的补偿Class kind;public Erased(Class kind) { this.kind = kind;}public void f(Object o) {
2016-02-22 22:51:36
989
原创 Condition variables in Golang difference between Signal and Broadcast
Golang 标准库中提供了sync.Mutex 用于多线程之间的同步。 同时也提供了条件变量配合Mutex结合使用。 条件变量主要的使用场景是: 当线程要执行A操作时,条件B未满足,而无法执行A操作,此时使当前线程进入睡眠状态(进入睡眠状态前会释放锁),等待条件B,当条件B出现时,发送通知唤醒因等待条件B而进入沉睡的线程。实例说明 一条专门用于读取文件A的线程T1, 一条专门用于写入
2015-10-23 15:58:13
885
原创 C语言代码组织基础
C语言使用静态库或者是动态库的形式组织每个人写的代码文件静态库的文件为.o结尾的文件 有min.c max.c t1.c 三个文件 max.cint max(int num1, int num2) { if (num1 > num2) { return num1; } else { return num2; }}min.cint min
2015-09-21 13:25:39
895
原创 C语言结构体大小计算
定义结构体中的偏移量 结构体中的偏移量是一个成员的实际地址和结构体首地址之间的距离。结构体大小计算 结构体大小 会涉及到字节对齐(目的是 让计算机快速读写 以空间换取时间)。即,最后一个成员的偏移量加上最后一个成员的大小再加上末尾的填充字节数。结构体内偏移规则 1、每个成员的偏移量都必须是当前成员所占内存大小的整数倍如果不是编译器会在成员之间加上填充字节。 2、当所有成员大小
2015-09-18 13:08:30
11289
1
原创 C语言预处理那些事
C文件的编译 经过4个阶段.c 文件 -> .i 文件 —> .s 文件 -> .o 文件 -> 可执行文件 预处理 编译 汇编 链接 step1 预处理阶段生成.i文件gcc -o helloworld.i helloworld.c -E头文件在预处理阶段都被放置到了.i文件的上方(#include <xxx.h>去掉了 存在的是所有的.
2015-09-17 20:23:55
501
转载 简明 Vim 练级攻略(干货) 转自 实验楼
VIM编辑器学习IT的人肯定都听过,或者被推荐过,很多人都觉得VIM编辑器一大推命令,从而对编辑器失去兴趣,文章作者呢,把Vim使用分为4个级别,你定会产生共鸣的,绝对干货,值得分享,下面看看你属于哪一个级别吧~转载自 : 实验楼如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Prog
2015-05-06 11:26:22
580
转载 应该知道的Linux技巧
转载自 点击打开链接这篇文章来源于Quroa的一个问答《What are some time-saving tips that every Linux user should know?》—— Linux用户有哪些应该知道的提高效率的技巧。我觉得挺好的,总结得比较好,把其转过来,并加了一些自己的理解。首先,我想告诉大家,在Unix/Lin
2015-05-06 11:25:56
474
转载 A quick guide to writing scripts using the bash shell
from http://www.panix.com/~elflord/unix/bash-tute.htmlA quick guide to writing scripts using the bash shellA simple shell scriptA shell script is little more than a list of commands that are
2015-03-28 17:55:15
606
原创 KMP实现
理解KMP花了好久的时间,参考了很多资料,在网络上找到一篇很好的讲解来自这里。理解KMP第一点是,要理解它是通过什么样的方式来达到比暴力匹配更高效的速率。很简单就是减少无谓的比较次数。比如S串: abaabaabc 和 T串: abaabc 进行比较,按照普通的比较方法是 abaabaabc abaabaabc abaabaabc abaabaabc aba
2015-02-21 11:14:16
656
原创 无向图存储之邻接矩阵实现-Golang版本
实现一个无向图存储使用邻接矩阵的方式实现,实现语言Golang。什么是邻接矩阵存储方式 ? 邻接矩阵存储通过一个一维数组,以及一个二维数组完成图的构建。一维数组用于存储图中的每一个顶点,二维数组用于存储图中边或弧的信息。下图是文章后面将要使用邻接矩阵存储方式实现的图顶点数组为{'A', 'B', 'C', 'D'}边数组(二维数组)是个矩阵形式 // A B C
2015-02-14 01:13:53
1828
原创 Factorial Trailing Zeroes Produced By Java
题目来自LeetcodeQJGiven an integer n, return the number of trailing zeroes in n!.Note: Your solution should be in logarithmic time complexity.给定一个整数n,返回n!的10进制表达式中末尾为0的个数(the number of trailin
2015-02-04 19:42:55
487
原创 栈_逆波兰表达式_计算器实现_Golang版本
逆波兰表达式可以讲复杂的计算过程转化为简单的操作过程,进而得出答案。 比如 (a+b)*(b-c) 按照逆波兰表达式的规则得到 :ab+bc-* 将该表达式的字符以及符号,按照从左到右的顺序,依次入栈,一碰到符号则将栈顶前两个元素取出,做运算然后放入栈内,重复该操作,直到表达式结束。下面将结合栈与逆波兰表达式写一个简易计算器。运行命令如下 go run counter.go --
2015-02-01 09:25:08
1936
原创 栈共享空间
两栈共享空间 也就是 一种两个相同数据类型的栈的空间 互相共享。声明一个[20]int 声明一个数组,两个栈一起使用这一个数组const STACK_MAX_SIZE int = 10type ElementType inttype DoubleStack struct { Data [2*STACK_MAX_SIZE]ElementType top1 int top2 int
2015-01-30 17:03:56
629
原创 Goroutine的底部到底对应多少线程呢?
Go programming language 在语言层面上就支持并发,相对于Java自己手动创建线程亦或是线程池,便捷的太多太多了。Goroutine是是一种比线程轻很多由Go自己管理不收OS调度的,类似coroutine,但又不是coroutine。写这篇文章仅是因为在做了几个goroutine的试验之后发现了其神奇之处,所以有时间的时候一定要去看看pproc.c这个文件是如何
2014-10-03 12:12:29
4045
原创 关于Go语言数组索引的有趣现象
在Twitter上看到Dave Cheney提了个pop quiz 勾起了我的好奇心,可以猜下下面这段代码的运行结果。package mainimport "fmt"func main() { a := [...]int{5, 4: 1, 0, 2: 3, 2, 1: 4} fmt.Println(a)}go run 一下结果就出来了 但是比较有意思的是结果是[5
2014-09-08 12:36:28
1323
原创 Go_Json_HTMLEscape_Compact
package mainimport ( "bytes" "encoding/json" "fmt" "io" "strings")//HTMLEscape 函数将添加Buffer中的特殊字符串进行转义//(Buffer中本来就有的字节不会转义只会转义后来添加的)//Compact 对这些特殊字符不进行转义 但是有一个作用就是在//拼接字符串时 如果后面的字符串有问题那么
2014-09-03 22:46:56
2109
原创 Can not import $GOPATH package on Intellij Idea
最近新买了电脑重新安装了一遍软件,真是够麻烦的。以后服务器还是用docker来玩吧 要不换个服务器,还真是得累死。在重装的过程中遇到了一个问题 Can not import $GOPATH package on Intellij Idea 以前解决过 但是没有记录 导致我这回又折腾了好一会才能好 所以还是记录一下吧首先Go 的环境自己安装好 Goroot Gopath一个都不能少,这里
2014-09-01 22:11:16
2849
原创 DoubleKeyMap_实现
package cs601.collections;import java.util.List;/** A Map (Dictionary) just like Java's Map interface except that * this interface has 2 keys instead of just one. Otherwise it works * the same wa
2014-08-29 11:03:13
1089
原创 Js_基础知识学习_01
JavaScript组成ECMAScript:解释器、翻译DOM:Document Object ModelBOM:Browser Object Model
2014-08-14 23:33:45
485
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人