自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (14)
  • 收藏
  • 关注

原创 Eureka 认证性能问题

很久没有更新博客了,实在太忙。最近升级Eureka 发现 CPU 经常跑满,导致很多Eureka Client 实例连接 Eureka Server 出现异常。跟了一下代码发现罪魁祸首竟然是 Spring Security 的 PasswordEncoder 出现性能问题;默认 PasswordEncoder 是BCryptPasswordEncoder 每次encode 需要几百毫秒,慢的时候甚至超过一秒。所以觉得降低安全性使用MessageDigestPasswordEncoder("MD5..

2021-07-29 17:47:39 641

原创 Intellij IDE 插件--DocumentAssistant 自动RESTful API 文档生成

DocumentAssistant目前Document Assistant 插件已经上传到 Intellij IDE 官方Plugin repository 当中,大家可以在Intellij IDE 的 plugin Markerplace 下载今天先介绍一下我的新开发的一个插件,之前看了很多自动生成文档的各个方案。但是想0侵入性是不可能的,但是今天我希望通过intellij ...

2019-03-08 16:25:19 6320 47

原创 按钮级别的动态权限实现方案【原创思想】

按钮基本的权限校验实现目录简述核心类一、Action 类二、Menu 类三、Role 类分析权限配置定义和读取一、Action配置二、菜单配置三、配置读取生成权限表提供接口配置角色权限校验登录结尾简述 哈哈哈哈哈哈,我答应会经常更新的。很好,再一次做不到,打脸!来来来写写博客吹吹牛逼来了! 是这样的目前很多业...

2019-03-08 15:41:55 4977 4

原创 SpringBoot 基于SpringFox Swagger REST API文档自动生成

SpringBoot 基于SpringFox Swagger REST API文档自动生成                   一、maven 配置二、初始化Swagger2的配置三、Controller的配置四、启动项目查看Swagger-UI五、直接通过Swagger UI 调用接口 感觉有一阵子都没有写博客了,因为工作比较忙也有一段时间没有去更新了。希望过年休息这...

2019-01-23 17:58:11 353

原创 Intellij IDE 插件开发--DDLCreator

多说两句开场白,很久都没有写博客了。。。 因为最近都在深入的去看elasticsearch,希望之后会有时间写一下关于elasticsearch的笔记。最近发现开发过程当中,我会不经意的去想写一些小东西提高整个开发效率,例如我写了给予AOP的Service方法级别的权限校验框架,给予AOP写的全局方法级别的参数校验框架等。当然,我也希望以后会有机会把这些框架贡献出来让大家参考和吐槽,但是这两天...

2018-10-30 13:25:19 2021 4

原创 JAVA8--默认方法

JAVA8--默认方法      今天这个内容并不多比较轻松一点,默认方法在JAVA8的出现更加的是为了弥补这次JAVA8接口升级所带来的一系列问题。对于一些旧的接口进行升级一般我们都无可避免需要对实现这个接口的所有类进行新接口方法的实现。事实上这个东西是有必要的吗?答案未必··· 我们都知道JAVA当中是没有多继承这一说,不像是C++等其他语言拥有多继承的特性。当初我看过很多书本都说JAVA...

2018-08-22 09:29:42 2568

原创 JAVA8--Stream流

Stream流在JAVA8中添加Stream,这个真的是一个好东西。学习使用Stream会有效提高开发效率。究竟流有什么用呢?简单来说就是从数据源当中处理操作并输元素序列的一个东西,好像说得不太好。来段代码看看吧!我们有一个列表,里面筛选出女同学放到另外一个列表当中,以前我们是这样做的。先给出一个实体Student类(这个实体类会在例子当中使用)public class Studen...

2018-08-13 12:24:42 1110

原创 JAVA8--Lambda表达式

      JAVA8--Lambda表达式       发现很久也没有写过博客了,也谢谢大家的关注,最近我会继续更新博客。在这段时间里面我打算继续为我的博客添加一下新的内容,包括 JAVA8的语法特性、继续完成Netty框架的介绍、JAVA多线程、docker jenkins在项目中的运用等。       在是回归到今天的主题上面来 ,lambda表达式。其实在其他语言上面已经早早出现了...

2018-08-07 12:01:15 702

原创 MongoDB 查询篇

上一篇文章说了MongoDB一些常用的更新操作,这篇就来写写常用的查询操作。1、最基本的查询最基本的查询就莫过于,我们之前的findOne()和find()了。基本上已经非常熟悉了,但是我们在后面会慢慢探讨findOne和find的多种多样的查询方式。先来简单的回忆一下db.product.findOne();db.product.find();其实我们可以像更新一

2017-10-17 15:33:32 734

原创 MongoDB 更新篇

上一篇文档,我们说了基本的MongoDB命令。接下来,我们要重点写一下,更新的操作。MongoDB的更新非常多样灵活,基本上可以应对日常上大部分的使用场景,下面我将会一一细说。1、基本的文档替换更新直接通过update方法更新整份文档db.product.update({product_name:"iPhoneX"},{product_name:"iPhoneX",price

2017-10-16 17:22:08 1417

原创 MongoDB 入门

MongoDB 的安装还是比较简单的,我就不再这里过多描述。百度一下即可,MongoDB是文档数据库,不支持事务,但是MongoDB 所提供的功能还是非常丰富的。笔者在项目当中,会用作存储基础数据(因为不支持事务)。针对于微服务来说,我们会根据不用服务的实际业务去为不同的服务选择数据库,例如笔者在写商城项目的时候,就会选择在商品服务当中使用MongoDB作为数据库,至于为什么学到后面你就会知道了。

2017-10-16 10:48:00 404

原创 SpringCloud系列(5)---Hystrix 容错

最近在工作,本来没有什么心情写Blog的。但是没有面试也没有什么事情可以干,所以继续写吧~ Hystrix 是作为熔断的技术,什么叫熔断呢?SpringCloud的各个微服务之间是采用通过网络调用的,网络充满各种不稳定性,所以非常容易出现雪崩效应,为什么叫雪崩,当A调用了B微服务,B微服务又调用了C微服务,C微服务无法相应,C和B就会一直拉着链接等待超时。只要你访问并发量够大,很快的连接线程池

2017-07-19 20:32:08 582

原创 SpringCloud系列(4)---Feign 声明式REST调用

一、使用FeignFeign 提供声明式REST调用。一开始我们还在懊恼,dubbo都已经提供了配置式的服务调用了,为什么SpringCloud没有相应的解决方案?有SpringCloud提供了Feign声明式事务,使用Feign有个非常大的好处就是,只要你属性SpringMVC的annotation配置,Feign就没有什么学习成本。事不宜迟,我们首先将Feign整合到我们的微服务当中:

2017-07-14 16:01:07 4633

原创 SpringCloud系列(3)---Netfilx-Ribbon

在上一篇笔记当中,已经成功使用了服务注册和发现。但是所有微服务还是处于单点的状态,我们也应该对微服务进行负载均衡,这是相当有必要的。SpringCloud 提供了Ribbon负载均衡器。它可以有助于控制HTTP和TCP客户端的访问行为。为Ribbon配置服务提供者地址后,Ribbon就可以基于负载均衡算法进行负载均衡。Ribbon默认提供了很多种负载均衡算法,轮询、随机等。Ribbon也可以使用自

2017-07-14 14:59:29 603

原创 SpringCloud系列(2)---Netfilx-Eureka

上一篇笔记写到的两个问题,Netfilx-Eureka和Ribbo会给我们一一解决。如果有看过dubbo 应该知道zookeeper,Eureka的角色就是zookeeper。Eureka和Zookeeper主要都是作为微服务的注册和发现。Eureka和Zookeeper不一样的是,Zookeeper是作为一个单独的应用程序,而Eureka是直接嵌套在SpringCloud当中的。所以 E

2017-07-14 14:13:46 4106

原创 SpringCloud系列(1)---初试微服务

微服务之前在写SpringBoot的笔记时,就有提及到SpringCloud。SpringCloud提供了微服务的开箱即用。微服务近年来非常火,到处都在说微服务。笔者也对微服务相当感兴趣,因为笔者在校期间(N年前)曾经和很多同学聊过,如果所有的应用并不是单体的,而是通过很多系统提供API这会变成怎么样,当时我就觉得这样能够做到分布式服务。因为服务是分离的,我们可以针对每一个不同的服务,

2017-07-13 14:49:16 1168

原创 SpringBoot系列(7)---SpringBoot-Cache(EhCache)

SpringBoot提供数据缓存的功能,相信非常多人已经用过cache了。因为数据库的IO瓶颈应该大家也吃过不少亏了,所以一般情况下我们都会引入非常多的缓存策略,例如引入redis,引入hibernate的二级缓存等等。SpringBoot在annotation的层面给我们实现了cache,当然这也是得益于Spring的AOP。所有的缓存配置只是在annotation层面配置,完全没有侵入到我

2017-07-12 12:40:43 15235 2

原创 SpringBoot系列(6)---SpringBoot-JPA

JPA 应该都熟悉了,我就不多说了什么是JPA了。目前JPA主要实现由hibernate和openJPA等。Spring Data JPA 是Spring Data 的一个子项目,它通过提供基于JPA的Repository极大了减少了操作JPA的代码。笔者觉得这个由SpringBoot 提供的JPARepository真的是非常爽。基本上大部分的业务都可以满足了。在Spring环境中需要配

2017-07-12 00:17:53 52897 2

原创 SpringBoot系列(5)---SpringBoot-Web和SpringBoot基础

笔者所参考的书籍是SpringBoot实战,其理论性说得不多,内容上也不是非常详细。但是说到的内容也足够平时使用了,以下就是我根据SpringBoot实战学到的一些东西,希望分享给大家,并成为我以后回忆这门技术的笔记。开始SpringBoot之前,我建议大家还是从Spring官网上按照自己的需要下载一个基础包,https://start.spring.io 。在这个笔记当中只需要用到web 和

2017-07-10 20:46:23 26660 2

原创 SpringBoot系列(4)---SpringMVC测试用例

虽然SpringMVC的测试用例我也没有怎么用,但是以防以后我会用到还是写一些笔记比较好。使用SpringMVC的测试,需要添加Spring-test MAVEN依赖如下:Spring-test: org.springframework spring-test ${spring.version}Junit4: junit j

2017-07-07 17:19:21 1167

原创 SpringBoot系列(3)---无配置文件SpringMVC

之前我在写SpringMVC花了很多篇幅,所以很多关于SpringMVC的很多知识点可以参考我以前的笔记。Servlet3.0以上可以不使用web.xml进行配置,而是实现Spring提供的WebApplicationInitializer接口进行相关的Web配置。当然我们的web服务器也需要时tomcat7.x以上版本。现在我们首先看看我们这个实验环境的maven pom文件:x

2017-07-07 16:24:11 4423 5

原创 SpringBoot系列(2)---无配置文件配置基础2

上一篇文章的传送门:SpringBoot系列(1)---无配置文件配置基础1一、Spring Aware 其实我在写Spring的博客已经用过了SpringAware ,当时使用的是BeanFactoryAware。其实Aware主要为我们提供获得Spring容器信息和服务的接口,让我们可以在bean中获得很多Spring 提供的服务。当然其实直接使用ApplicatonContext已经

2017-07-06 15:29:54 662

原创 SpringBoot系列(1)---无配置文件配置基础1

今天开始写关于SpringBoot的笔记,当然这个笔记也是主要给我自己看的。如果有其他开发者也在看我写的笔记的话,提醒一下 SpringBoot的笔记是建基于你已经熟悉使用Spring的前提地下去看的,当然我也会尽可能去重温一下Spring的东西。关于SpringBoot 这个技术其实近段时间随着SpringCloud越来越火(所谓的微服务)SpringBoot也随着火起来了。其实Spring

2017-07-05 21:34:10 1811

原创 SQL Antipattern 之 分组查询

我们通常为分组查询提出其他特别的要求,例如我想获得每个用户最后一次评论的时间,以及每个用户最后一次的评论的ID。看上去好像这个要求和合理,但是我们却无法只单单用聚合函数去实现。 以下这个例子是获得各个管理员最后一次提交代码的时间: select a.username,max(c.commit_date) from commit_recode c join admins a using(admin

2017-06-27 17:26:04 443

原创 SQL Antipattern 树之反模式(评论回复 数据库表设计)

我们通常在SQL中实现数,都使用了邻接表。但是事实上邻接表却有相当多的不足,相信属性SQL的开发者也应该清楚了。例如在设置评论的表我们如如下设计:CREATE TABLE comments(comment_id INT PRIMARY KEY AUTO_INCREMENT, comment_text VARCHAR(300), user_id

2017-06-23 17:55:36 2853

原创 Redis 事务和Pipeline--JAVA(系列文章三)

在传统的关系型数据当中,使用事务是我们最常见的操作。来到Redis当中这里有事务吗,Redis是支持事务的。但是这个事务跟关系型数据库的传统事务不一样,在关系型数据库当中我们可以对出现错误的sql进行回滚,但是在redis是没有这一说的。在Redis事务当中,所有操作都是在提交的统一执行的,所以并没有回归操作,其实这个事务更像是批处理的感觉。以下就是事务常用的命令:1、watch2、u

2017-06-13 16:53:57 3031

原创 SpringMVC 异常处理HandlerExceptionResolver 笔记(八)

SpringMVC提供4个异常处理解析器的实现 DefaultHandlerExceptionResolver SimpleMappingExceptionResolver AnnotationMethodHandlerExceptionResolver ResponseStatusExceptionResolver SpringMVC默认就装配了DefaultHandlerException

2017-05-27 11:26:05 1878

原创 SpringMVC 静态资源&拦截器(interceptor and static resource) 笔记(七)

SpringMVC会在dispatchServlet拦截请求,所有在我们配置的时候,如果将所有请求都拦截了,连同静态资源也会拦截。有两种方式对静态资源进行访问:1、配置default-servlet-handler,SpringMVC上下文中定义一个DefaultServletHttpRequestHandler,它会检查DispatchServlet的URL。然后如果发现是静态资源,就由

2017-05-26 17:20:28 1097

原创 SpringMVC 之Resolver视图解析器笔记(六)

Spring所支持的Resolver 非常多,但是我们最为常用的还是 InternalResourceViewResolver 。常规就是贴出一下InternalResourceViewResolver的常用配置:class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix=

2017-05-26 15:48:42 6093

原创 SpringMVC 之validator验证笔记(五)

SpringMVC支持的数据校验是JSR303的标准,通过在bean的属性上打上annotation @NotNull @Max等进行验证。JSR303提供有很多annotation借口,而SpringMVC对于这些验证是使用hibernate的实现,所以我们需要添加hibernate的一个validator包: org.hibernate hibernate-valid

2017-05-24 16:54:23 11901

原创 SpringMVC 之conversionSerivce笔记(四)

ConversionSerivce 最重点的目的是将http的请求参数以什么形式进行类型转换,简单来说HTTP请求都是以String的方式进行传输的,但是我们是入参却是多姿多彩的数据类型,所以SpringMVC是通过ConversionSerivce进行参数的绑定转换的。其实定义相应的converter的思想非常简单,首先要知道converter是处理什么类型转什么类型的,其次就是做实际的转型

2017-05-24 15:13:03 4000

原创 SpringMVC 之模型数据笔记(三)

SpringMVC 处理数据模型还是比较简单,概念都比较一致最经典的就是ModelAndView,以下就是SpringMVC所提供的数据模型:1、ModelAndView  作为请求处理方法的返回类型,在该对象中可以添加相应属性到数据模型当中2、@ModelAttribute: 方法入参注解后,入参会自动放置到数据模型当中。3、Map 和 Model :入参为org.springfra

2017-05-24 14:26:57 329

原创 SpringMVC之HttpMessageConverter&RestTemplate笔记(二)

HttpMessageConverter 是一个对请求信息进行直接转换的一个接口,就是说不通过resolver直接将对象直接响应并进行转换,而且HttpMessageConverter接口也可以对请求进行对象的直接转换。有兴趣的同学可以细心研究其接口的方法并去实现自己的MessageConverter,但是Spring所提供的HttpMessageConverter已经足够强大。以下就列出以下Sp

2017-05-24 11:03:09 4921

原创 SpringMVC 基础笔记(一)

SpringMVC 处理模型:1、所有request请求,如果需要交由SpringMVC处理,必须在DispatcherServlet对请求进行处理2、所有请求根据请求的信息,通过handlerMapping进行获得相关的Handler映射。3、根据handler的映射信息,获得handler然后通过handlerAdapter对handler进行统一封装代用。3、然后根据hand

2017-05-22 12:17:40 336

原创 Redis常用命令详解--JAVA(系列文章二)

之前已经基本介绍过Redis的基本使用,本文继续基于《Redis起步安装及基本命令--JAVA(系列文章一)》继续编写,主要介绍redis的常用命令。字符串类型字符串类型基本上和编程语言的字符串类型相差无几,但是Redis中的字符串类型可以存储 字符串、整数、浮点数。我们可以为redis的字符串类型进行自增或者自减(整数或者浮点数),redis中整数的取值范围为CPU的位数的有符号

2017-05-16 19:21:57 518

原创 Redis起步安装及基本命令--JAVA(系列文章一)

Redis的一些介绍我也不说的比较详细了,redis是一个内存数据库,同时也支持持久化操作,对比与memcached来说多了几种数据存储结构,所以基本上你用了redis之后你就会慢慢疏远memcached的,我就是一个典型的例子,因为redis提供的HASH和ZSET实在是非常好用了,对于一些场景来说简直是神器。而且redis的复制技术让存储集群成为了可能。这系列文章我会使用JAVA作为操作Red

2017-05-12 11:22:36 493

原创 SpringJDBC

SpringJDBC是对原生JDBC的一个封装,它不是一个ORM框架,但是对于一些小项目来说,它的所提供的功能就已经卓卓有余了,而且对于一些比价复杂的SQL 原声的JDBC还是有它一定的优势,所以今天我就将SpringJDBC的知识写一下。首先Spring为各种持久化技术提供模板类,这样做有两点,第一点方面操作,第二点你让hibernate的session和connection等这些线程不安全

2017-05-06 10:43:59 511

原创 Spring AOP 之 Schema配置切面

这篇文章是基于Spring AOP 之 Aspect文章的一个延伸,如果不熟悉如何使用AspectJ annotation去配置切面的话 建议先去看《Spring AOP 之 Aspect》 下面我们就使用一个比较简单的例子介绍如何使用spring配置文件去配置切面:定义Aspect类,但是我们不标记任何AspectJ的annotation:public class Aspec

2017-05-03 17:46:12 418

原创 Spring AOP 之 Aspect

之前我用了很多篇幅去介绍AOP的,现在我们使用一个最为常用的AOP使用方式,使用基于AspectJ的表达式进行定义切面,我们采用两种方式一种是通过annotation的另外一种就是通过XML进行配置的方式,在AspectJ中是使用annotation的方式进行使用的,所以我们首先会介绍一下如何去使用annotation去完成我们的代理功能。在我们使用@AspectJ切面的前提是,我们在

2017-05-02 13:56:35 902

原创 SpringAOP之切点和切面的深入理解

在看这篇文章之前需要首先理解 Spring AOP 增强的知识,如果你想先了解增强的知识可以移步到 我另外一篇博客《Spring动态代理之详细DEBUG日志模式》里面有关于增强的知识 如果除了增强还有 关于CGlib 和 Proxy 代理的知识不太理解可以再移步到 《动态代理之详细DEBUG日志模式》好了,目前是建基于你都明白 动态代理 和 Spring 增强的基础上进行对Spring 中

2017-04-27 15:30:45 16250

基于LVS+keepalived群集

这个文档时本人亲自编写的··· 经过本人测试KEEPALIVED的实验后 编写的实验报告!利用本文档可以理解到LVS的搭建方式

2012-09-25

Java十大经典案例

Java十大经典案例 看看大项目的编写 提高自己的项目经验

2012-09-24

规则库MD5暴力破解器(mdcrk41)

这个破解器是上传者通过外国网站下载的··· 非常好用 如果你大约估计网站的MD5密码长度、复杂度 通过这些选择他会生成一个规则库然后进行暴力破解 如果你CPU比较强大 你可以设置多个线程 在下的CPU是I5三代的 我开100个线程 都只有前70几个线程跑的比较快 所以建议一般来说50就可以了·····只提供研究之用 不要做坏事喔···

2012-09-21

iptables技术巧妙

iptables技术巧妙 iptables 安全 linux 防火墙 防ddos

2012-09-20

nginx轻量级web服务器搭建

nginx 是一个轻量级服务器 他可以实现超过6万以上的并发数连接的web服务器 同时也支持PHP JSP 内置有群集模块 可以轻松搭建强大的轻量级web群集系统

2012-09-20

JAVA API JAVA开发应用API

JAVAAPI JAVA开发工程师必备 让你开发更方便

2012-09-20

Android开发教程

Android开发教程 讲得非常详细从入门到 高级开发 全部都有 非常好

2012-09-20

HADOOP技术讲解

hadoop 分布式文件 技术讲解 大型数据分析

2012-09-19

Linux系统和网络性能监测

《Linux系统和网络性能监测》教你如何使用linux下的工具检测 LINUX的系统和网络性能

2012-09-19

在linux5搭建本地yum源

在 linux 5 下搭建yum 不是那么容易比较复杂 这个文档是 我原创的所以 按步骤一般都能成功

2012-08-08

LVS+keepalived群集教程(原创)

这份文档是本人 原创 经过实验 按照此文档 可以成功搭建 LINUX 下的 LVS群集

2012-06-06

空空如也

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

TA关注的人

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