自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dsdj

记录自己学习过程https://cll314.github.io/

  • 博客(39)
  • 收藏
  • 关注

原创 日常记录:Nginx 访问403解决过程

现象解决思路打开错误日志记录,查看ngnix错误日志 error.log2020/02/12 20:20:34 [error] 29889#0: *1 "/web/index.html" is forbidden (13: Permission denied), client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1",...

2020-02-12 20:48:53 1174 1

原创 为什么说无锁并发、CAS能减少上下文切换?

前言:在并发编程学习中,我们知道并不是更多的线程就能让程序最大限度地并发执行。因为这其中涉及到线程间的上下文切换。而其中减少上下文切换的手段有 无锁并发编程、CAS算法、使用少的线程、协程等手段。那么为什么说无锁并发、CAS能减少上下文切换呢?本文导读什么是线程间的上下文切换?CAS会没有线程上下文切换这话对吗?既然是多线程开发,必然会涉及到上下文切换。那为什么无锁并发编程能减少...

2019-10-24 20:37:22 1298 1

原创 性能优化|tomcat 优化点整理记录

性能优化|tomcat 优化点整理记录整理提高并发能力设置线程池在配置文件的 Service 下<executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="20" maxIdleTime="60000"/> &lt...

2019-10-15 15:24:24 322

原创 记录|常用的性能测试工具使用

记录|常用的性能测试工具使用开发人员,掌握基本的接口并发测试,可以模拟一些并发场景,对系统的性能优化有很好的帮助本文内容AB测试工具JMeterAB测试工具介绍ab 测试工具是 Apache 提供的一款测试工具,具有简单易上手的特点,在测试 Web 服务时非常实用。ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。...

2019-10-15 12:38:13 399

原创 linux|Centos下Redis安装配置

Linux下Redis安装配置旧文。整理发布系统:Centos7[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)下载官网:https://redis.io/[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-isFgSTVJ-1571113...

2019-10-15 12:33:34 195

原创 接口限流算法:令牌桶

接口限流算法:令牌桶本文内容:令牌桶算法原理实现令牌桶算法Guava中RateLimiter令牌桶的使用限流算法的应用场景令牌桶算法原理简单说明:设定固定的速率往桶中放入令牌,如果到达桶的最大容量就溢出(不能放置)。当每一次接口请求时,需要申请一个令牌,如果获取到则进行业务操作,如果桶中无令牌,则拒绝请求。通过令牌桶就可以对接口进行限流了。JAVA实现令牌桶算法pa...

2019-10-14 13:18:23 267

原创 分布式事务学习-几种分布式事务的实现思路

分布式事务学习-几种分布式事务的实现思路旧文。整理出来发布。本文记录了学习分布式事务相关的理论知识的笔记和自己的一些思考什么是事务在之前我们讲事务,很多情况下是将单体事务。事务是用来保证一组数据操作的完整性和一直性四大特性ACID四种隔离级别七种传播级别什么是分布式事务概念分布式事务就是将多个节点的事务看成一个整体来处理分布式事务由事务的参与者、资源服务器、事务管...

2019-08-10 13:41:52 322

原创 设计模式-策略模式学习及案例演示

设计模式-策略模式学习及案例演示概念定义定义一组算法,将每个算法都封装起来,并且使他们之间可以互换(继承和多态)使用场景代码中如果有大量的if…else…系统中有很多类,而他们的区别仅仅在于他们的行为不同一个系统需要动态地在几种算法中进行选择类型行为型优点满足了开闭原则避免使用多重条件转移语句提高算法的保密性和安全性缺点客户端必须...

2019-05-13 00:14:44 181

原创 myBatis实践-插件plugins

myBatis实践-插件plugins前言概述 知识点官方文档截图来自http://www.mybatis.org/mybatis-3/zh/configuration.html#plugins理解总结在mybatis中的插件,其本质还是通过代理模式进行实现。Mybatis拦截器设计的一个初衷就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。打...

2019-04-13 17:11:34 180

原创 mybatis实践-objectFactory对象工厂

mybatis实践-objectFactory对象工厂前言概念截图来自http://www.mybatis.org/mybatis-3/zh/configuration.html#objectFactory理解根据文档的说明objectFactory是每次返回数据时,会利用objectFactory来生产一个实例的目标类,那么如果我们默认的映射关系和初始化不能满足我们的要求的时候...

2019-04-13 15:55:37 539

原创 mybatis实践-自定义Mybatis类型转换器

mybatis实践-自定义Mybatis类型转换器这两天重新去看了http://www.mybatis.org/mybatis-3/zh/index.html上的文档一遍,按照文档上面的操作重新实践后,整理成文档记录分享。概念概念截图自http://www.mybatis.org总结就是:mybatis在预处理语句(PreparedStatement)中设置一个参数时将java类型(...

2019-04-13 14:58:33 483

原创 linux|centos7下安装rabbitmq

linux下安装rabbitmq介绍官网http://www.rabbitmq.com/tutorials/tutorial-one-java.html安装1、安装erlangRabbitMQ团队生成一个剥离的包,只提供运行RabbitMQ所需的那些组件来自RabbitMQ的零依赖Erlang下载地址:https://bintray.com/rabbitmq-erlang/rpm...

2019-03-10 15:21:10 144

原创 Spring-boot集成freemarker入门|实践

Spring-boot集成freemarker入门|实践介绍官方介绍 https://freemarker.apache.org/百度百科:https://baike.baidu.com/item/freemarker/9489366?fr=aladdin关于介绍本文就不重复叙述了下面直接开始实践!Freemarker + Springboot Maven配置基础工程创建一个mave...

2019-02-12 14:42:50 402

原创 mac下WebPack 安装

webpack安装首先必须要先安装nodejsnodejs可以直接去官网下载mac推荐使用本地安装,不建议用全局安装。因为我们不同的项目可能使用不同的版本号安装步骤演示如下:第一、初始化package.json文件进如一个空的文件夹# 1.初始化package.json文件10:webpack-learning cll$ npm init -yWrote to /User...

2019-02-08 16:47:59 2452

原创 linux下安装MongoDB

介绍官网:https://www.mongodb.com/安装步骤一、创建目录 [root@10 ~]# cd /usr/local/ [root@10 local]# mkdir momgodb [root@10 local]# cd momgodb/下载地址:https://www.mongodb.com/download-center/community选择版本 复制链接进...

2019-01-30 14:57:47 254

原创 Spring-boot|如何自定义@Enable模块装配

背景在学习SpringBoot的时候,我们会使用到@Enable***注解的地方,使用上也都是加在@Configuration 类注解的类上面,比如:(1)@EnableAutoConfiguration 开启自动扫描装配Bean(2)@EnableScheduling 开启计划任务的支持(3)@EnableTransactionManagement 开启注解式事务的支持。(4)@Ena...

2018-12-16 23:13:26 3302

原创 spring-boot|从@SpringBootApplication注解的装配来看模式注解

从spring-boot的@SpringBootApplication注解来重新了解sring的注解。我们知道每一个spring-boot的初始是的程序入口都有一个@SpringBootApplication注解。点开@SpringBootApplication的源码可以看到如下@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTI...

2018-12-15 22:54:01 672

原创 日志框架|入门slf4j 理解为何推荐使用slf4j

介绍Simple Logging Facade for Java(SLF4J)用作各种日志框架的简单外观或抽象,例如java.util.logging,logback和log4j。SLF4J允许最终用户在部署时插入所需的日志记录框架。请注意,启用SLF4J的库/应用程序意味着只添加一个强制依赖项,即 slf4j-api-1.8.0-beta2.jar。官网 https://www.slf4j...

2018-11-27 15:58:31 289

原创 工具&mybatis | Mybatis-PageHelper分页处理插件

支持 MyBatis 3.1.0+这个只是简单入门集成,更加详细的使用推荐查看官方的文档https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md集成pom.xml依赖添加&lt;!-- mybatis pager --&gt;&lt;dependency&gt; &lt;groupId&g...

2018-11-21 17:05:45 183

原创 工具&maven|maven项目集成mybatis-generator

pom.xml文件中添加插件&amp;lt;plugin&amp;gt; &amp;lt;groupId&amp;gt;org.mybatis.generator&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;mybatis-generator-maven-plugin&amp;lt;/artifactId&amp;gt; &

2018-11-20 14:01:22 300

原创 工具&MAven|Maven环境隔离应用场景及实战

背景:在开发过程中,我们在测试和开发环境的配置不同。每次更改很麻烦。coding原来的资源结构改造过程一、在resource下分别创建目录如下:二、修改pom.xml文件根据创建的目录结构添加如下的节点&lt;profiles&gt; &lt;profile&gt; &lt;id&gt;dev&lt;/id&gt;&lt;!--执行打包命令时将使用...

2018-11-13 11:38:43 162

原创 Spring Data| spring data(3) Repository的子接口

接上篇 spring data(2)使用repository的子接口,之间使用接口的方法即可使用。在idea中按住alt+ctrl+B键查看repository的子接口,可以看到有四个子接口。CrudRepository接口有以下的默认方法以save方法为例进行测试;package com.dsdj.repository;import com.dsdj.domain.Emp...

2018-11-04 17:23:03 194

原创 spring data|spring data 详解(2)查询规则、@Query、事务

接上篇spring data(1)目录repository接口是spring data的核心接口,不提供任何方法public interface Repository&lt;T, ID extends Serializable&gt;注解的使用repository的子接口repository 中查询方法定义规则和使用规则使用查询以test开头,年龄大于12的员工pu...

2018-11-04 15:10:51 368

原创 设计模式|原型模式

概念定义用原型实例指定创建对象的种类,并且通过拷贝折现原型创建新的对象。优点性能优良原型模式是在内存二进制流的拷贝,要比直接new一个镀锌性能好很多,特别是要在一个循环体内产生大量的对象时,原型模式可以更好地体现其优点。逃避构造函数的约束直接在内存中进行拷贝,是不会执行构造函数的。缺点必须配备克隆方法对克隆复杂对象或者对克隆出的对象进行复杂的改造时,容...

2018-11-03 22:35:42 130

原创 spring data|三分钟spring data JPA 快速入门(1)

环境搭建&lt;dependencies&gt; &lt;!--mysql driver--&gt; &lt;dependency&gt; &lt;groupId&gt;mysql&lt;/groupId&gt; &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt; &a

2018-10-31 21:21:52 169

原创 设计模式|单例模式(3) Enum枚举单例

上篇文章已经讨论了单例模式的安全问题。而枚举类型的单例模式是实现单例模式的最好的方法参考:《Effective Java中文版》 p14-p15只需编写一个包含单个元素的枚举类型。代码枚举类public enum EnumSingleton { INSTANCE; private Object data; public Object getData() ...

2018-10-31 09:06:11 181

原创 设计模式|单例模式(2) 单例模式下反序列化和反射带来的安全问题

接上篇 单例模式(1)序列化破坏单例模式饿汉式的单例类public class HungarySingleton { private final static HungarySingleton hungarySingleton = new HungarySingleton(); private HungarySingleton(){ } ...

2018-10-28 14:24:34 206 1

原创 设计模式|单例模式(1)

设计模式|单例模式(1)概念定义:保证一个类仅有一个实例,并提供一个全局访问点类型:创建型适用场景想确保任何情况下都绝对使用同一个情况优点减少内存开销避免对资源的多从占用设置全局访问点,严格控制访问缺点没有接口,扩展比较难案例懒汉式/** * @ClassName 懒汉式单例模式:延迟加载 * @Description TODO...

2018-10-24 22:35:02 100

原创 传统方式和spring jdbcTemplate方式 访问数据库

传统方式和spring jdbcTemplate方式 访问数据库环境准备导入依赖&lt;dependency&gt; &lt;groupId&gt;mysql&lt;/groupId&gt; &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt; &lt;version&gt;5.1.38&lt;/version&

2018-10-20 14:30:43 138

原创 设计模式|建造者模式

建造者模式概念定义将一个复杂对象的构建和它的表示分离,使得同一的构建过程可以创建不同的表示用户只需要指定需要建造的类型就可以得到他们,建造过程及细节不需要知道类型创建型试用场景如果一个对象有非常复杂的内部结构(很多属性)想把复杂对象的创建和使用分离优点封装性好,创建和使用分离扩展性好、建造类之间独立、一定程度上解耦缺点产生对于的builder对象...

2018-10-17 22:00:11 147

原创 研究基于spring通过对http请求数据的预处理(数据加解密、校验、日志)(2)拦截器篇

研究基于spring通过对http请求数据的预处理(数据加解密、校验、日志)(2)过拦截器篇上文已经详细讲解了如何对request进行处理,本文主要是案例演示spring MVC 的写法添加拦截器定义一个拦截器public class AppRequestInterceptor implements HandlerInterceptor { /** * 在请...

2018-10-17 08:46:16 1066

原创 设计模式|简单工厂、工厂方法、抽象工厂

简单工厂概念定义:由一个工厂对象决定创建出哪一种产品类的实例类型:创建型,但不属于GOF23种设计模式使用场景优点缺点案例一动物的抽象类public abstract class Animal { public abstract void eat();}public class Cat extends Animal { publi...

2018-10-14 13:46:37 136

原创 设计模式| 单一职责原则&接口隔离原则

记录学习设计模式的过程#单一职责原则概念定义:不要存在多于一个导致类变更的原因一个类、接口、方法只负责一项职责优点:、、案例单一职责原则很简单,一个方法 一个类只负责一个职责,各个职责的程序改动,不影响其它程序。这个比较容易理解,就举个一个平常会碰到的情况。package com.dsdj.design.principle.singleresponsibility;/...

2018-10-11 20:29:30 4202

原创 研究基于spring对http请求数据的预处理(数据加解密、校验、日志)(1)过滤器篇

研究基于spring-mvc对http请求数据的预处理(数据加解密、校验、日志)背景:在做拦截器的时候想获取请求Request中获取输入流,解析里面的内容。但InputStream只能被读取一次,在进入Spring MVC的controller方法的时候body的数据已经无法获取了创建spring-boot项目https://start.spring.io/spring-boot整合...

2018-10-10 13:23:06 1532 2

原创 设计模式|设计原则之依赖倒置原则

设计模式|设计原则之依赖倒置原则记录对设计模式学习的过程前言定义:高层模块不应以依赖低层模块,二者都应依赖其抽象抽象不应该依赖细节;细节应该依赖抽象针对接口编程,不要针对实现编程优点:低耦合 、、、、等等详细概念可以网上查询案例实验有一个查询数据的类SearchDao.javapackage com.dsdj.design.principle.depen...

2018-10-09 20:53:19 139

原创 设计模式|六大原则之开闭原则 实验

设计模式|六大原则之开闭原则 实验原理定义:优点:网上随便一找都有案例演示课程购买的例子抽象课程定义一个接口ICourse.javapackage com.dsdj.design.principle.openclose;/** * @ClassName ICourse * @Description TODO * @Author ChenLiLin * @Dat...

2018-10-08 23:55:49 314

原创 工具&git| git初学者的日常操作干货

工具&amp;git| git初学者的日常操作干货工作中使用版本控制是必不可少的这个笔记可以当做平常使用中的参考文档基本操作git clone git@127.0.0.1:testgit statusgit add .git commit –m ‘说明这次提交’git push分支的使用创建分支工作场景:有了一个新的需求,需要新建一个分支。1. 本人先创建分支git ...

2018-10-08 15:56:35 146

原创 基础&java|实现Tterable接口

基础&amp;amp;amp;java|实现Iterable接口Node.java/** * @ClassName Node * @Description TODO * @Version 1.0 **/public class Node { private final Integer vaule; private Node nextNode; public Node(...

2018-10-05 16:31:49 146

原创 基础&算法|Java递归算法练习

Java递归算法练习使用java实现几个比较简单的递归面试题写递归算法的时候,可以类比数学归纳法。将每步先简化单向链表与递归算法实现单向链表Node.java/** * @ClassName Node * @Description TODO * @Version 1.0 **/public class Node { private final Integer v...

2018-10-04 21:35:54 1313

空空如也

空空如也

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

TA关注的人

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