从搭建到入门,快速了解Docker怎么玩

2021-08-10
阅读 3 分钟
2k
镜像(Image) :Docker 镜像(Image),就相当于是一个ISO文件系统。比如Centos官方镜像 CentOS-7-x86_64-DVD-2009.iso就包含一个完整的 centos 操作系统环境。

都什么时候了才来学Java8新特性?

2021-06-17
阅读 4 分钟
1k
总结-> 左边:lambda形参的参数类型可以省略,当lambda形参只有一个参数可以省略括号-> 右边:如果lambda体只有一条执行语句省略{},这条语句是return时省略return

Redis主从复制及其原理

2021-04-03
阅读 3 分钟
2k
为了避免服务的单点故障,通过给主从复制可以把数据复制多个副本放在不同的服务器上,拥有数据副本的服务器可以用于处理客户端的读请求,扩展整体的性能

Redisson 分布式锁实现原理

2021-03-28
阅读 2 分钟
6.5k
lock()底层是通过一段lua脚本实现的KEYS[1]代表你加锁的那个key,RLock lock = redisson.getLock("myLock");这里你自己设置了加锁的那个锁key就是“myLock”ARGV[1]代表的就是锁key的默认生存时间,默认30秒ARGV[2]代表的是加锁的客户端的ID,类似于下面这样:8743c9c0-0795-4907-87fd-6c719a6b4586:1加锁流程:1.判断是否...

不看源码就硬聊AQS实现原理

2021-03-21
阅读 4 分钟
1.9k
Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。

Spring Aop实现原理

2021-03-07
阅读 4 分钟
1.4k
JDK动态代理jdk动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用业务方法前调用InvocationHandler处理。代理类必须实现InvocationHandler接口,并且,JDK动态代理只能代理实现了接口的类,没有实现接口的类是不能实现JDK动态代理。使用JDK动态代理类基本步骤:1、需要被代理的类和接口

JDK1.8 ConcurrentHashMap解析

2021-03-07
阅读 8 分钟
2.2k
JDK1.8ConcurrentHashMap采用数组+单链表+红黑树的数据结构,数组和链表存储的是一个个Node对象,红黑树存储的是TreeNode对象

JDK1.7 ConcurrentHashMap解析

2021-03-07
阅读 12 分钟
1.1k
JDK1.7 ConcurrentHashMap基于数组+链表,包括一个Segment数组,每个Segment中是又是一个数组+链表的数据结构(相当于一个HashMap),数组和链表存储的是一个个HashEntry对象

Synchronized原理和锁升级

2021-02-28
阅读 4 分钟
4.3k
Synchronized使用场景Synchronized修饰实例方法:为当前实例this加锁Synchronized修饰静态方法:为当前Class实例加锁Synchronized修饰代码块:为Synchronized后面括号里修饰的实例加锁注意:同一个类的不同实例拥有不同的锁,因此不会相互阻塞。使用Synchronized修饰Class和实例时,由于Class和实例分别拥有不同的锁,因...

最全面的Redis缓存雪崩、击穿、穿透问题解决方案

2021-02-28
阅读 2 分钟
12.2k
缓存雪崩当某一时刻发生大规模的缓存失效的情况,会有大量的请求进来直接打到DB上面处理缓存雪崩1.redis的key在同一时间大面积失效,可考虑:在批量往Redis存数据的时候,把每个Key的失效时间都加个随机值,这样可以保证数据不会在同一时间大面积失效 {代码...} 设置热点数据不设置过期时间,有更新操作就更新缓存就好了2...

JDK1.8 HashMap解析

2021-01-30
阅读 13 分钟
1.9k
对于遍历keySet,valueSet,实质上遍历了2次:第1次,for/iterator迭代器遍历;第2次 从HashMap中取出key的value操作

JDK1.7 HashMap解析

2021-01-30
阅读 8 分钟
1.3k
对于遍历keySet,valueSet,实质上遍历了2次:第1次,for/iterator迭代器遍历;第2次 从HashMap中取出key的value操作

Java多线程之线程池

2021-01-14
阅读 11 分钟
2k
降低资源消耗:通过池化技术重复利用已创建的线程,降低线程创建和销毁造成的损耗。提高响应速度:任务到达时,无需等待线程创建即可立即执行。提高线程的可管理性:线程是稀缺资源,如果无限制创建,不仅会消耗系统资源,还会因为线程的不合理分布导致资源调度失衡,降低系统的稳定性。使用线程池可以进行统一的分配、...

Java多线程之线程及其常用方法

2021-01-14
阅读 14 分钟
3k
进程是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。

Java List集合解析

2021-01-06
阅读 5 分钟
1.8k
List集合的元素以线性方式存储1.可以允许重复的对象。2.可以插入多个null元素。3.是一个有序集合,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。

MySQL索引原来也没那么难

2020-12-07
阅读 3 分钟
1.7k
通过一个例子看看索引的威力t_user表插入1百万条数据查找name = user0,耗时213msselect * from t_user where name = 'user0'增加name字段的索引ALTER TABLE t_user ADD INDEX index_name (name)再次查找,耗时1ms真厉害啊,但索引究竟是个啥?为什么可以加快数据库的检索速度呢?首先说说MySQL默认引擎InnoDB的基本存储...

终于懂什么是分布式锁

2020-11-30
阅读 5 分钟
10.8k
现在模拟集群环境,还是用上面的接口,但启动两个服务,分别是8080和8081端口,用nginx负载均衡到两个tomcat,用Jmeter发送1000个请求到nginx:发现库存并没有-1000,并且控制的库存量打印有重复。

Session Cookies 你懂了吗

2020-11-26
阅读 3 分钟
1.6k
1.由于http协议是无状态的协议,为了能够记住请求的状态,于是引入了Session和Cookie的机制。2.Session是存在于服务器端的,在单体式应用中,由Tomcat管理,而Cookie则是存在于客户端,更方便理解的说法,可以说存在于浏览器。3.Cookie只是实现Session的其中一种方案。虽然是最常用的,但并不是唯一的方法。4.流程

Hadoop完全分布式集群搭建

2020-09-21
阅读 4 分钟
3k
HDFS: 1个NameNode + n个DataNode + 1个2NNYARN: 1个ResourceManager + n个NodeManagerhadoop1 hadoop2 hadoop3 DN DN DN NM NM NM NN RM 2NN

使用Sharding-JDBC进行分库分表,读写分离

2020-08-31
阅读 7 分钟
5k
数据库的数据量是不可控的,随着时间和业务发展,造成表里面数据越来越多,如果再去对数据库表curd操作时候,造成性能问题。分库分表为了解决由于数据量过大而造成数据库性能降低问题。

SpringCloud组件简述

2020-08-15
阅读 1 分钟
1.3k
SpringCloud 1.Eureka Zookeeper Consul 注册中心2.Feign Ribbon OpenFeign微服务间的调用,负载均衡3.Hystrix服务降级,服务熔断4.Zuul Gateway网关5.Config配置中心6.Bus消息总线,刷新配置7.Stream消息统一Api8.Sleuth服务链路追踪

Shiro全解析,这一篇就够了

2020-08-11
阅读 13 分钟
8.2k
简单说下原理:认证:调用登录接口后,在CustomRealm的doGetAuthenticationInfo()方法中,通过用户名查询到数据库中的密码,与登录接口中传入的密码对比,相等则认证成功,返回Cookie。授权:调用有权限注解的接口如/test,在CustomRealm的doGetAuthorizationInfo()方法中,通过用户名查询到数据库中的用户权限,与当前需...

SpringCloud + Docker+ K8s微服务集群部署

2020-07-10
阅读 4 分钟
4.5k
2.安装docker并设置开启启动(两台机器都做)yum install -y docker-cesystemctl enable docker && systemctl start docker

Nginx 快速入门学习笔记

2020-05-19
阅读 7 分钟
3.8k
Nginx是高性能的HTTP和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数

基于Freemarker模版生成Docx和Pdf文件

2019-10-11
阅读 5 分钟
8.8k
产品提了个这样的需求:分别生成一个word文档和pdf文档,里面需要包含数据,这些数据需要有对应的样式比如字体大小,表格,段落等。开始的想法是用Apache POI,但看了那一大段填充值操作的代码发现太过冗长,决定采用Freemarker模版的方案。百度了一圈看上去Spring Boot + FreeMarker制作word模板导出Word表格这种做法像那...