自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 23种设计模式

23种设计模式单例模式优缺点:应用场景:简单工厂模式优缺点:应用场景:工厂方法模式优缺点:应用场景:抽象工厂模式优缺点:应用场景:代理模式优缺点:装饰器模式优缺点:应用场景:适配器模式优缺点:应用场景:策略模式优缺点:应用场景:观察者模式优缺点:应用场景:原型模式优缺点:应用场景:建造者模式优缺点:应用场景:享元模式优缺点:应用场景:外观模式优缺点:应用场景:组合模式优缺点:应用场景:桥接模式优缺点:应用场景:单例模式某个类只能生成一个实例,该类提供了一个全局访问方法供外部获取该实例懒汉式:dubb

2022-11-17 10:36:28 183 2

原创 Java原子操作辅助类

Java原子操作辅助类原子类原子引用原子数组字段更新器原子累加器(jdk8+)原子类、原子引用、原子数组、字段更新器、原子累加器原子类AtomicInteger、AtomicLong、AtomicBoolean原子引用AtomicReferenceAtomicStampedReferenceAtomicMarkedReference原子数组AtomicIntegerArray、AtomicLongArray字段更新器利用字段更新器,可以针对对象的某个域、字段进行原子更新保护

2022-03-07 16:33:55 3941

原创 Spring解决循环依赖之三级缓存

一级缓存:单例池(成品对象)二级缓存:半成品池(代理对象)三级缓存:工厂池。不会创建对象,在调用工厂方法时,才会创建代理对象,放入二级缓存。创建流程:

2022-02-11 17:52:32 281

原创 锁消除、锁粗化、偏向锁、自旋锁

JVM对锁的优化:锁消除、锁粗化、偏向锁、自旋锁 synchronized底层加锁方式:偏向、自旋、轻量级锁1. 锁消除JIT编译器在编译的时候,进行逃逸分析。分析synchronized锁对象是不是只可能被一个线程加锁,不存在其他线程来竞争加锁的情况。这时就可以消除该锁了,提升执行效率。编译就不用加入monitorenter和monitorexit指令。如:public static void main(String[] args) { int size = 10000;

2021-11-04 11:34:09 3271

原创 多线程知识点总结

线程总结一、线程概念线程状态二、线程的使用1.创建方式2.实现方式比较三、常用方法1.wait()和sleep()2.notify()和notifyAll()3.yield()4.join()5.中断方法interrupt()四、线程间的协作1.notify()2.wait() notify() notifyAll()3.await() signal() signalAll()五、线程安全1.使用...

2021-11-03 10:45:42 82

原创 GIT变基rebase与合并merge

GIT变基rebase与合并merge参考链接:GIT使用rebase和merge的正确姿势git pull --rebase的正确使用https://git-scm.com/docs/git-rebase注意项:git pull 命令默认采用 --merge 方式更新代码;当你基于a点进行开发,他人已在a点之后进行了一次提交;若此时进行commit会报错,需先pull(idea插件会自动pull);此时pull便会产生merge commit,导致日志线杂乱;git pull --

2021-11-03 10:28:21 1224

原创 邮件发送服务注意项

邮件发送服务注意项阿里邮箱smtp服务器地址阿里25端口发送失败问题阿里邮箱smtp服务器地址个人邮箱 服务器地址:smtp.aliyun.com企业邮箱 服务器地址:smtp.xxxx.com若企业邮箱为 man@company.com,则 服务器地址应为 smtp.company.com阿里25端口发送失败问题阿里云处于安全考虑,TCP 25 端口出方向默认被封禁改为ssl加密 465端口发送。Properties props = System.getProperties();

2020-08-21 15:22:35 384

转载 Tomcat配置与优化(内存、并发、管理)与性能监控

原文链接:http://blog.csdn.net/xyang81/article/details/51530979一、JVM内存配置优化在开发当中,当一个项目比较大时,依赖的jar包通常比较多,我们都知道,在应用服务器启动时,会将应用引用到的所有类通过ClassLoader依次全部加载到内存当中。Java的逻辑内存模型大致分为堆内存、栈内存、静态内存区,也称持久区,该区的内存不会被GC回收。...

2020-03-12 10:58:11 199

原创 Mysql扫盲

Mysql扫盲锁InnoDB行锁实现索引复合索引锁InnoDB行锁实现InnoDB行锁是通过给索引加锁实现的。与Oracle,Oracle是直接对数据行加锁来实现的。InnoDB这种行锁实现方式意味着:只有通过索引检索数据才使用行锁,否则,InnoDB使用表锁。索引如果一个 Like 语句的查询条件以通配符%起始,则索引失效。如:%zhang 或 %zhang% 不使用索引。z...

2019-07-24 17:17:18 109

转载 Mysql行列转置

Mysql行列转置行转列列转行行转列将某一字段具有相同值的多行数据,聚合成一行数据。如:将上图数据聚合成下图样式,即为行转列if 或 case 方式select name, sum(if(subject='语文‘,grade,0) as 语文, sum(if(subject='数学',grade,0) as 数学, sum(if(subject='...

2019-07-23 16:50:55 3467

原创 Redis常用配置及持久化

Redis常用配置及持久化redis.conf持久化方式1.RDB(redis默认持久化方式)2.AOF持久化3.RDB、AOF对比4.混合持久化redis.conf1)注释掉#bind 127.0.0.12)Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程,daemonize yes3)关闭保护模式protected-mode no4)设置密...

2019-07-18 17:49:11 812 1

空空如也

空空如也

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

TA关注的人

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