首页
首页
沸点
课程
直播
活动
竞赛
商城
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的结果集…