许文豪
许文豪
全部文章
分类
java基础(12)
Java集合(12)
JVM(6)
Mybatis(24)
springboot(1)
分布式(3)
实战问题与架构设计(2)
并发与多线程(1)
思考(2)
数据库(5)
未归档(1)
架构与高并发(3)
环境折腾(6)
算法与数据结构(2)
设计模式(14)
面试题(2)
归档
标签
去牛客网
登录
/
注册
秦怀杂货店
纵使缓慢,驰而不息。
TA的专栏
96篇文章
0人订阅
秦怀杂货店
96篇文章
743人学习
全部文章
(共96篇)
【实战问题】-- 缓存穿透之布隆过滤器(1)
来自专栏
前面我们提到,在防止缓存穿透的情况(缓存穿透是指,缓存和数据库都没有的数据,被大量请求,比如订单号不可能为-1,但是用户请求了大量订单号为-1的数据,由于数据不存在,缓存就也不会存在该数据,所有的请求都会直接穿透到数据库。),我们可以考虑使用布隆过滤器,来过滤掉绝对不存于集合中的元素。 布隆过滤器是...
架构设计
2021-03-27
0
286
java集合【12】——— ArrayList,LinkedList,Vector的相同点与区别是什么?
来自专栏
[TOC]要想回答这个问题,可以先把各种都讲特性,然后再从底层存储结构,线程安全,默认大小,扩容机制,迭代器,增删改查效率这几个方向入手。 特性列举 ArrayList:动态数组,使用的时候,只需要操作即可,内部已经实现扩容机制。 线程不安全 有顺序,会按照添加进去的顺序排好 基于数组实现,随机...
Java集合
2021-03-26
0
391
从解决Github TimeOut到经典面试题:从输入URL到浏览器显示页面发生了什么?
来自专栏
问题描述 在Windows 操作系统上,push代码到git的时候,出现了Failed to connect to github.com port 443: Timed out的错误。一脸懵逼,浏览器网页也访问不了。 思路以及解决方案一开始,我以为自己代理网络出现了问题,关掉之后,还是一样的问题。首...
环境折腾
2021-03-25
0
368
【实战问题】-- 缓存穿透,缓存击穿和缓存雪崩的区别以及解决方案
来自专栏
平时我们使用缓存的方案,一般是在数据库中存储一份,在缓存中同步存储一份。当请求过来的视乎,可以先从缓存中取数据,如果有数据,直接返回缓存中的结果。如果缓存中没有数据,那么去数据库中取出数据,同时更新到缓存中,返回结果。如果数据库中也没有数据,可以直接返回空。 关于缓存,一般会有以下几个常见的问题 缓...
架构设计
2021-03-22
0
373
【实战问题】-- 并发的时候分布式锁setnx细节
来自专栏
前面讲解到实战问题】-- 设计礼品领取的架构设计以及多次领取现象解决?,如果出现网络延迟的情况下,多个请求阻塞,那么恶意攻击就可以全部请求领取接口成功,而针对这种做法,我们使用setnx来解决,确保只有一个请求可以进入接口请求。 public String receiveGitf(int ...
架构设计
2021-03-19
0
356
【实战问题】-- 高并发架构设计以及超领现象解决?
来自专栏
现在 有一个场景,领取礼品,每个用户有次数限制,用户通过前端点击,调用了应用A的接口,里面调用了服务B,服务B里面去调用了服务C,注意服务C是其他部门的服务。服务C负责真正的发放礼品。(假设这个服务C我们是不可修改的,A,B是自己团队负责的,并且可能出现高并发的情况) 我们应该如何做这个次数限制呢...
架构设计
2021-03-18
0
382
JVM笔记 -- 来,教你类加载子系统
来自专栏
类加载子系统 类文件首先需要经过类加载子系统,进行加载,进类信息等加载到运行时数据区,生成Klass的实例。 在类加载子系统中有以下3个阶段操作(广义上的加载): 加载阶段 Bootstrap ClassLoader:引导类加载器,主要加载JDK里面的核心类 Extension ClassLoa...
JVM
2021-03-17
0
340
JVM笔记--如果你写JVM,最需要考虑的重要结构是什么?
来自专栏
开局一张图,前面已经从每一部分解析过JVM的内存结构了,现在按照顺序来分析: 整体上来看:类文件从类加载子系统,加载完成之后,主要存放在方法区(JRockit和H9没有方法区,这里指的是HotSpot)。运行时的数据主要是存放在运行时数据区,代码的解释编译优化以及垃圾收集,都是在执行引擎中。本地方法...
JVM
2021-03-16
0
425
JVM笔记 -- JVM经历了什么?
来自专栏
Sun Classic VM 世界上第一款商用 Java 虚拟机,JDK1.4 已经淘汰。 内部只有解释器,可以自己外挂JIT编译器,但是二者只能使用其一,不能配合工作。 hotspot 内置了该虚拟机。 解释器,需要逐行解释执行,效率低下。譬如:如果循环两千次,循环体很大,每次执行都需要解释执...
JVM
2021-03-11
0
405
JVM笔记 -- JVM的生命周期介绍
来自专栏
Github仓库地址:https://github.com/Damaer/JvmNote文档地址:https://damaer.github.io/JvmNote/ JVM生命周期 启动 执行 退出 启动 Java虚拟机的启动时通过引导加载器(bootstrap class loader)创建...
JVM
2021-03-09
1
411
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页