首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java
订阅
soojoe
更多收藏集
微信扫码分享
微信
新浪微博
QQ
16篇文章 · 0订阅
JAVA多线程使用场景和注意事项
我曾经对自己的小弟说,如果你实在搞不清楚什么时候用HashMap,什么时候用ConcurrentHashMap,那么就用后者,你的代码bug会很少。 编程不是炫技。大多数情况下,怎么把代码写简单,才是能力。 多线程生来就是复杂的,也是容易出错的。一些难以理解的概念,要规避。本文…
深入剖析Java即时编译器(下)
本文会介绍分层编译的机制,然后介绍即时编译器对应用启动性能的影响。 本文内容基于HotSpot虚拟机,设计Java版本的地方会在文中说明。 在引入分层编译之前,我们需要手动的选择编译器。对于启动性能有要求的短时运行程序,我们会选择C1编译器,对应参数-client,对于长时间运…
JAVA中锁的深入理解与解析
如果想要透彻的理解java锁的来龙去脉,需要先了解以下基础知识。 锁从宏观上分类,分为悲观锁与乐观锁。 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采…
你会这道阿里多线程面试题吗?
在前几天,群里有个群友问了我一道面试阿里的时候遇到的多线程题目,这个题目比较有意思,在这里和大家分享一下。 这两个题目看起来相似,第二个题目稍微来说比较简单一点,大家可以先思考一下两个线程奇偶数如何打印。 有一些人这里可能会用讨巧的,用一个线程进行循环,在每次循环里面都会做是奇…
再有人问你分布式事务,把这篇扔给他
不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一…
Java 200+ 面试题补充② Netty 模块
本文是前文《Java 最常见的 200+ 面试题》的第二个补充模块,第一模块为:《Java 200+ 面试题补充 ThreadLocal 模块》。 Netty 是一款基于 NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,对比于 BIO(Blocking …
Java 200+ 面试题补充 ThreadLocal 模块
本文是前文《Java 最常见的 200+ 面试题》的第一个补充模块。 ThreadLocal 是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,适用于各个线程不共享变量值的操作。 …
深入理解 Java 异常
Throwable 是 Java 语言中所有错误(Error)和异常(Exception)的超类。 Throwable 包含了其线程创建时线程执行堆栈的快照,它提供了 printStackTrace() 等接口用于获取堆栈跟踪数据等信息。 fillInStackTrace - …
一文吃透JVM分代回收机制(以SerialGC为例)
Java GC发展至今,已经推出了好几代收集器,包括Serial、ParNew、Parallel、CMS、G1以及Java11中最新的ZGC。每一代GC都对前一代存在的问题做出了很大的改善。 今天介绍一个古董收集器-Serial串行GC。 虽然此收集器的使用场景已经不多,但本文…
阿里面试题BIO和NIO数量问题附答案和代码
答案: 因为传统的 IO 也就是 BIO 是同步线程堵塞的,所以每个连接都要分配一个专用线程来处理请求,这样 10 个连接就会创建 10 个线程去处理。而 NIO 是一种同步非阻塞的 I/O 模型,它的核心技术是多路复用,可以使用一个链接上的不同通道来处理不同的请求,所以即使有…