首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java知识点
订阅
FZLL
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
JAVA之锁机制实现原理(简化版)
在HopSpot虚拟机中,对象在内存存储中分为3部分:对象头(Header)、实例数据(Instance Data) 和 对齐填充(Padding)。 在无多线程竞争锁的情况下,为了让同一线程获得锁的代价更低而引入了偏向锁。 (1) 访问Mark Word中偏向锁的标识是否设置…
【肥朝】从JDK中,我们能学到哪些设计模式?
肥朝小声逼逼:在我们业务代码中经常有新旧接口适配需求,可以采用该模式。 肥朝小声逼逼:这个模式,其实我们每天都在用到,但是你可能却浑然不知。只要你用到面向接口编程,其实都是在用桥接模式。 肥朝小声逼逼:从上面那句英文我们就可以得知,组合模式常用于递归操作的优化上,比如每个公司都…
【面试】吃透了这些Redis知识点,面试官一定觉得你很NB
很多文章都会说,redis支持5种常用的数据类型,这其实是存在很大的歧义。redis里存的都是二进制数据,其实就是字节数组(byte[]),这些字节数据是没有数据类型的,只有把它们按照合理的格式解码后,可以变成一个字符串,整数或对象,此时才具有数据类型。 这一点必须要记住。所以…
**超详细的**10种排序算法原理及 JS 实现
本文介绍了常见的 10 种排序算法的原理、基本实现和常见的优化实现,并有(个人认为)足够详细的代码注释。 实在是居家工作,面试笔试必备良药。 这里只给出基于其原理的一般实现,很多算法都有逻辑更复杂的或代码量更少的精简版,像遍历的改成递归的,两个函数实现的改成一个函数等等,就不再…
看动画轻松理解「递归」与「动态规划」
在学习「数据结构和算法」的过程中,因为人习惯了平铺直叙的思维方式,所以「递归」与「动态规划」这种带循环概念(绕来绕去)的往往是相对比较难以理解的两个抽象知识点。 程序员小吴打算使用动画的形式来帮助理解「递归」,然后通过「递归」的概念延伸至理解「动态规划」算法思想。 先下定义:递…
如何优化代码中大量的if/else,switch/case?
这里我们简单的定义一个表示状态的枚举。 那么我们在使用的时候就可以直接通过枚举调用了。 这时候该掏出Optional这个秘密武器了,它可以让非空校验更加优雅,间接的减少if操作。没了解过Optional的同学可自行Google,这里就不再赘述。 上面的代码跟第一段是等效的,通过…
阿里面试题:Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的?
如果你看过笔者关于Mybatis源码分析的往期博文,相信你肯定可以给出一个不错的答案。 但鉴于系列文章篇幅较大,而且重点是源码部分的解读,所以笔者想再针对这个问题,再梳理下整个流程。 本文配合下列文章,食用更佳。 首先,Mybatis在初始化SqlSessionFactoryB…
金三银四面试季—20道精选JVM重点面试问题!
JVM 是小白 Java 程序员成长路上的一道坎也是很多工作2到3年程序员的一个重点面试问题之一,学习JVM之前,只需要知道代码编译成 Class,虚拟机加载 Class 运行就可以了,学习 JVM 之后,可以深入理解代码从编译到加载的过程、内存中对象的创建与垃圾回收、日常开发…
Java并发编程-并发编程的Bug源头:可见性、原子性和有序性问题
学习极客时间上的《Java并发编程实战》课程之余,结合自己的理解整理一部分笔记以巩固知识。 1.硬件设备发展的核心矛盾:CPU、内存、I/O设备三者间存在的速度差异。根据木桶原理,程序整体性能最终受制于速度最慢的I/O设备。 (3)编译程序优化指令执行顺序,使得缓存能够得到更加…
为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
但是手册中并没有给出具体原因,本文就来深入分析一下该规定背后的思考。 Foreach循环(Foreach loop)是计算机编程语言中的一种控制流程语句,通常用来循环遍历数组或集合中的元素。 Java语言从JDK 1.5.0开始引入foreach循环。在遍历数组、集合方面,fo…