- 博客(15)
- 收藏
- 关注
原创 强软弱虚(引用)GC那点事
概述上一篇咱们讲到ThreadLocal的一些原理和使用,其中比较重要的就是涉及到它的一些内存泄漏,针对内存泄漏,ThreadLocal是怎么维护和处理的(通过让ThreadLocalMap的key套上弱引用),以及我们是怎么处理的,及时调用 remove 方法。那么今天来详细说说强软弱虚这四个引用方式以及GC是背后是怎么处理的。强引用普通的应用类型,只要有引用指针,GC不会回收 ,例如:Student student = new Student,想要让GC检测并回收此对象,你需要让它引用Nul
2020-11-30 11:19:34 381 2
原创 BigDecimal详解
BigDecimal详解引言float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。 @Test public void test1(){ /* 0.30000000000000004 0.19
2020-11-23 21:36:35 614 1
原创 缓存穿透及布隆算法
缓存穿透、缓存击穿、缓存雪崩引言大概介绍一下什么是缓存穿透、缓存击穿以及布隆过滤器相关功能和算法看下面一张图:客户端发送请求到服务器,然后最终访问数据库这是一个简单的流程,但为了能够节省资源,避免频繁连接和关闭,我们在服务器和数据库之间建立个数据源,其实它就是个池子一样的东西,需要的话我们去池子里面拿,不需要或者用完了就放进去,中间节省了连接和关闭的时间。但是这远远不够~~~数据量一大我们得做一些其他措施,如分库分表、主从复制、读写分离等,或者是mysql集群再来个中间件也未
2020-09-07 18:33:54 329
原创 MapStruct快速入门
MapStruct快速入门前言随着软件架构分层越来越多,那么各个层次之间的数据模型就要面临着相互转换的问题,典型的就是我们可以在代码中见到各种O,如DO、DTO、VO等。如在数据存储层,我们使用DO来抽象一个业务实体;在业务逻辑层,我们使用DTO来表示数据传输对象;到了展示层,我们又把对象封装成VO来与前端进行交互。先来看一张图想必大家伙原来都写过类似格式的代码,额···看着就不说了,冗长而繁琐,于是MapStruct这一类框架应运而生 包括:Spring BeanUtilsCglib
2020-09-01 13:11:41 539
原创 IDEA2020.1同步系统设置到GitHub
IDEA2020.1 同步系统设置到GitHub最近用了IDEA2020.1,原来2018.2所有插件和快捷键设置都得从新配置,这不意外发现了新大陆,这样一来就省很多时间了IDEA2020.1 默认有两个绑定插件 IDE Settings Sync 和 Settings Repository,这里特别要说下,两个插件只取其一,我用的是repository ,同步到了github仓库详情可以看官网怎么说的:IDEA2020.1设置同步首先还是在GitHub上创建一个仓库,我这建立的是私有
2020-05-22 13:22:27 1047
原创 VSCode配置 GitHub的Gist 同步设置和插件信息
VSCode配置 GitHub的Gist 同步设置和插件信息第一步:配置GitHub 个人密钥我这里已经创建好了记住你的密钥,可以记录在txt文本中第二步:VSCode下载 Settings Sync 插件这个时候有个大的Settings Sync页面,你点击那个登录GitHub按钮登录完之后,那个Token会自动加入进去最后我们 Alt + Shift + U , 就可上传到gist了 ,也可以 Ctrl + Shift + A 输入 > Sync它
2020-05-21 19:56:08 2371
原创 两大利器Typora和PicGo的配合使用:直接起飞!
这个东西解决了以往typora写博客时图片地址为本地,手机查看或者同步到网易云笔记的时候图片无法显示的问题,把图片上传到远程服务器存储就可以完美解决这个问题,头一次配置花了我将近半天时间,说起来都是泪,本篇使用gitee码云作为图片云存储话不多说直接按照步骤走下载typora最新版此软件用于撰写markdown文档,新版本支持图片粘贴图片功能链接:https://pan.baidu....
2020-05-06 16:20:49 1898 4
原创 nacos 负载均衡(迈出你的第一jio)
搭建一个nacos负载均衡的demo 从provider 和 consumer做起使用IDEA创建springboot项目 provider依赖 <properties> <java.version>1.8</java.version> <spring-cloud-alibaba.version>2.2....
2020-04-14 01:49:57 762
原创 springboot解决跨域请求
感觉跨域这个东西用的时候记不住,就记了下来方便cv方案一@Configurationpublic class GlobalCorsConfig { /** * 允许跨域调用的过滤器 */ @Bean public CorsFilter corsFilter() { CorsConfiguration config = new ...
2020-03-25 18:17:23 303
原创 java系列【HashMap让你起飞的一篇】(面试必问)
文章目录前言集合体系listArrayListLinkedListVectorsetHashSet为什么HashSet不能重复LinkedHashSetTreeSetmapHashMap的工作原理HashMap和HashTable有哪些区别线程安全key是否为空hashcode 和 equals的区别基于LinkeList实现HashMap如何解决HashCode Index冲突问题HashMap...
2020-02-28 16:58:05 1875
原创 mysql系列【mysql优化完结篇】(面试必问)
hello,大家好!博主上篇内容【mysql索引优化】 也是mysql优化的一部分,因为所以这一块相对来说内容比较多,所以单独抽取出来;大家都知道mysql优化是面试中的常客,也是重头戏,希望这篇内容能给到大家帮助
2020-02-24 16:47:36 2022
原创 mysql系列【你不知道的索引优化】(面试必问)
前言:相信大家面试的时候肯定被问过这个问题,但很多都是因为不够深入,或者了解片面而导致好的机会和你失之交臂,其实这个问题答得好是非常加分的,好了不多说了开始…让索引效率更高:这其中就涉及到索引的选择性了,索引的选择性是指索引列中不同值的数目与表中记录数的比。如果一个表中有2000条记录,表索引列有1980个不同的值,那么这个索引的选择性就是1980/2000=0.99。一个索引的选择性越接近于1,这个索引的效率就越高
2020-02-23 21:42:14 3091 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人