zhangdefeng2008
码龄17年
  • 88,522
    被访问
  • 31
    原创
  • 1,126,246
    排名
  • 8
    粉丝
  • 0
    铁粉
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2005-12-11
查看详细资料
个人成就
  • 获得14次点赞
  • 内容获得8次评论
  • 获得36次收藏
创作历程
  • 33篇
    2018年
  • 5篇
    2017年
  • 1篇
    2015年
  • 7篇
    2013年
  • 2篇
    2012年
  • 22篇
    2011年
TA的专栏
  • maven
    4篇
  • 算法
  • struts2
    5篇
  • JSTL
  • spring
    12篇
  • hibernate
    3篇
  • s2sh
    5篇
  • 事务
    3篇
  • 事务管理
    1篇
  • apo
    4篇
  • tx
    1篇
  • jQuery
    2篇
  • validate
  • 动态代理
    3篇
  • cglib
    1篇
  • Checkstyle
    2篇
  • hudson
  • hudson deploy plugin
  • ctx pageContext.request.contextPath
  • java ftp
    1篇
  • log4j
    1篇
  • JS
    1篇
  • RPC
    1篇
  • html
    2篇
  • jsp
    2篇
  • JavaScript
    3篇
  • 数据库
    1篇
  • Java
    18篇
  • 安全
    1篇
  • Plupload
    1篇
  • mongodb
    2篇
  • Kafka
  • rabbitMQ
  • Eclipse
    1篇
  • Java1.8
    2篇
  • mysql
    1篇
  • Spring boot
    1篇
  • 搜索引擎
    1篇
  • guava
    1篇
  • Linux
    2篇
  • jvm
    1篇
  • 注解
    1篇
  • jndi
    1篇
  • dom4j
    1篇
  • css
    1篇
  • discriminator
    1篇
  • mybatis
    1篇
  • springmvc
    2篇
  • rest
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Spring 注解(Annotation)之-组合注解与元注解

在项目开发中遇到一个问题,想取得组合注解的头部元注解,网上找了一遍都没有,先记录一下取得方式:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documented@RequestMapping(method = RequestMethod.POST)public @interface PostMapping {比...
原创
发布博客 2018.06.08 ·
2703 阅读 ·
1 点赞 ·
0 评论

@SpringBootApplication注解

@SpringBootApplication则是一个组合注解,我们可以看看它的源码:@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan( e...
转载
发布博客 2018.05.03 ·
161 阅读 ·
0 点赞 ·
0 评论

JVM参数设置

java -server -Xmx2g -Xms2g-Xmn700m -XX:PermSize=256m -Xss256k -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:GCTimeRatio=19 -XX:+UseParNewGC -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMS...
原创
发布博客 2018.05.03 ·
146 阅读 ·
0 点赞 ·
0 评论

linux grep命令详解

简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re...
转载
发布博客 2018.03.19 ·
141 阅读 ·
0 点赞 ·
0 评论

linux 下vim的使用(学习必看!!重要)

vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计;因为程序简单,编辑速度相...
转载
发布博客 2018.03.19 ·
163 阅读 ·
0 点赞 ·
0 评论

使用google guava做内存缓存

google guava中有cache包,此包提供内存缓存功能。内存缓存需要考虑很多问题,包括并发问题,缓存失效机制,内存不够用时缓存释放,缓存的命中率,缓存的移除等等。 当然这些东西guava都考虑到了。guava中使用缓存需要先声明一个CacheBuilder对象,并设置缓存的相关参数,然后调用其build方法获得一个Cache接口的实例。请看下面的代码和注释,注意在注释中指定了Cache的各...
转载
发布博客 2018.03.17 ·
531 阅读 ·
0 点赞 ·
0 评论

分布式搜索和分析引擎对比

Elasticsearch简介Elasticsearch是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能。它用于全文搜索、结构化搜索、分析以及将这三者混合使用:维基百科使用Elasticsearch提供全文搜索并高亮关键字,以及输入实时搜索(search-asyou-type)和搜索纠错(did-you-mean)等搜索建议功能。英国卫报使用Elasticsearch结合用...
转载
发布博客 2018.03.17 ·
4037 阅读 ·
0 点赞 ·
0 评论

MySql查询不区分大小写解决方案(两种)

当我们输入不管大小写都能查询到数据,例如:输入 aaa 或者aaA ,AAA都能查询同样的结果,说明查询条件对大小写不敏感。解决方案一:于是怀疑Mysql的问题。做个实验:直接使用客户端用sql查询数据库。 发现的确是大小不敏感 。通过查询资料发现需要设置collate(校对) 。 collate规则:*_bin: 表示的是binary case sensitive collation,也就是说是...
转载
发布博客 2018.02.28 ·
2762 阅读 ·
1 点赞 ·
0 评论

JDK动态代理实现分析

代理是一种设计模式,目的是对外提供统一的接口(这样可以隐藏被代理类不想公开的方法),在此基础上,可以在代理类实现逻辑中加入一些附加操作,该方式不会影响被代理类的原实现。代理分为静态代理和动态代理两种,静态代理就是在代理类内部保存被代理类的属性,直接调用,这种方式很直接,但不易扩展,如果被代理类方法很多且不断增加,那么代理类也要跟着修改,不灵活。这里主要说动态代理,其实说动态代理的文章很多了,本文主...
转载
发布博客 2018.02.28 ·
123 阅读 ·
0 点赞 ·
0 评论

细说JDK动态代理的实现原理

关于JDK的动态代理,最为人熟知的可能要数Spring AOP的实现,默认情况下,Spring AOP的实现对于接口来说就是使用的JDK的动态代理来实现的,而对于类的代理使用CGLIB来实现。那么,什么是JDK的动态代理呢?JDK的动态代理,就是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。JDK从1.3开始支持动态代理。那么JDK是如何生成动态代理的呢?...
转载
发布博客 2018.02.28 ·
1812 阅读 ·
1 点赞 ·
0 评论

java8 Stream中Spliterator的使用(二)

java8 stream 中Spliterator的使用(一)给出了Spliterator的两种使用,但是遗憾的是,代码并不正确。这篇说明下原因,并对Spliterator进行更深入的分析。1. 首先来看下sorted方法,将代码调用countNum处注释掉,改为如下方法:parallelStream.sorted().forEach(System.out::print);代码将报错。Except...
转载
发布博客 2018.02.24 ·
1349 阅读 ·
0 点赞 ·
0 评论

java8 stream 中Spliterator的使用(一)

java8 stream大家用的比较多,但是发现,其实stream的底层构造函数中,还需要传入Spliterator。查了一下,竟然发现网上对这个类讲的几乎没有。唯一一篇文章写得Spliterator使用有问题的,其实他的并行流是没有用到的。因为,for (int pos = currentSize/2 + currentSize; pos < str.length(); pos++){.....
转载
发布博客 2018.02.24 ·
3318 阅读 ·
0 点赞 ·
1 评论

Java 泛型 super 和 extends 有何不同

<? extends T>和<? super T>是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概念。<? extends T>:是指 “上界通配符(Upper Bounds Wildcards)”<? super T>:是指 “下界通配符(Lower Bounds Wildcards)”为什么要用通配符和边界?使用泛...
转载
发布博客 2018.02.24 ·
165 阅读 ·
0 点赞 ·
0 评论

Java8:Lambdas(二)学习怎样去使用lambda表达式

原文链接  作者:Ted Neward   译者:赵峰Java SE 8的发布很快就到了。伴随着它来的不仅仅是新的语言lambda表达式(同样被称为闭包或匿名方法)——伴随着一些语言特性支持——更重要的是API和library的增强将会使传统的Java核心libraries变的更易于使用。其中大多数的增强和补充是在Collections API中,因为Collections API在整个应用中随处...
转载
发布博客 2018.02.23 ·
93 阅读 ·
0 点赞 ·
0 评论

Java8:Lambdas(一)学习怎样去使用lambda表达式

原文链接  作者:Ted Neward  译者:赵峰了解Java8 中的lambda表达式对开发人员来说没有什么比自己选择的语言或平台发布新版本更令人激动了。Java开发者也不例外。实际上,我们更期待新版本的发布,有一部分原因是因为在不久前我们还在考虑Java的前途,因为Java的创造者——Sun在衰落。一次与死亡的擦肩而过会使人更加珍惜生命。但在这种情况下,我们的热情来源不像以前发布版本时那样,...
转载
发布博客 2018.02.23 ·
175 阅读 ·
0 点赞 ·
0 评论

Java 8 特性 – 终极手册

原文链接,原文作者:Andrey Redko ,译者:Justin,校对:郭蕾1.简介毫无疑问,Java 8是自Java  5(2004年)发布以来Java语言最大的一次版本升级,Java 8带来了很多的新特性,比如编译器、类库、开发工具和JVM(Java虚拟机)。在这篇教程中我们将会学习这些新特性,并通过真实例子演示说明它们适用的场景。本教程由下面几部分组成,它们分别涉及到Java平台某一特定方...
转载
发布博客 2018.02.23 ·
164 阅读 ·
0 点赞 ·
0 评论

Java8初体验(二)Stream语法详解

1. Stream初体验我们先来看看Java里面是怎么定义Stream的:A sequence of elements supporting sequential and parallel aggregate operations.我们来解读一下上面的那句话:Stream是元素的集合,这点让Stream看起来用些类似Iterator;可以支持顺序和并行的对原Stream进行汇聚的操作;大家可以把S...
转载
发布博客 2018.02.23 ·
104 阅读 ·
0 点赞 ·
0 评论

Java8 函数式编程详解

说起Java8,可能很多人都已经知道其最大的改进,就是引入了Lambda表达式与Stream,毕竟Java9都已近发布了,Java8发布了也已经近三年。那么,今天我们就先来讲一下Java8引入的Lambda表达式,以及由此引入的函数式编程,以及函数式接口。什么是函数式编程函数式编程并不是Java新提出的概念,其与指令编程相比,强调函数的计算比指令的计算更重要;与过程化编程相比,其中函数的计算可以随...
转载
发布博客 2018.02.22 ·
163 阅读 ·
0 点赞 ·
1 评论

Java8 Stream原理深度解析

常用的流操作在深入原理之前,我们有必要知道关于Stream的一些基础知识,关于Stream的操作分类,如表1-1所示。表1-1 Stream的常用操作分类(表格引自这里)如表1-1中所示,Stream中的操作可以分为两大类:中间操作与结束操作,中间操作只是对操作进行了记录,只有结束操作才会触发实际的计算(即惰性求值),这也是Stream在迭代大集合时高效的原因之一。中间操作又可以分为无状态(Sta...
原创
发布博客 2018.02.22 ·
336 阅读 ·
0 点赞 ·
0 评论

java8 :: 用法 (JDK8 双冒号用法)

JDK8中有双冒号的用法,就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下。代码其实很简单:以前的代码一般是如此的:1234567891011121314151617public class AcceptMethod {     public static void  printValur(String str){        System.out.pr...
转载
发布博客 2018.02.22 ·
10760 阅读 ·
2 点赞 ·
0 评论
加载更多