首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JAVA基础
订阅
一只空梦呀
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
来看看面试必问的HashMap,一次彻底帮你搞定HashMap源码
链表大于8转红黑树,红黑树节点数小于6退回链表。 代码中多处都可以看到这条代码,实际上这条语句只是做了一个取余(%)的动作。一个&怎么做的取余的操作: 任何数&2^n-1(01111…)其结果都是去0xxxx,做了快速取余的操作。后续会看到该条语句频繁出现 …
JVM 内存结构-2万字长文包教包会
内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行。不同的 JVM 对于内存的划分方式和管理机制存在着部分差异。 下图是 JV…
「总结篇」别再说自己不会JVM了,看完这篇能和面试官扯上半小时(上)
一个能够运行字节码的虚拟机。 屏蔽了具体的操作系统的信息。 正是以上两点,使得Java程序具有一次编译,到处执行的特性。 从上面的图中,有两种颜色不同的区域,红色的是线程共享区域,绿色的是线程私有区域。下面我们一个一个讲清楚,不过在学习这部分的时候,最好先思考为什么会有这些区域…
JUC多线程及高并发
单线程环境里面确保程序最终执行结果和代码顺序执行的结果一致。 由于编译器和处理器都能执行指令重排优化。如果在指令前插入一条Memory Barrier,则会告诉编译器和CPU,不管什么指令都不能和这条Memory Barrier指令重排顺序,也就是说通过插入内存屏障禁止在内存屏…
《我们一起进大厂》系列- Redis基础
心里忍不住暗骂,这叫啥问题,大家不都是用的这个嘛,但是你不能说出来。 认真回答道:帅气迷人的面试官您好,因为传统的关系型数据库如Mysql已经不能适用所有的场景了,比如秒杀的库存扣减,APP首页的访问流量高峰等等,都很容易把数据库打崩,所以引入了缓存中间件,目前市面上比较常用的…
《提升能力,涨薪可待》-ThreadLocal的内存泄露的原因分析以及如何避免
... 在分析ThreadLocal导致的内存泄露前,需要普及了解一下内存泄露、强引用与弱引用以及GC回收机制,这样才能更好的分析为什么ThreadLocal会导致内存泄露呢?更重要的是知道该如何避免这样情况发生,增强系统的健壮性。 广义并通俗的说,就是:不再会被使用的对象或者…
写给大忙人看的进程和线程
我们平常说的进程和线程更多的是基于编程语言的角度来说的,那么你真的了解什么是线程和进程吗?那么我们就从操作系统的角度来了解一下什么是进程和线程。 操作系统中最核心的概念就是 进程,进程是对正在运行中的程序的一个抽象。操作系统的其他所有内容都是围绕着进程展开的。进程是操作系统提供…
Java程序员必备基础图
最近看了深入理解Java虚拟机第三版,整理了一些基础结构图,算是比较全的了,做一下笔记,大家一起学习。 JVM内存结构是Java程序员必须掌握的基础。 它是线程私有的。 线程私有的,生命周期与线程相同。 每个方法被执行的时候都会创建一个"栈帧",用于存储局部变量表(包括参数)、…
一文详解微服务架构
本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。要理解微服务,首先要先理解不是微服务
万字总结之反射(框架之魂)
准备过年看下Spring源码,用来唬人,哈哈哈哈。正经点,是为了在遇到问题的时候,能知其然而知其所以然。但是在开始前,先恶补下基础知识。今天看框架之魂——反射。 反射是在编译状态,对某个类一无所知 ,但在运行状态中,对于任意一个类,都能知道这个类的所有属性和方法。 这个说太干涩…