自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(257)
  • 资源 (2)
  • 收藏
  • 关注

转载 Spring 中 Bean 的生命周期以及作用域

那么是否可以先执行 初始化 再执行 设置属性 呢?

2025-04-01 11:01:26 10

转载 如何实现线程之间的通信?如何实现线程池的任务编排?Futrue,信号量, 栅栏等

当某个线程需要访问共享资源时,它必须先从 Semaphore 中获取一个许可证,如果已经没有许可证可用,线程就会被阻塞,直到其他线程释放了许可证。原文链接:https://www.javacn.site/interview/thread/thread-communication.html#%E7%AD%89%E5%BE%85%E9%80%9A%E7%9F%A5%E5%AE%9E%E7%8E%B0。

2025-03-17 17:19:26 15

转载 JVM的安全点和安全区域

在达到安全点时,所有线程会被挂起(暂停)。安全点是JVM在执行过程中可以安全地。

2025-02-21 11:34:36 185

转载 场景题大全

2)根据桶中元素的个数,计算出中位数所在的桶(比如 100 亿个数据,第 1 个桶到第 18 个桶一共有 49 亿个数据,第 19 个桶有 2 亿数据,那么中位数一定在第 19 个桶中),然后针对该桶进行排序,就可以求出海量数据中位数的值(如果内存还是不够,可以继续对这个桶进行拆分;在创建订单时,写入一个定时过期的key,当key过期时,监听到redis的keyevent 事件通知,进行后续处理。1)创建多个小文件桶,设定每个桶的取值范围,然后把海量数据元素根据数值分配到对应的桶中,并记录桶中元素的个数。

2025-02-12 20:32:41 42

转载 分布式事务Seata

分布式事务,就是不再单个服务或者单个数据库中产生的事务,一般有:跨数据源的分布式事务,跨服务的分布式事务。在实际开发中,往往一个业务操作不可能只经过一个服务,也不可能只调用一个数据库。创建订单按照你的订单扣减商品库存从用户的账户余额中扣除金额完成上面操作我们需要访问3个服务和3个不同的数据库。

2025-01-21 00:07:03 24

转载 CMS垃圾回收器+G1垃圾回收器+ZGC垃圾回收器详解及对比

例如,在并发标记阶段,有一个白色对象B,B被灰色对象A引用(A=B),A和B都还没有被GC线程扫描,一个业务线程将B断开引用(删除引用),例如A=null,同时一个黑色对象C引用了该对象(增加引用),例如C=B。这是G1的常规操作,当年轻代区域填满时,会触发年轻代收集。为目标的收集器,是一款针对老年代的垃圾回收器,一般和Parallel回收器(一款新生代回收器,是使用复制算法的收集器,又是并行的多线程收集器)配合使用,。具体算法同上面的CMS收集器,不同的是处理对象漏标问题的解决方法,G1收集器采用。

2025-01-16 12:26:28 61

原创 线程的基本操作

线程启动start线程终止join说它是终止线程可能不是很准确,join的含义是:t.join()方法只会使主线程进入等待池并等待t线程执行完毕后才会被唤醒。并不影响同一时刻处在运行状态的其他线程。线程等待唤醒wait线程唤醒notify线程睡眠sleep...

2020-04-11 11:45:01 253 1

转载 JVM调优

JVM调优

2020-04-08 19:50:19 367

转载 String的intern()方法

String中的intern方法一.intern方法的用途关于字符串String中的intern方法,是当常量池中不存在"abc"这个字符串的引用,将这个对象的引用加入常量池,返回这个对象的引用,当常量池中存在"abc"这个字符串的引用,返回这个对象的引用。java中获取String常量池中常量有两种方法:一个是通过双引号定义字符串例如:String S = “1”;一个是String的in...

2020-04-08 19:20:28 249

转载 Spring中IoC容器实现的关键:BeanFactory和ApplicationContext

Spring的beanFactory和Application

2020-04-08 10:43:58 1155

转载 ArrayList、LinkedList、CopyOnWriteArrayList的区别联系

CopyOnWriteArrayList的实现原理内部数据会被copy读写分离可能的数据延迟CopyOnWriteArrayList用了一个有意思的技术实现了线程安全(不需要synchronization)。内部数据会被copy当调用这个类的任何有关修改的操作的时候(比如add,remove),CopyOnWriteArrayList里面整个的内容都会被重新copy一份。读写分离...

2020-04-03 19:58:08 712 1

转载 接口限流、服务降级、熔断

为什么需要限流与用户打交道的服务比如web服务、对外API,这种类型的服务有以下几种可能导致机器被拖垮用户增长过快(这是好事)因为某个热点事件(微博热搜)竞争对象爬虫恶意的刷单这些情况都是无法预知的,不知道什么时候会有10倍甚至20倍的流量进来,如果遇到此类情况,扩容是根本来不及的,弹性扩容也是来不及的;对内的RPC服务一个服务A的接口可能被BCDE多个服务进行调用,在B服务...

2020-04-02 21:13:44 5531 1

转载 分布式session如何实现

大约有如下几种方法:粘性sessionsession复制session共享机制session持久化到数据库1.粘性session原理:粘性Session是指将用户锁定到某一个服务器上。比如上面说的例子,用户第一次请求时,负载均衡器将用户的请求转发到了A服务器上,如果负载均衡器设置了粘性Session的话,那么用户以后的每次请求都会转发到A服务器上,相当于把用户和A服务器粘到了一块...

2020-04-02 20:46:03 204

转载 TCP报头组成以及IP报头组成

一次网络请求的全过程

2020-03-28 09:22:37 3601

转载 HTTP和HTTPS以及SSL四次握手

HTTP协议HTTP协议是一种使用明文数据传输的网络协议。一直以来HTTP协议都是最主流的网页协议,但是互联网发展到今天,HTTP协议的明文传输会让用户存在一个非常大的安全隐患。试想一下,假如你在一个HTTP协议的网站上面购物,你需要在页面上输入你的银行卡号和密码,然后你把数据提交到服务器实现购买。假如这个适合,你的传输数据被第三者给截获了,由于HTTP明文数据传输的原因,你的银行卡号和密码,将...

2020-03-28 08:59:09 385

转载 MySQL的锁与事务详解

也就是说,在前面举例幻读问题中,当T1要对ID>2的用户做修改余额,锁定3、9这两条行数据时,默认会加的是临键锁,也就是当事务T2尝试插入ID=6的数据时,因为有临建锁存在,因此无法再插入这条“幻影数据”,也就至少保障了T1事务执行过程中,不会碰到幻读问题。MySQL的锁机制与索引机制类似,都是由存储引擎负责实现的,这也就意味着不同的存储引擎,支持的锁也并不同,这里是指不同的引擎实现的锁粒度不同。一个事务已获取共享锁,当另一个事务尝试对具备共享锁的数据进行读操作时,可以加共享锁,可正常读;

2020-03-26 10:24:40 193 1

转载 数据库三范式与反三范式

第一范式字段不可分,保证字段的原子性,字段不能是集合、多个值。下面第二行是违反第一范式的:第二范式有主键,非主键字段依赖主键。第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要我们设计一个主键来实现(这里的主键不包含业务逻辑)。即满足第...

2020-03-25 15:41:37 630

转载 Lock原理

Lock原理

2020-03-25 08:54:53 415

转载 面向对象的设计原则(SOLID)

设计模式的Solid原则有:Single Responsibility Principle:单一职责原则Open Closed Principle:开闭原则Liskov Substitution Principle:里氏替换原则Interface Segregation Principle:接口隔离原则Dependence Inversion Principle:依赖倒置原则除此之...

2020-03-24 11:03:37 270

转载 10亿数据中找出前1000大的

大量数据的排序算法——堆排序

2020-03-18 21:42:12 724

转载 TCP与UDP的核心区别

TCP与UDP的核心区别

2020-03-18 19:11:52 193

转载 MySQL主从

MySQL主从

2020-03-17 11:23:14 207

转载 CPU100%、CPU飚高、死锁、内存溢出的排查

CPU到了100%的排查方式top

2020-03-17 09:00:46 637 1

转载 hash环/一致性hash

hash环

2020-03-15 13:26:34 238

转载 Appllo原理

Applo原理

2020-03-15 11:30:32 669

转载 kafka详解

kafka

2020-03-14 21:44:46 343 1

转载 Netty的原理

Netty的原理

2020-03-13 17:59:27 263

转载 服务代理Nginx负载均衡原理

负载均衡

2020-03-13 16:27:32 6646

转载 负载均衡及其常见实现方式

Nginx

2020-03-12 21:26:11 1560

转载 RPC框架——Dubbo

什么是RPCRPC 的全称是 Remote Procedure Call 是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即无论是调用本地接口/服务的还是远程的接口/服务,本质上编写的调用代码基本相同。比如两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数或者方法,由于不在一个内存...

2020-03-09 22:56:24 324

转载 Zookeeper使用及原理

Zookeeper使用Zookeeper原理

2020-03-09 19:36:33 260

转载 微服务集群框架

微服务集群框架整个微服务集群框架是怎么构成的:注册中心、服务发现、负载均衡API 网关RPC框架消息队列全方位的监控统一配置中心统一日志中心熔断,限流,降级缓存这些框架下管理的是各种服务器:web项目服务器异步job任务服务器数据库 服务器缓存服务器如下图所示:转自:https://blog.youkuaiyun.com/wangjianan7357/article...

2020-03-09 10:39:49 337

转载 Redis集群(主从、哨兵、分片)

Redis集群当满足需求时,我们可以只在一台服务器上部署Redis数据库,其他的服务器通过IP、端口等访问这台服务器即可。但是当一台服务器难以满足时,我们就需要在多台机器上部署一个Redis集群,来满足需求。Redis集群中主要有如下几种核心功能:主从复制哨兵模式分片分区主从复制需求为了避免单点故障,可选的做法是将数据库复制多个副本以部署在不同的服务器上,这样即使有一台服务器...

2020-03-05 11:06:36 1784 1

转载 Redis并发问题及分布式锁

Redis并发问题既然Redis是单线程,那么它为什么会有并发的问题。理论上来说,Redis是按顺序执行修改操作,不会有多个线程同时修改的情况。但假如有这种场景下:有一个字符串,key 为 a,value 为 1 。两个客户端同时对 a 进行加 1 。他们同时获取到 a 的值为 1 ,同时向Redis发出请求,将 a 值改为 2 。这样并发问题就产生了。Redis本身是按顺序执行的,它...

2020-03-05 10:30:07 536

转载 微服务

微服务微服务是是一种架构风格,它提倡将单一应用程序划分一组小的服务。比如将整个商城分为:订单系统、商品系统、活动系统三个子服务,也就是三个微服务。REST接口REST是一种架构风格,指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。REST规范把所有内容都视为资源,网络上一切皆资源。REST架构对资源的操作包括获取、创建、修改和删除资源的操作正好对...

2020-03-04 21:41:59 176

转载 红黑树结构及算法实现

红黑树结构红黑数(Red-black tree)是一种自动平衡的二叉查找树,如下图:红黑数首先需要满足的条件是一棵二叉查找树,在此基础上增加其自己的规则。二叉查找树的规则若任意节点的左子树不为空,则左子树上所有节点的值均小于它的根节点的值若任意节点的右子树不为空,则右子树上所有节点的值均大于它的根节点的值任意节点的左、右子树也分别为二叉查找树没有键值相等的节点红黑树的规则...

2020-03-03 18:44:29 492

转载 排序算法

见:https://www.cnblogs.com/chengxiao/p/6194356.html

2020-03-03 14:36:10 94

转载 SpringBoot核心原理

SpringBoot核心原理转自:https://www.jianshu.com/p/f6ec46bd34a2SpringBoot的主要特点它是一个服务于spring框架的框架,能够简化配置文件,快速构建web应用,内置tomcat,无需打包部署,直接运行。特点:简化配置文件内置tomcatSpringBoot的核心机制自动配置,可以实现简单配置,甚至是零配置起步依赖,通过...

2020-03-03 11:36:05 163

原创 多线程实例

场景如下有多个品牌,每个品牌下有多个商品,现在要过滤掉其中没有商品的品牌。除了没有商品的可能,还有用户被屏蔽的可能,因此还有一道过滤逻辑。比如康师傅品牌下有康师傅红茶、康师傅方便面等等,盼盼品牌下啥也没有,就要把盼盼过滤掉,康师傅留下。过滤的线程如下//得到品牌下商品的个数class CountGoods implements Callable<Integer>{ ...

2020-03-02 12:37:18 134

原创 AOP详解

AOP简介AOP也就是面向切面,意思是做出一些通用的功能,如打印日志等,应用于所有需要的地方。传统的面向对象,在每个对象里进行打印日志,重复且无意义。AOP实现的思路,拦截住一些需要使用打印日志功能的方法,使用动态代理,对原本的方法加入了打印日志的操作。AOP具体使用方法先定义一个切点,也就是需要拦截的地方。围绕着切点,进行日志打印,共有五种执行日志打印的时机:before(前置通知...

2020-03-01 13:43:38 175 1

rainbow.txt

彩虹屁文本11000条

2021-01-30

index.html

程序员小白编写用于哄女票、给女票惊喜的静态HTML页

2021-01-24

空空如也

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

TA关注的人

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