秦怀杂货店

纵然缓慢,驰而不息。

  • 微信公众号
  • 👏 欢迎来到秦怀杂货店~

    Discovery

    Java学习之路 -- Java怎么学?

    @[toc]java基础怎么学?当时,作为懵懂的小白,大一学习了c和c++,还有数据结构,后来才自学的java。有了c++的基础,其实学java确实感觉挺容易上手。如果没有c或者c++的基础,建议开始需要先把java的基础打好,基础是指什么?基础的语法,能用!至于源码,不建议在刚刚开始学就看源码,绝

    【实战问题】-- 缓存穿透之布隆过滤器(1)

    前面我们提到,在防止缓存穿透的情况(缓存穿透是指,缓存和数据库都没有的数据,被大量请求,比如订单号不可能为-1,但是用户请求了大量订单号为-1的数据,由于数据不存在,缓存就也不会存在该数据,所有的请求都会直接穿透到数据库。),我们可以考虑使用布隆过滤器,来过滤掉绝对不存于集合中的元素。布隆过滤器是什

    java集合【12】——— ArrayList,LinkedList,Vector的相同点与区别是什么?

    特性列举底层存储结构不同线程安全性不同默认的大小不同扩容机制迭代器增删改查的效率总结一下要想回答这个问题,可以先把各种都讲特性,然后再从底层存储结构,线程安全,默认大小,扩容机制,迭代器,增删改查效率这几个方向入手。特性列举ArrayList:动态数组,使用的时候,只需要操作即可,内部已经实现扩容机

    【实战问题】-- 缓存穿透,缓存击穿和缓存雪崩的区别以及解决方案

    平时我们使用缓存的方案,一般是在数据库中存储一份,在缓存中同步存储一份。当请求过来的视乎,可以先从缓存中取数据,如果有数据,直接返回缓存中的结果。如果缓存中没有数据,那么去数据库中取出数据,同时更新到缓存中,返回结果。如果数据库中也没有数据,可以直接返回空。关于缓存,一般会有以下几个常见的问题缓存穿

    【实战问题】-- 并发的时候分布式锁setnx细节

    前面讲解到实战问题】--设计礼品领取的架构设计以及多次领取现象解决?,如果出现网络延迟的情况下,多个请求阻塞,那么恶意攻击就可以全部请求领取接口成功,而针对这种做法,我们使用setnx来解决,确保只有一个请求可以进入接口请求。publicStringreceiveGitf(intactivityId

    JVM笔记 -- 来,教你类加载子系统

    类加载子系统类文件首先需要经过类加载子系统,进行加载,进类信息等加载到运行时数据区,生成Klass的实例。在类加载子系统中有以下3个阶段操作(广义上的加载):加载阶段BootstrapClassLoader:引导类加载器,主要加载JDK里面的核心类ExtensionClassLoader:拓展类加载

    JVM笔记--如果你写JVM,最需要考虑的重要结构是什么?

    开局一张图,前面已经从每一部分解析过JVM的内存结构了,现在按照顺序来分析:整体上来看:类文件从类加载子系统,加载完成之后,主要存放在方法区(JRockit和H9没有方法区,这里指的是HotSpot)。运行时的数据主要是存放在运行时数据区,代码的解释编译优化以及垃圾收集,都是在执行引擎中。本地方法是

    JVM笔记 -- JVM经历了什么?

    SunClassicVM世界上第一款商用Java虚拟机,JDK1.4已经淘汰。内部只有解释器,可以自己外挂JIT编译器,但是二者只能使用其一,不能配合工作。hotspot内置了该虚拟机。解释器,需要逐行解释执行,效率低下。譬如:如果循环两千次,循环体很大,每次执行都需要解释执行。JIT编译器,除了可

    JVM笔记 -- JVM的生命周期介绍

    Github仓库地址:https://github.com/Damaer/JvmNote 文档地址:https://damaer.github.io/JvmNote/JVM生命周期启动执行退出启动Java虚拟机的启动时通过引导加载器(bootstrapclassloader)创建一个初始类(init

    秦怀杂货店

    切换主题 | SCHEME TOOL