会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
湘王
不装不作,不躺不拖,分享知识,创造价值。
博客园
首页
新随笔
联系
订阅
管理
随笔 - 100
文章 - 0
评论 - 12
阅读 -
12210
2023年2月27日
JVM系统优化实践(5):什么时候GC以及有哪些GC
摘要:
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 既然程序运行会产生大量的废弃物,也就是「垃圾」,那总不能一直堆着不管吧。现在就来粗浅地谈谈Java里面什么时候会触发GC以及有哪些GC。 通过之前的电商支付系统,可以知道系统运行创建的对象都是优先分配在JVM的年轻代中的,年轻代里面的对象越来越
阅读全文
posted @ 2023-02-27 21:53 湘王
阅读(32)
评论(0)
推荐(0)
编辑
2023年2月25日
JVM系统优化实践(4):以支付系统为例
摘要:
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 前面说过,JVM会将堆内存划分为年轻代、老年代两个区域。年轻代会将创建和使用完之后马上就要回收的对象放在里面,而老年代则将创建之后需要长期存在的对象放在里面。那么现在再来看一个比较具体的例子。 在电商系统中,支付系统大概处于这样的位置: 核心业
阅读全文
posted @ 2023-02-25 19:22 湘王
阅读(41)
评论(0)
推荐(0)
编辑
2023年2月23日
JVM系统优化实践(3):分代模型
摘要:
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 大部分在代码里创建的对象,存活周期都是极短的,只有少数对象是长期存活的,如静态类和静态变量。采用不同方式创建和使用对象,其生存周期也不同。因此,JVM将堆内存划分为年轻代、老年代两个区域。 1、年轻代:将创建和使用完之后马上就要回收的对象放在里
阅读全文
posted @ 2023-02-23 21:17 湘王
阅读(19)
评论(0)
推荐(0)
编辑
2023年2月21日
JVM系统优化实践(2):JVM内存与回收
摘要:
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 上次把JVM的类加载过程粗略地过了一遍,今天再来看看JVM运行代码时,系统里发生了什么。 就像家里的柴、米、油、盐、酱、醋、茶要分别放在不同的缸子里一样,JVM也会把运行时需要的数据放在不同的「存储空间」里。JVM的存储空间大概都有这么些「家当
阅读全文
posted @ 2023-02-21 18:38 湘王
阅读(35)
评论(0)
推荐(0)
编辑
2023年2月19日
JVM系统优化实践(1):JVM概览
摘要:
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 这是多年之前做过的学习笔记,今天再翻出来,觉得仍然是记忆犹新。「独乐乐不如众乐乐」,就拿出来分享给「众乐乐」吧。 目前大多数Java工程师都面临一个共同的问题:对JVM的了解非常贫乏,尤其是对实际生产环境中的优化几乎就是完全没有任何经验。加上J
阅读全文
posted @ 2023-02-19 23:03 湘王
阅读(27)
评论(0)
推荐(0)
编辑
2023年2月17日
自命为缓存之王的Caffeine(6)
摘要:
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 之前用Caffeine替代Redis的时候,发现先保存KV,再获取key,过期时间为3秒。但即使过了3秒,还是能获取到保存的数据。这是为什么呢?因为之前在整合SpringBoot时,使用的是注解方式,在配置文件中已经定死了Caffeine的过期
阅读全文
posted @ 2023-02-17 22:10 湘王
阅读(92)
评论(0)
推荐(0)
编辑
2023年2月15日
自命为缓存之王的Caffeine(5)
摘要:
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 普通的缓存和Token的区别在于时效性和持久性。如果用Redis实现Token的话,可以: 1、设置redis kv键值对的过期时间(秒数/毫秒数); 2、redis内部实现计时,无需代码干预,且有持久化; 3、kv超过指定过期时间即被自动删除
阅读全文
posted @ 2023-02-15 21:32 湘王
阅读(81)
评论(0)
推荐(0)
编辑
2023年2月13日
自命为缓存之王的Caffeine(4)
摘要:
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 说了很多Caffeine的基本特性,但是骡子是马,终归还是要看能不能拉磨。SpringBoot有两种使用Caffeine的方式: 1、直接引入Caffeine依赖,然后使用Caffeine方法实现缓存; 2、引入Caffeine和Spring
阅读全文
posted @ 2023-02-13 17:41 湘王
阅读(44)
评论(0)
推荐(0)
编辑
2023年2月11日
自命为缓存之王的Caffeine(3)
摘要:
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 缓存的存储空间是远远小于磁盘的。所以对于有些过期的数据,就需要定期进行清理,腾出存储空间。Caffeine又是怎么做的呢? Caffeine和进程外缓存Redis一样,也有主动失效和被动失效。主动失效就是数据过期后由淘汰算法自动清除,被动失效就
阅读全文
posted @ 2023-02-11 22:53 湘王
阅读(120)
评论(0)
推荐(0)
编辑
2023年2月9日
自命为缓存之王的Caffeine(2)
摘要:
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 缓存除了过期策略,其实还有刷新和填充策略。刷新策略就是当数值变化时怎么处理,而所谓填充策略,就是将数据保存到缓存的方式。 Caffeine提供了三种刷新方法: 1、基于类Caffeine的refreshAfterWrite(time, dura
阅读全文
posted @ 2023-02-09 18:42 湘王
阅读(138)
评论(0)
推荐(0)
编辑
下一页
公告
昵称:
湘王
园龄:
2年5个月
粉丝:
11
关注:
0
+加关注
<
2025年3月
>
日
一
二
三
四
五
六
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
我的标签
Java
(71)
多线程
(12)
Spring Security
(8)
RBAC
(8)
缓存
(8)
Nginx
(6)
Google Guava
(6)
Caffeine
(6)
信息技术
(6)
JVM
(5)
更多
随笔分类
管理(1)
技术(76)
随笔档案
2023年2月(14)
2023年1月(14)
2022年12月(8)
2022年11月(19)
2022年10月(32)
2022年9月(13)
阅读排行榜
1. Java新特性(2):Java 10以后(741)
2. Java注解(3):一个真实的Elasticsearch案例(543)
3. Java注解(4):一个真实的Elasticsearch案例(534)
4. Java多线程(4):ThreadLocal(487)
5. Java多线程(5):CAS(452)
评论排行榜
1. KTV和泛型(1)(4)
2. Java反应式编程(1)(3)
3. Spring Security(3)(2)
4. Spring Security(2)(2)
5. Java多线程(7):JUC(上)(2)
推荐排行榜
1. Java新特性(2):Java 10以后(2)
2. Java多线程(5):CAS(2)
3. Java I/O(1):模型与流(2)
4. 自定义RBAC(4)(1)
5. Spring Security(7)(1)
最新评论
1. Re:Java反应式编程(1)
响应式
和反应式一样的
--9icnet
2. Re:Spring Security(3)
@checkman 非常感谢你指出来的问题。 你说的很对,确实是被废弃了。我找了下,已经有相关的文章解决了这个问题: 我想说的是:不管是WebSecurityConfigurerAdapter还是新的...
--湘王
3. Re:Spring Security(3)
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter{} WebSecurityConfigurerAd...
--checkman
4. Re:Spring Security(2)
@Mingdd 因为都是比较常规的实体类Getter/Setter方法和Service类的CRUD方法,所以就没做注释。因为这种基础技术做注释意义不大,主要是要搞清楚业务方法...
--湘王
5. Re:Spring Security(2)
这代码没有注解,理解起来比较费劲
--Mingdd
点击右上角即可分享