首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java
订阅
_我是一座离岛
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
「总结篇」别再说自己不会JVM了,看完这篇能和面试官扯上半小时(上)
一个能够运行字节码的虚拟机。 屏蔽了具体的操作系统的信息。 正是以上两点,使得Java程序具有一次编译,到处执行的特性。 从上面的图中,有两种颜色不同的区域,红色的是线程共享区域,绿色的是线程私有区域。下面我们一个一个讲清楚,不过在学习这部分的时候,最好先思考为什么会有这些区域…
ThreadPoolExecutor是怎么去执行一个任务的?
前面一遍文章 我们看了下FutureTask的源码,知道了怎么样去获取一个任务的返回值,今天我们看下ThreadPoolExecutor。 ThreadPoolExecutor 看名词 我们就可以 看做是ThreadPool 和Executor的结合,大概意思我们也能知道就是线…
数据库密码配置项都不加密?心也太大了吧!
这是节选自某个典型的Spring Boot项目的application.properties配置文件。 这乍一看没啥问题,很多人会觉得理所当然。包括我自己也看到过很多的项目(包括很多开源项目)是这么写的。 这个嘛,之前倒是看到过一个例子,一个程序员把自己公司的项目代码上传到了自…
手把手教你定位常见Java性能问题
性能优化一向是后端服务优化的重点,但是线上性能故障问题不是经常出现,或者受限于业务产品,根本就没办法出现性能问题,包括笔者自己遇到的性能问题也不多,所以为了提前储备知识,当出现问题的时候不会手忙脚乱,我们本篇文章来模拟下常见的几个Java性能故障,来学习怎么去分析和定位。 既然…
9个小技巧让你的 if else看起来更优雅
我们本文提供了 9 种方法来解决掉那些“烦人”的 if else,一起来看吧。 我们使用 return 去掉多余的 else,实现代码如下。 这样看起来就会舒服很多,虽然相差只有一行代码,但真正的高手和普通人之间的差距就是从这一行行代码中体现出来的。 「勿以善小而不为,勿以恶小…
你必须会的 JDK 动态代理和 CGLIB 动态代理
我们在阅读一些 Java 框架的源码时,基本上常会看到使用动态代理机制,它可以无感的对既有代码进行方法的增强,使得代码拥有更好的拓展性。 通过从静态代理、JDK 动态代理、CGLIB 动态代理来进行本文的分析。 静态代理就是在程序运行之前,代理类字节码.class就已编译好,通…
一道Java面试题引发的思考
这两天做了一道常见的Java面试题,毫无悬念的做错了,在运行出正确答案之后,发现以自己的知识储备竟然无法完整的解释为什么,十分惭愧,于是有了这篇文章,对其进行总结反思。 后面两个还能理解,形参、实参、值传递、引用传递啥的一混合,还能说得过去,可是第一个为什么是hello呢,st…
被大厂面试官连环炮轰炸的ThreadLocal (吃透源码的每一个细节和设计原理)
ThreadLocal 是面试过程中非常高频的一个类,这类的复杂程度绝对是可以带出一系列连环炮的面试轰炸。biu biu biu ~~~~. 一直觉得自己对这个类很了解了,但是直到去看源码,接二连三的技术浮出水面(弱引用,避免内存溢出的操作,开放地址法解决hash 冲突,各种内…
漫画:如何证明sleep不释放锁,而wait释放锁?
从上述代码可以看出,我们给 wait() 和 notify() 两个方法上了同一把锁(locker),但在调用完 wait() 方法之后 locker 锁就被释放了,所以程序才能正常执行 notify() 的代码,因为是同一把锁,如果不释放锁的话,是不会执行 notify() …