自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

原创 测试用例报告模板

测试对象组织 - 需求测试角色QA: XXX时间轴   计划时间 实际时间 用时(PD) 开始 完成 开始 完成 技术评审 yyyy-MM-dd yyyy-MM-dd...

2018-08-21 15:50:42 5266

原创 ProxyFactoryBean setTarget setTargetName setTargetClass注意事项

使用ProxyFactoryBean必须使用setTarget或者setTargetName设置被代理对象,否则target对象找不到后续的操作会直接抛出NPE。setTargetClass并不是用来设置代理对象的,下文将会给出详细解释.setTargetName("targetName")targetName为被代理对象在BeanFactory中的注册的id.将ProxyFactor

2017-08-29 18:22:14 1266

原创 Netty ByteBuf 释放注意事项

ByteBuf 是Netty中主要用来数据byte[]的封装类,主要分为Heap ByteBuf 和 Direct ByteBuf。为了减少内存的分配回收以及产生的内存碎片,Netty提供了PooledByteBufAllocator 用来分配可回收的ByteBuf,可以把PooledByteBufAllocator看做一个池子,需要的时候从里面获取ByteBuf,用完了放回去,以

2017-08-16 18:40:38 26333 1

原创 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 468

原创 Class.getDeclaredMethods()疑惑

class getDeclaredMethods();该方法返回当前类中声明的方法,包括public private protected,父类的方法不包括其中。今天在使用该方法时碰到一个例外接口public interface ApplicationListener extends EventListener { void onApplicationEvent(E event);

2017-07-20 17:49:30 1209

原创 Spring源码解析-PropertyEditor

PropertyEditor最早用于Swing编程中,在Spring中主要被用于xml内value的转换和mvc中参数值得转换。Spring容器在applyPropertyValues通过TypeConverter对value进行值得转换,具体的调用栈如下具体的转换代码如下从源码可以看出当customTypeConverter为空是,将会使用BeanWrapper进行转换,

2017-06-07 11:45:55 3074

原创 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 936

原创 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 9498 2

原创 PESSIMISTIC_INCREMENT 实际并不使用 pessimistic lock strategy

PESSIMISTIC_INCREMENT implicit lock

2016-08-12 13:24:27 646

原创 Lock Mode Type 之 Optimistic 使用场景

Optimistic usage patterns

2016-08-11 21:20:35 3946

原创 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 19781 2

原创 泛型擦除的补偿

下面由于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 959

原创 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 855

原创 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 880

原创 C语言结构体大小计算

定义结构体中的偏移量 结构体中的偏移量是一个成员的实际地址和结构体首地址之间的距离。结构体大小计算 结构体大小 会涉及到字节对齐(目的是 让计算机快速读写 以空间换取时间)。即,最后一个成员的偏移量加上最后一个成员的大小再加上末尾的填充字节数。结构体内偏移规则 1、每个成员的偏移量都必须是当前成员所占内存大小的整数倍如果不是编译器会在成员之间加上填充字节。 2、当所有成员大小

2015-09-18 13:08:30 11231 3

原创 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 479

转载 简明 Vim 练级攻略(干货) 转自 实验楼

VIM编辑器学习IT的人肯定都听过,或者被推荐过,很多人都觉得VIM编辑器一大推命令,从而对编辑器失去兴趣,文章作者呢,把Vim使用分为4个级别,你定会产生共鸣的,绝对干货,值得分享,下面看看你属于哪一个级别吧~转载自 : 实验楼如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Prog

2015-05-06 11:26:22 561

转载 应该知道的Linux技巧

转载自 点击打开链接这篇文章来源于Quroa的一个问答《What are some time-saving tips that every Linux user should know?》—— Linux用户有哪些应该知道的提高效率的技巧。我觉得挺好的,总结得比较好,把其转过来,并加了一些自己的理解。首先,我想告诉大家,在Unix/Lin

2015-05-06 11:25:56 464

转载 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 585

原创 KMP实现

理解KMP花了好久的时间,参考了很多资料,在网络上找到一篇很好的讲解来自这里。理解KMP第一点是,要理解它是通过什么样的方式来达到比暴力匹配更高效的速率。很简单就是减少无谓的比较次数。比如S串: abaabaabc  和 T串: abaabc 进行比较,按照普通的比较方法是   abaabaabc    abaabaabc   abaabaabc   abaabaabc   aba

2015-02-21 11:14:16 633

原创 无向图存储之邻接矩阵实现-Golang版本

实现一个无向图存储使用邻接矩阵的方式实现,实现语言Golang。什么是邻接矩阵存储方式 ? 邻接矩阵存储通过一个一维数组,以及一个二维数组完成图的构建。一维数组用于存储图中的每一个顶点,二维数组用于存储图中边或弧的信息。下图是文章后面将要使用邻接矩阵存储方式实现的图顶点数组为{'A', 'B', 'C', 'D'}边数组(二维数组)是个矩阵形式 // A B C

2015-02-14 01:13:53 1734

原创 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 466

原创 栈_逆波兰表达式_计算器实现_Golang版本

逆波兰表达式可以讲复杂的计算过程转化为简单的操作过程,进而得出答案。 比如 (a+b)*(b-c) 按照逆波兰表达式的规则得到 :ab+bc-*  将该表达式的字符以及符号,按照从左到右的顺序,依次入栈,一碰到符号则将栈顶前两个元素取出,做运算然后放入栈内,重复该操作,直到表达式结束。下面将结合栈与逆波兰表达式写一个简易计算器。运行命令如下 go run counter.go --

2015-02-01 09:25:08 1845

原创 栈共享空间

两栈共享空间 也就是 一种两个相同数据类型的栈的空间 互相共享。声明一个[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 607

原创 Goroutine的底部到底对应多少线程呢?

Go programming language 在语言层面上就支持并发,相对于Java自己手动创建线程亦或是线程池,便捷的太多太多了。Goroutine是是一种比线程轻很多由Go自己管理不收OS调度的,类似coroutine,但又不是coroutine。写这篇文章仅是因为在做了几个goroutine的试验之后发现了其神奇之处,所以有时间的时候一定要去看看pproc.c这个文件是如何

2014-10-03 12:12:29 4008

原创 android_背景大图滚动播放

想要做的效果是从左往右滚动播放效果图暂时没有 以后补上

2014-09-24 17:53:25 1391

原创 Tomcat下部署war包

一般来讲将war包直接扔到tomcat下面算部署成功了tomcat会自动解压war包 然后作为一个app运行

2014-09-18 12:24:34 727

原创 关于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 1253

原创 Go_Json_HTMLEscape_Compact

package mainimport ( "bytes" "encoding/json" "fmt" "io" "strings")//HTMLEscape 函数将添加Buffer中的特殊字符串进行转义//(Buffer中本来就有的字节不会转义只会转义后来添加的)//Compact 对这些特殊字符不进行转义 但是有一个作用就是在//拼接字符串时 如果后面的字符串有问题那么

2014-09-03 22:46:56 2005

原创 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 2823

原创 Go_Json_Unmarshal_Marshal

Go Json 中 RFC 4627

2014-08-31 21:55:54 9621 2

原创 Golang_tag

Golang tag也就是go语言中的注解

2014-08-29 11:08:18 1308

原创 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 1058

原创 人性

今天被萍姐几句话直接戳中了,我目前的性格特征。说实话非常

2014-08-26 23:47:03 583

原创 Js_Ajax

Ajax 其实理解为异步的请求模型就好 也就是说再不刷新页面的情况下与页面进行交互

2014-08-17 10:59:43 447

原创 Mac_Mysql设置utf-8字符集

Mac底下安装mysql之后数据库默认的字符集不是utf-8的而是

2014-08-16 16:41:34 3367

原创 Js_dom_02

通过Js创建dom节点 比如发送邮件时的添加附件届时通过

2014-08-15 23:37:26 420

原创 Js_dom_01

Dom 是Js的一个组成部件也是yi'tao'biao'zhun

2014-08-15 23:23:01 492

原创 Js_基础知识学习_02

Js中一个函数应该只返回一种类型的值 虽然没有办法返回多参但是有其他

2014-08-15 00:07:21 458

原创 Js_基础知识学习_01

JavaScript组成ECMAScript:解释器、翻译DOM:Document Object ModelBOM:Browser Object Model

2014-08-14 23:33:45 461

pull list view

较好的实现了 下拉刷新功能 并且解决 当数据内容小于屏幕高度时 出现BUG的问题

2013-11-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除