首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java
订阅
wxe
更多收藏集
微信扫码分享
微信
新浪微博
QQ
78篇文章 · 0订阅
不使用synchronized和lock,如何实现一个线程安全的单例?
瞬间收到了数百条回复。回答最多的是静态内部类和枚举。很好,这两种确实可以实现。 还有人回答的很简单:饿汉。很好,这个也是对的。 先解释清楚为什么说都是借助了ClassLoader。 从后往前说,先说两个饿汉,其实都是通过定义静态的成员变量,以保证instance可以在类初始化的…
Java JDK代理、CGLIB、AspectJ代理分析比较
前言什么是代理,在Design patterns In java这个本书中是这样描述的,简单的说就是为某个对象提供一个代理,以控制对这个对象的访问。在不修改源代码的基础上做方法增强,代理是一种设计模式,又简单的分为两种。静态代理:代理类和委托类在代码运行前关系就确…
线程安全的CopyOnWriteArrayList介绍
先写一段代码证明CopyOnWriteArrayList确实是线程安全的。 说明了CopyOnWriteArrayList并发多线程的环境下,仍然能很好的工作。 CopyOnWriteArrayList使用了一种叫写时复制的方法,当有新元素添加到CopyOnWriteArray…
netty 源码分析之拆包器的奥秘
netty 源码分析之拆包器,深入剖析了 netty 是如何支持各种数据包协议的原理
面试官最爱的volatile关键字
在Java相关的岗位面试中,很多面试官都喜欢考察面试者对Java并发的了解程度,而以volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,深入地话还可以考察JVM底层实现以及操作系统的相关知识。 1 . …
聊一聊 AOP :表现形式与基础概念
本系列分为 上、中、下三篇。上篇主要是介绍如果使用 AOP ,提供了demo和配置方式说明;中篇来对实现 AOP 的技术原理进行分析;下篇主要针对Spring中对于AOP的实现进行源码分析。 这个项目里面包含了下面几种 AOP 实现方式的所有代码,有兴趣的同学可以fork跑一下…
深入理解Java泛型
ArrayList就是个泛型类,我们通过设定不同的类型,可以往集合里面存储不同类型的数据类型(而且只能存储设定的数据类型,这是泛型的优势之一)。“泛型”简单的意思就是泛指的类型(参数化类型)。想象下这样的场景:如果我们现在要写一个容器类(支持数据增删查询的),我们写了支持Str…
常用的HashMap到底是个什么结构
HashMap 是最常用的容器之一,应该没什么疑问了。可你到底了解他吗?网上已经有很多文章来总结 HashMap 了,我来写这篇,主要是为了记录自己阅读之后的一点点小感悟,如若有错误的地方,请大家指正。下文分析基于 jdk1.8 。 HashMap 内部是一个 Node 类数组…
并发番@ThreadPoolExecutor一文通
备注:鉴于JDK文档的英文注释过多,因此笔者选择摘录部分笔者认为最重要的部分,其他内容会以中文注释展现 推荐:笔者建议读者结合 并发番@Synchronized一文通(1.8版) 理解 推荐:笔者建议读者结合 并发番@AbstractQueuedSynchronizer…
深入理解Mysql——锁、事务与并发控制
本文对锁、事务、并发控制做一个总结,看了网上很多文章,描述非常不准确。如有与您观点不一致,欢迎有理有据的拍砖! 每个连接都会在mysql服务端产生一个线程(内部通过线程池管理线程),比如一个select语句进入,mysql首先会在查询缓存中查找是否缓存了这个select的结果集…