自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 因Redis使用不当产生的性能问题

因Redis使用不当产生的性能问题背景场景问题出现问题分析背景项目原本使用的缓存框架为EhCache,EhCache主要是基于服务器内存和磁盘进行缓存,同时也提供了相应的集群方案。我们用的是单点方案,不是集群方案。最近切换成了Redis,集成了spring-data-redis,借助原有Spring的@Cacheable注解,就可以直接切过去了。场景项目里的缓存对象主要是一些稳定的且常用的商品对照信息,例如:接口返回的结果是商品编号,项目需要根据编号进行商品名称的转换(以下称为码表转换)。而映射关系

2020-06-23 09:42:00 193

原创 Synchronized与Lock的区别 总结

面试官问:Synchronized与Lock的有什么区别?表层区别:他们都可以解决线程同步的问题,synchronized是关键字,Lock是JUC下的接口。实现方式:synchronized可以锁类、锁对象、锁方法,是JVM级别的,比如锁对象的情况,对象头上会有锁标志,以及等待执行的线程队列。Lock是用户态的,比如ReentrantLock、ReentrantReadWriteLock是通过AQS,基于信号量以及CAS实现的,性能相对较高。在JDK6之前,synchronized被.

2020-06-17 19:34:47 354

原创 翻译-JVM Run-Time Data Areas

原文:https://docs.oracle.com/javase/specs/jvms/se14/html/jvms-2.html#jvms-2.5.3JVM 运行时数据区在程序的运行过程中,JVM定义了多种运行时数据区。其中一些数据区随着JVM启动而创建,同时也随着JVM的退出而销毁(这部分就是线程共享的区域)。另外一区数据区是线程私有的,它随着线程的创建而创建,并当线程退出的时候而销毁。程序计数器(The pc Register)JVM能支持许多线程同时执行。每个虚拟机线程都有它自己的程序计数

2020-06-17 17:16:18 193

原创 (一)JVM运行时数据区总结

引言我们知道,JAVA的平台无关性离不开JVM,使得JAVA代码与计算机硬件和 操作系统解耦。关于JVM,贯穿了JAVA编译、执行、优化等方方面面,今天,我们先来看看JVM有哪些区域组成。运行时数据区背一下:堆、栈(虚拟机栈、本地方法栈)、程序计数器、方法区(包含常量池)。除此之外还有本地方法接口和方法库,让方法跑起来的执行引擎。这些都是干嘛的,怎么运作的?堆:存对象用的,我们new出来的对象存在这里,占据虚拟机内存的半壁江山。在jdk7之后,字符串的常量池也被移到堆中(其他常量池还在方法区)。

2020-06-15 21:33:16 201

原创 IDEA将已经提交的代码,再提交到另一个分支

场景:已经提交了代码,但在此之前又拉了相同的分支,需要再提交一份将同一份修改提交到两个分支实现方案:1.Version Control -> Repository 找到提交记录-> 右键create Patch,将patch文件保存在本地2.切换另一个分支3.导入patch文件 VCS->Apply patch,选中刚才的patch文件,导入即可,接下来你应该会了。ADDTION:Local Changes中也可以将未提交的代码备份成patch文件...

2020-06-02 16:40:42 9536

小熊造报文(适用于模拟报文的循环制作)

小熊造报文(适用于模拟报文的循环制作),使用说明请访问博客:https://mp.csdn.net/console/editor/html/106395766

2020-05-28

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

TA关注的人

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