自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dason_yu的博客

从此,我遇见青山,遇见白雾。

  • 博客(105)
  • 资源 (3)
  • 收藏
  • 关注

原创 日常开发问题

server.tomcat.max-http-form-post-size: 50MB (默认配置 2M)背景:请求方式是POST \ x-www-form-urlencoded。

2022-09-20 12:39:02 217 1

原创 技术官方地址

技术官方地址

2022-09-12 13:05:33 538

原创 Maven 导入jar 到本地仓库

Maven 导入jar 到本地仓库pom.xml 文件中依赖(报红是idea等开发工具需要重启)欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入#执行命令安装C:\Users\yudeshe

2021-10-19 11:09:37 224

原创 redis之主从复制

master-slave 主从复制1 作用​ 为了分担压力提高性能,redis支持master-slave模式,进行读写分离,以及很强的容灾恢复,master支持写,slave支持读.2 配置(只在从库中配置)# 复制选项,slave复制对应的master# replicaof <masterip> <masterport>#如果master设置了requirepass,那么slave要连上master,需要有master的密码才行。masterauth就是用来配置ma

2020-05-23 17:01:15 408

原创 reids持久化之AOF

AOF1 前言RDB 的缺陷是最后一次持久化后的数据可能丢失。而AOF就是用来解决这个问题的.2 简介append only file ,以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis重启后就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作.3 AOF的重写简介AOF采用文件追加方式,文件会越来越大为避免出现此种情况,新增了重写机制,当AOF文件的大小超过所设定的阈值时,Redis就会启动AOF

2020-05-23 16:51:04 235

原创 reids持久化之RDB

RDB1 简介RDB:是 redis DataBase的简写.在指定的时间间隔内将内存中的数据快照写入磁盘.恢复时将快照读入到内存中.Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能.如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。2

2020-05-23 16:42:30 200

原创 redis配置文件

redis.conf 配置文件1 networkbind:是绑定本机的IP地址举个例子:如果redis服务器(本机)上有两个网卡,每一个网卡对应一个IP地址,例如IP1和IP2。(注意这个IP1和IP2都是本机的IP地址)。我们的配置文件:bind IP1。 只有我们通过IP1来访问redis服务器,才允许连接Redis服务器,如果我们通过IP2来访问Redis服务器,就会连不上Redis。bind 127.0.0.1# 端口port 6379#tcp-backlog # backl

2020-05-23 16:39:47 417

原创 redis数据类型之ZSet

zset : 有分数有序的set1 设置和获取127.0.0.1:6379> zadd zset1 10 a //zadd key score key(integer) 1127.0.0.1:6379> zadd zset1 50 b(integer) 1127.0.0.1:6379> zadd zset1 30 c(integer) 1127.0.0.1:6379> zrange zset1 0 -1 //zrange key start stop1) "a"2

2020-05-23 16:39:02 174

原创 redis数据类型之Set

set类型:无序不重复集合1 设置和获取127.0.0.1:6379> sadd set2 v1 v2 v3 v3(integer) 3127.0.0.1:6379> smembers set2 //无序不重复1) "v1"2) "v3"3) "v2"127.0.0.1:6379> spop set2 //弹出元素"v1"2 是否存在member127.0.0.1:6379> sismember set2 v2 //sismember key value 指定

2020-05-23 16:37:20 190

原创 redis数据类型之hash

hash: 元素是kv键值对1 设置和获取值127.0.0.1:6379> hset student name tom // hset key field value(integer) 1127.0.0.1:6379> hget student name"tom"127.0.0.1:6379> hmset student age 12 email tom@123//hset key field value [field value...]OK127.0.0.1:6379&g

2020-05-23 16:36:23 182

原创 redis数据类型之List

List类型:先进先出队列1 设置和获取值127.0.0.1:6379> lpush list1 1 2 3 4 //从list左边入队(integer) 4127.0.0.1:6379> rpush list2 1 2 3 4 //从list右边入队(integer) 4127.0.0.1:6379> lrange list1 0 -1 //获取元素1) "4"2) "3"3) "2"4) "1"127.0.0.1:6379> lrange list2 0 -

2020-05-23 16:35:27 221

原创 redis数据类型之String

常用命令127.0.0.1:6379> select 1 //切库. 如 select 1 切换到索引为1的库OK127.0.0.1:6379[1]> select 0OK127.0.0.1:6379> keys *//查看所有key1) "k2"2) "k1"127.0.0.1:6379> exists k1 //判断某个key是否存在,存在返回1,不存在返回0(integer) 1127.0.0.1:6379> EXPIRE k1 10 //为给定的ke

2020-05-23 16:31:58 150

原创 设计模式-行为型之状态(state)模式

设计模式 状态模式

2019-09-23 23:05:50 196

原创 设计模式-行为型之访问者(Visitor)模式

设计模式 访问者模式

2019-09-23 18:40:11 201

原创 设计模式-行为型之迭代器(Iterator)模式

设计模式 遍历模式

2019-09-22 17:16:52 190

原创 设计模式-行为型之观察者(observer)模式

设计模式 观察者模式

2019-09-21 18:15:37 207

原创 设计模式-行为型之责任链(responsibility)模式

设计模式 责任链模式

2019-09-21 17:19:46 230

原创 设计模式-行为型之策略(strategy)模式

设计模式 策略模式

2019-09-19 00:19:39 177

原创 设计模式-结构型之享元(flyweight)模式

设计模式 享元模式

2019-09-18 21:18:48 162

原创 设计模式-结构型之桥接(bridge)模式

设计模式 桥接模式

2019-09-16 23:32:23 178

原创 设计模式-结构型之外观(facade)模式

设计模式 外观模式

2019-09-15 23:29:36 136

原创 设计模式-结构型之代理(proxy)模式

定义使用场景UML图代码实现总结

2019-09-15 21:29:21 165

原创 设计模式-结构型之适配器(adapter)模式

定义填补现有程序和所需程序的差异,填补不同接口(API)之间的缝隙。两种实现方式:– 类适配器:使用继承实现。– 对象适配器:使用聚合实现。使用场景版本升级和兼容性;不改变现有代码的情况下适配新的接口(功能要相同)。– 举例:比如我们生活中的电子产品的充电器,将220V的家用电适配成符合电子产品所需的电压。UML图代码实现使用聚合实现(继承就不写了)//目标:...

2019-09-09 22:09:23 144

原创 设计模式-结构型之装饰器(decorator)模式

定义

2019-09-09 00:45:09 150

原创 设计模式-结构型之组合(composite)模式

定义使容器和内容具有一致性。使用场景在容器中可以放入小容器,也可以放入内容。– 这句话比较抽象,我们举一个例子,比如我们电脑中的文件目录系统,一个文件夹中既可以放入文件夹(容器)也可以放入文件(内容)。这就形成了一种递归结构。– 比如中国的省、市、县的地域划分,国家下有省份,也有直辖市,一个省内有市,也有直辖县,市内有县城。UML图角色树叶(leaf):表示内容的角色,由...

2019-09-08 16:12:43 155

原创 设计模式-创建型之原型模式

简介通过一个实例复制一个一模一样的实例。使用场景当我们需要生成一个实例的过程很复杂时,很难根据类来生成实例。我们可以通过复制来生成一个实例。有时候我们想让生成实例的框架不依赖与具体的类,可以用原型模式。对象种类繁多,无法将他们整合到一个类的时候。实现方式1-- 实现Cloneable 接口java为我们提供一个接口Cloneable,只需要我们实现该接口,并重写Object...

2019-09-07 19:52:07 115

原创 设计模式-创建型之建造者模式

建造者模式作用– 用于组装具有复杂结构的实例;– 将制造细节与创建分离开来(复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示);UML图对比工厂(模板)方法:– Builder只是将算法、建造流程的定义放在了一个叫指挥者中,责任需要改变,只需新增Director。– 模板方法,责任全放在了父类里,如果责任需要改变,则必须要修改父类中的责任方法了,这样就修改了原来...

2019-08-31 22:49:18 122

原创 设计模式-创建型之工厂模式

前言工厂模式– 我们通常是通过 new 来进行创建对象,这样导致程序的耦合性很高,而工厂模式就是用于代替直接 new 的一种模式。三种工厂模式– 简单工厂模式:用工厂类代替 new ,降低类之间的耦合度;– 工厂方法模式:将具体的处理交给子类;用于生产某一类产品;– 抽象工厂模式:用于生产一系列产品;简单工厂(静态工厂)现在有一需求(举例),需要生产一些java开发工具,如I...

2019-08-26 23:54:25 172

原创 设计模式-创建型之单例模式

前言什么是单例– 在应用的整个生命周期周期中只有一个实例对象。应用场景及好处– 对于一些频繁创建的对象、或者创建对象耗时过多,对象占用内存大,而且频繁使用的对象、工具类等,我们可以使用单例模式,这样能够节省资源以及提升系统性能。单例之恶汉模式静态常量方式package com.dason.singleton.evilman.typeone;public class Evi...

2019-08-23 00:27:31 170 1

原创 设计模式之设计原则及分类

单一原则(Single Responsibility Principle)一个类只负责一项职责,尽量做到类的只有一个行为原因引起变化。比如Mybatis 中的 UserDao;OrderDao 等:只负责对某一个表的增删改查;比如Spring中的配置类、请求类、缓存类 等 :只负责某一个具体(配置、请求、缓存)的功能;接口隔离(interface segregation principl...

2019-08-21 22:30:41 202

原创 java并发编程(十五)之线程池

待续...package com.dason.juc2;import java.util.ArrayList;import java.util.List;import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executor...

2018-04-03 23:31:59 323

原创 java并发编程(十四)之集合的并发修改异常

集合的并发修改异常

2018-04-03 23:00:01 378

原创 java并发编程(十三)之线程Volatile内存可见性

Volatile 内存可见性 CAS算法

2018-04-02 00:10:58 295

原创 java并发编程(十一)之线程交换器Exchanger<V>

线程变量交换器Exchanger

2018-03-30 23:11:35 480

原创 java并发编程(十)之线程倒计数锁存器CountDownLatch

一、定义一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重置计数,请考虑使用 CyclicBarr...

2018-03-30 22:38:02 499

原创 java并发编程(九)之线程篱栅CyclicBarrier

一、定义它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。二、用法package cn.itcast.heima2;import java.util.concurr...

2018-03-29 23:17:14 270

原创 java并发编程(八)之线程信号量Semaphore

一、信号量一个计数信号量。从概念上讲,信号量维护了一个许可集。Semaphore经常用于限制获取某种资源的线程数量。在java并发中,即Semaphore维护指定数量许可,当Semaphore中有额外(空闲)的许可时,线程获取到许可信号后(调用acquire()),线程才允许被执行,否则将被阻塞。当线程执行完毕,就会将占用的许可释放(调用release())。此类的构造方法可选地接受一个公平 参数...

2018-03-28 21:53:04 361

原创 java并发编程(七)之线程通信Condition

一、conditionCondition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set(wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用。条件(也称为条件队列 或条件...

2018-03-26 23:50:35 257

原创 java并发编程(六)之读写锁

一、读写锁我们知道在多个线程访问同一个数据的时候是存在线程安全问题的,而在仅仅是读取数据的时候,是没有安全问题的,那么多个线程同时读取数据我们就可以让其不互斥;而多个线程都在修改(写)数据或有的在读取有的在写入的时候再让其互斥,这样不但保证线程安全而且提高性能。ReadWriteLock 维护了一对相关的锁,一个用于只读操作,另一个用于写入操作。只要没有 writer,读取锁可以由多个 reade...

2018-03-26 00:06:46 252

原创 java并发编程(五)之 jdk5 的锁

一、锁介绍(出处:参照原文博客)1.可重入锁如果锁具备可重入性,则称作为可重入锁。像synchronized和ReentrantLock都是可重入锁,可重入性在我看来实际上表明了锁的分配机制:基于线程的分配,而不是基于方法调用的分配。举个简单的例子,当一个线程执行到某个synchronized方法时,比如说method1,而在method1中会调用另外一个synchronized方法method2...

2018-03-25 21:53:43 235

mybatisplus 生成代码

mybatisplus 生成代码

2022-11-15

CH340驱动(USB串口驱动)_XP_WIN7共用

CH340驱动(USB串口驱动)

2021-12-17

shirodemo.zip

springboot+mybatisplus+shiro

2021-01-06

MyGenerator.java

mybatisplus代码生成器

2020-09-26

空空如也

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

TA关注的人

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