首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java
订阅
已注销
更多收藏集
微信扫码分享
微信
新浪微博
QQ
29篇文章 · 0订阅
HashMap的死循环-HashMap Infinite Loop
从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get(…
Java集合与泛型中的几个陷阱,你掉进了几个?
下面我总结了集合、泛型、数组转集合等一些常见的陷进,认真看完,相信你绝对有所收获。 说实话,我敢保证很多人是不知道 List, List<?> 与 List<Object> 之间的区别的。 这两种定义方法是一模一样的,然而他们是不一样的。看下面一段代码 是有区别的,List 变…
java序列化,看这篇就够了
意义:序列化机制允许将实现序列化的Java对象转换位字节序列,这些字节序列可以保存在磁盘上,或通过网络传输,以达到以后恢复成原来的对象。序列化机制使得对象可以脱离程序的运行而独立存在。 使用场景:所有可在网络上传输的对象都必须是可序列化的,比如RMI(remote method…
深入剖析Java重入锁ReentrantLock的实现原理
Pepper Metrics是我与同事开发的一个开源工具(https://github.com/zrbcool/pepper-metrics),其通过收集jedis/mybatis/httpservlet/dubbo/motan的运行性能统计,并暴露成prometheus等主流…
线程池没你想的那么简单
原以为线程池还挺简单的(平时常用,也分析过原理),这次是想自己动手写一个线程池来更加深入的了解它;但在动手写的过程中落地到细节时发现并没想的那么容易。结合源码对比后确实不得不佩服 Doug Lea 。 我觉得大部分人直接去看 java.util.concurrent.Threa…
阿里一面:关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决方案
正好这位同学面试前学习了笔者之前出的一套Java面试突击教程,里面就涉及到了关于缓存的一些问题。 这篇文章,是这位同学对自己阿里一面的总结,大家可以参考一下,同时也感谢乔二爷同学的分享。 昨天晚上接到阿里的电面电话,过程中就问到了关于缓存相关的问题。 虽然以前接触过,多多少少了…
MySQL底层架构大揭秘,远不止写SQL那么简单!
在MySQL的学习研究中,存在两个非常容易混淆的概念,即数据库和数据库实例。 数据库实例:操作数据库的集合。 从操作系统的角度,数据库实例表现为一个进程,对应多个线程. 在非集群数据库架构中,数据库与数据库实例存在一 一对应关系,在数据库集群中,可能存在多个数据库实例操作一个数…
@Transactional回滚问题(try catch、嵌套)
根据排列组合原理,我们进行四种测试:1、无try catch、无嵌套;2、有try catch、无嵌套;3、无try catch、有嵌套;4、都有。 如果事务内报了RuntimeException错误,事务可以回滚。 如果事务内报了Exception错误(非RuntimeExc…
面试官:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?”
hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个散列码的作用是确定该对象在散列表中的索引位置,如果有看我的上一篇文章 什么是散列表,那么这里的散列码就相当于上文中根据首字母查询散列表例子中 人名关键字k在散列表中的具体地址。hashCo…
面试最让你手足无措的一个问题:你的系统如何支撑高并发?【石杉的架构笔记】
大多数同学被问到这个问题压根儿没什么思路去回答,不知道从什么地方说起,其实本质就是没经历过一些真正有高并发系统的锤炼罢了。 因为没有过相关的项目经历,所以就没法从真实的自身体会和经验中提炼出一套回答,然后系统的阐述出来自己复杂过的系统如何支撑高并发的。 所以,这篇文章就从这个角…