自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fan510988896的博客

种一棵树的最好时机是十年前,或者是现在!

  • 博客(109)
  • 资源 (2)
  • 收藏
  • 关注

原创 spring之AOP学习

AOP的开发中的相关术语:Joinpoint(连接点):     所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持方法类型的连接点.Pointcut(切入点):     所谓切入点是指我们要对哪些Joinpoint进行拦截的定义.Advice(通知/增强):     所谓通知是指拦截到Joinpoint之后所要做的事情就是通知.通知

2017-06-12 19:11:13 273

原创 动态代理之cglib

代理技术有俩种实现方式::* JDK的动态代理        :针对实现了接口的类产生代理.* Cglib的动态代理      :针对没有实现接口的类产生代理.产生了这个类的一个子类对象.不要使用final修改这个类.这篇文章说一下Cglib方式的动态代理直接上例子:一个类public class StudentDao { public void

2017-06-12 15:29:01 239

原创 动态代理之JDK

代理技术有俩种实现方式::* JDK的动态代理        :针对实现了接口的类产生代理.* Cglib的动态代理      :针对没有实现接口的类产生代理.产生了这个类的一个子类对象.不要使用final修改这个类.这篇文章说一下JDK方式的动态代理,用到了装饰者模式。直接上例子:一个接口:public interface PersonDao { void add();

2017-06-12 15:01:57 209

原创 spring学习笔记一

Spring的工厂类的继承关系:BeanFactory早期的版本中使用的一个对象.ApplicationContext是新版本的使用工厂类的对象.    * ClassPathXmlApplicationContext          :加载classpath下面的applicationContext.xml    * FileSystemXmlApplica

2017-06-12 11:36:29 233

原创 mysql group_concat

在做权限展示页面,如果一个角色有多个权限,希望展示如下图:但目前是俩个sql后拼接而成的,试想是否有sql可以一次性查出来不用拼接。后来找到了答案:这个例子参考链接:http://www.cnblogs.com/lhj588/p/3315876.html上正文:DROP TABLE IF EXISTS `TabName`;CREATE TABLE `TabNa

2017-05-17 16:24:04 356

原创 redis的五种数据结构

reids官方命令集查询:http://redis.io/commandsredis整合各种语言案例查询:https://github.com/josiahcarlson/redis-in-actionredis可以存储键和五种不同类型的值之间的映射String字符串List列表Set集合Hash散列Zset有序集合redis可以自动以俩种不同的

2017-05-12 15:17:07 31432 4

转载 我为什么鼓励工程师写blog

本文转自:http://kb.cnblogs.com/page/566318/文/JoeyChen工程师该怎样才能突破自己的能力瓶颈?写 blog!工程师该怎样精进自己在职涯上所需要的能力?写 blog!工程师该怎样才能保持学习与成长的动能?写 blog!工程师该怎样才能证明自己的潜力与特质?写 blog!工程师该怎样才能发挥与养成影响力?写 blog!

2017-05-11 15:57:49 295

原创 Springboot文件下载代码

该案例简单使用,分享给大家:直接上代码@RequestMapping("/excel") public ResponseEntity downFile(Long id) throws IOException{ System.out.println("开始下载文件了"); String filepath = "F:/aa.xlsx"; FileSystemResource fi

2017-05-10 13:52:40 612

原创 ajax请求不能下载文件

最近在做文件下载,后台写了个控制层,直接走进去应该就可以下载文件,各种文件图片,excel等但是起初老是下载失败,并且弹出下面的乱码:前台请求代码:$('#fileexcel').unbind('click').bind('click',function(){ alert("我要下载了"); $.a

2017-05-10 13:49:24 31165 4

转载 JAVA码农概览

看到一篇博文,转载过来。感觉一个java人的成长差不多是这个样子,记录下来,希望更多的人可以看到。时不时看看你现在走在哪个阶段。我也搞了几年JAVA了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱玩微博,唯独喜欢百度贴吧,潜水很久了,手痒来给新人分享下从新手成长为老鸟的已见,也刷刷存在感,应该不比曝照差吧。首先初识语法的阶段,必须要学会怎么操作对象,操作if和fo

2017-05-04 09:24:53 379

原创 Bootstrap模态框之奇葩事件

这几天在做Bootstrap的模态框时,遇到一个奇葩事件,最后用奇葩的方法解决了。待我一一道来:先看引入的CSS代码。在哪个文件夹放的,没有关系,不必在意。期望的效果:这是我的期望值。而现在的情况是这样的:只有在火狐浏览器下可以实现,而在谷歌、搜狗、win10自带IE却是这样的:也就是说:遮罩把模态框给挡住了,你不能使用功能了

2017-04-25 11:37:03 1589

原创 《深入理解java虚拟机》学习笔记四/垃圾收集器GC学习/一

Grabage Collection      GCGC要完成的三件事情:哪些内存需要回收?什么时候回收?如何回收?内存运行时区域的各个部分中:程序计数器、虚拟机栈、本地方法栈这3个区域随线程而生,随线程而灭。栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈的操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此,这几个区域的内

2017-04-13 14:29:43 1309 1

原创 Cron表达式解析

Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:Seconds Minutes Hours DayofMonth Month DayofWeek Year或:Seconds Minutes Hours DayofMonth Month DayofWeek每一个域可出现的字符如下:Seconds:

2017-04-13 13:43:11 2054 1

原创 分布式学习-了解阶段

分布式架构:需要多个系统相互协作才能完成作业流程,也就是系统之间需要进行通信。分布式架构:     把系统按照模块分成多个子系统优点:1、把模块拆分,使用接口通信,降低模块之间的耦合度2、把项目拆分成若干个子项目,不同的团队负责不同的子项目3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以4、可以灵活的进行分布式部署缺点:1、系统之间交互需要使用远程

2017-04-10 09:20:54 354

原创 《深入理解java虚拟机》学习笔记三/Java内存区域

2.2运行时数据区域     Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。如图(截图自PDF):详细介绍:2.2.1     程序计数器     是一块较小的内存空间,它可以看作是当前线程所执行的

2017-04-06 15:55:12 396

原创 《深入理解java虚拟机》学习笔记二/双亲委派模型

本篇学习双亲委派模型。类与类加载器如何比较俩个类是否“相等”?     对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在java虚拟机中的唯一性。     也就是说,如果俩个类来源于同一个Class文件,被同一个虚拟机加载,只要加载它们的类加载器不同,那么这俩个类必定不相等。     这里所说的相等,包括代表类的Class对象的equals()方法,is

2017-04-06 10:50:43 330

原创 《深入理解java虚拟机》学习笔记一/类加载机制

为何要读这本书?近期看了左萧龙大哥的单例设计模式,后文讲解到了JVM对类实例化相关知识,感觉看着很无力,不懂,于是乎买本书研究下。如何读?个人水平一般,理解程度有限,书中说到每章关联不是很大,所以就以目前想了解的内容读起。本系列笔记会随着个人的理解深度随时更新,记录在这里算是一个总结吧。本篇学习类加载机制。代码编译结果,本地机器码转换为字节码。虚拟机如何加载clas

2017-04-06 10:46:16 591

原创 设计模式(装饰者模式)

近期在学习研究设计模式,找了各种资料,发现左潇龙大哥的博客这方面写的不错,就学习研究一番。这里只记录我自己写的内容,龙哥的写的更详细,结合了IO流,博客地址如下:http://blog.csdn.net/zuoxiaolong8810/article/details/9123533个人理解:使用装饰者模式后不仅有自己独有的方法,并且可以对原方法进行增强。一个简单

2017-03-31 15:00:46 269

原创 集合类各容器方法以及细节

1、集合类各容器方法:**接口Collection方法摘要(没有构造方法)           a)添加:                                   i.  boolean add(E e)                                   j.  boolean addAll(Collection c)    b)删除:   

2017-03-30 15:54:11 383

原创 Map知识点总结

Map的相关总结:**Map:顶层接口,该集合存储的是键值对,而且键是唯一的,Map和Set很像,Set集合底层就是使用了Map集合。        Map集合没有迭代器,要取出元素必须先将Map集合转换成Set集合才能遍历元素       |--->HashTable(JDK1.0):        底层是哈希表数据结构;        不可以使用null键和null值;

2017-03-30 15:33:50 890

原创 java基础(集合)

之前总结过一次了,今天翻看以前的笔记,再记录下来!集合框架:    (1)为什么出现集合类?        面向对象对事物的体现都是以对象的形式,为了方便对多个对象的操作,就对对象进行存储。        集合就是存储对象最常用的一种方式.    (2)数组和集合都是容器,两者有何不同?        **数组长度固定,而集合长度是可变的           **数

2017-03-30 15:25:06 221

原创 字符流的读取文件

当然和你自己使用的文件大小有关,这里只是简单测试代码如下:package com.smile.two;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;public class CopyTextD

2017-03-30 14:59:49 635

原创 字节流的四种读取方式速度测试

当然和你自己使用的文件大小有关,这里只是简单测试代码如下:package com.smile.two;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;publ

2017-03-30 14:54:09 4328

原创 java基础(IO流)

1、IO流概述    (1)用来处理设备(硬盘,控制台,内存)间的数据。    (2)java中对数据的操作都是通过流的方式。    (3)java用于操作流的类都在io包中。    (4)按照流操作的数据的类型不同:分为字节流和字符流。字符流是为了方便中文的操作而来的。       (5)按照流的流向不同分为:输入流,输出流2、IO流常用基类:    (1)字节流

2017-03-30 14:50:28 418

原创 springboot整合mybatis将sql打印到日志

在前台请求数据的时候,sql语句一直都是打印到控制台的,有一个想法就是想让它打印到日志里,该如何做呢?见下面的mybatis配置文件: --> 就是这一句!如果将它注释,你的sql就可以打印进日志如果将它放开,你的sql就打印到了控制台

2017-03-28 16:18:26 58596 1

原创 shiro加盐走源码

一直不明白为什么shiro能根据用户的密码和预设定的散列次数以及盐来生成密码和已有密码来匹配?于是有了整个测试:测试环境:springboot+shiro账号0324(今天是3月24号)密码也是0324唯一不同的就是我在shiroConfiguration里面给密码散列次数的不同。数据库存入的密码只散列了2次,而Debug走的时候我散列了三次基于这个场景,有了这

2017-03-24 19:41:13 2424

原创 mapper配置文件中非空判断的重要性

比如下面的: AND person.name = #{name}场景:我一个编辑页面,它的4个框内容都是从后台获取的。用户可能只修改其中一个值,然后提交。这时候,提交的还是四个值。但是:在单元测试中,我只设置一个值,然后测试修改的映射。这时候就出问题了,它会认为你其他三个是空值(null或者'')导致数据丢失我去mapper查看后才发现,是缺少了  name != ''

2017-03-23 17:03:03 2573

原创 写单元测试的感悟

这几天在写单元测试,有一些感悟,记载下来:因为有很多代码不是我写的,所以我感觉到:注释很重要!注释很重要!注释很重要!重用的事情说三遍!因为你如果没有注释,别人一看你代码,都不知道干什么的,需要去捋思路,如果有注释就会明了很多了。下面我总结一下我写单元测试的步骤吧,应该是通用的。使用mockito来测试Controller层应该都是大同小异的:一、将每个Contro

2017-03-23 16:53:45 526

原创 URL传参中文乱码问题

今天是Mock单元测试时,有几个测试是从路径获取参数,但是有一个需要传递中文参数,但是传递过去久成了乱码。后找到有效的,记录下来:public static void main(String[] args) throws Exception { String value = "%E8%8A%9D%E9%BA%BB%E5%BC%80%E9%97%A8"; String a

2017-03-23 16:12:57 3622

原创 Mockito注解解析以及控制台打印

注解以及作用:压制警告@SuppressWarnings("deprecation")表示使用Spring Test组件进行单元测试;@RunWith(SpringJUnit4ClassRunner.class)保证每次测试类执行完后数据库进行回滚,防止测试时产生脏数据@TransactionConfiguration(transactionManager= "

2017-03-22 17:25:51 1153

原创 初探mock框架

近期项目中用到了单元测试,于是研究一下: 无论是敏捷开发、持续交付,还是测试驱动开发(TDD)都把单元测试作为实现的基石。随着这些先进的编程开发模式日益深入人心,单元测试如今显得越来越重要了。在敏捷开发、持续交付中要求单元测试一定要快(不能访问实际的文件系统或数据库),而TDD经常会碰到协同模块尚未开发的情况,而mock技术正是解决这些问题的灵丹妙药。          mock技术的目的

2017-03-22 16:55:18 998

转载 单元测试与代码覆盖率

在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。于是乎,测试人员费尽心思设计案例覆盖代码。用代码覆盖率来衡量,有利也有有弊。本文我们就代码覆盖率展开讨论,也欢迎同学们踊跃评论。首先,让我们先来了解一下所谓的“代码覆盖率”。我找来了所谓的定义:代码覆盖率 = 代码的覆盖程度,一种度量方

2017-03-21 15:28:29 5273

原创 递归遍历文件夹复制指定后缀文件

这个例子是使用了简单的递归写的使用场景:当你想从N层文件夹内复制出你想要的格式文件时,只需要指定目录即可完成复制本案例是复制.doc文件package exp.study.use;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import j

2017-03-17 14:44:54 1219

原创 多个参数如何接收

当我们表单页面有多个值向后台传递时,我们可用从request对象里面获取所有参数代码: //从request里获取所有参数名称 Enumeration names = request.getParameterNames(); //创建一个hashMap来存放数据 HashMap hm = new HashMap(); //从names里面遍历数据放入hm while(

2017-03-17 14:39:44 1925

转载 JVM内存配置详解

本文转自:http://vanadiumlin.iteye.com/blog/1267857JVM堆模型,GC算法基本概念堆/Heap JVM管理的内存叫堆;在32Bit操作系统上有4G的限制,一般来说Windows下为2G,而Linux 下为3G;64Bit的就没有这个限制。 JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1

2017-03-08 09:15:26 297

转载 JVM垃圾回收(GC)原理

本文档转自:http://chenchendefeng.iteye.com/blog/455883一、garbage 垃圾回收机制Gabage         垃圾  Collection     采集      Eden             伊甸园Survivor        幸存者基本回收算法有多种(6种),我们现在通常使用的是分代算法

2017-03-07 18:01:10 252

转载 JAVA常见面试题

本文转自:http://blog.csdn.net/natian306/article/details/10858097一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?答:   1、String是字符串常量,StringBuffer和StringBuilder都是字符串变量。后两者的字符内容可变,而前者创建后内容

2017-03-07 16:00:26 308

原创 java基础杂记(一)

________________JSP三大指令________________pageincludetaglib________________JSP四个域范围________________pageScope requestScope sessionScopeapplicationScope________________JSP九大内置对象______

2017-03-07 09:56:36 332

原创 '2.587426955E9' in column '2' is outside valid range for the datatype INTEGER.

今天在展现人员信息时遇到这个错误,'2.587426955E9' in column '2' is outside valid range for the datatype INTEGER.在网上查了,说是超出了INTEGER的最大长度,后经实践检验后并非如此。原因:因为这里是使用mybatis做的,这个sql的resultMap的返回值是一个实体类于是想到了与该实体类中该属性的类

2017-03-03 14:57:56 12938 3

原创 java基础 集合

集合类数据多了,用对象存储,对象多了,用集合存储数组存储对象,长度固定,而集合的长度是可变的。数组中可以存放基本数据类型,集合只能存储对象。所以:集合只用于存储对象,集合的长度是可变的,并且可以存放不同类型的对象特性与共性集合框架,参阅顶层,创建底层。Collection|---list|---ArrayList|---LinkedList|

2017-03-03 10:53:45 390

egit svn插件

eclipse安装该插件,可以配置GIT地址,进行上传git,资源共享!有问题可结合我的博客查看!

2019-03-07

JSON-handle

JSON-handle 谷歌浏览器插件,格式化json字符串,亲测可用,无效请联系我。

2019-02-19

空空如也

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

TA关注的人

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