自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 BeanFactory与FactoryBean的不同(FactoryBean作用)

一、背景 BeanFactory与FactoryBean名字相似,但是意义确大不相同,可以说基本没有关系。BeanFactory是一个工厂,负责创建bean、获取到bean,而FactoryBean只是一个bean。二、两者不同 本文主要通过FactoryBean的作用大家可以明白为什么不同。 FactoryBean相信大家都明白一个类(比如BeanA)如果实现了...

2019-08-24 18:48:23 284

原创 JDK动态代理详解-逐步解析

一、背景 目前常用的代理有静态代理与动态代理,静态代理的方式以继承、聚合方式,动态代理以JDK动态代理、Cglib代理为主,直接剖析JDK动态代理有些突兀,本文由简入繁,通过自己实现的代理方式解释代理方式的一个变化过程。最终与JDK动态代理源码对比,大家肯定就能明白JDK动态代理的设计者为什么这么做了。二、静态代理 本文的静态代理以聚合方式进行阐述,而本文给的例子以装饰者模...

2019-08-24 17:51:24 277

原创 Java硬件基础(三)-如何解决并发问题及volatile、synchronized等关键字实现

承接上文《处理器针对消息交互的性能优化及带来的并发问题》可知,处理器针对性能问题提供了写缓冲器、无效化队列以及存储转发等优化技术,但是这一系列技术引发了并发问题,如何解决这些问题是本文所讲述的重点。一、背景 写缓冲器、无效化队列、存储转发等优化技术可能引发重排序问题(重排序主要包括指令重排序、存储子系统重排序,本文主要针对存储系统重排序进行讲解),进而导致可见性、有序性、原子...

2019-07-07 22:42:40 145

原创 Java硬件基础(二)-处理器针对消息交互的性能优化及带来的并发问题

承接上文《高速缓存模型及MESI协议》可知,MESI协议解决了缓存一致性问题,即多个处理器的高速缓存之间的通信问题,本文将继续讲解目前针对该交互过程的优化以及带来的问题。一、背景 MESI协议虽然解决了缓存一致性问题,但是本身也存在一定的弱点,比如处理器在执行写操作时,当前处理器需要接收到其他处理器回复的Invalidate Ack消息才能将更新后的内容写入高速缓存...

2019-06-30 23:13:12 211

原创 Java硬件基础(一)-高速缓存模型及MESI协议

Java硬件基础: (一)、高速缓存模型及MESI协议 (二)、处理器针对消息交互的性能优化及带来的并发问题 (三)、如何解决并发问题及volatile、synchronized等关键字实现 本文主要讲解多线程程序的硬件基础,后期将介绍volatile、synchronized等关键字实现。我们所对应的多线程在硬件层面即多核处理器并发处理的一...

2019-06-23 20:10:18 403 1

原创 Mac安装git遇到需下载Xcode问题

Mac默认安装路径是/usr/local/git,但是使用which git时路径为/usr/bin/git,因为系统默认是从bin下启动,因此可以配置环境变量,编辑~/.bashrc(一般该文件没有,可创建)PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Java/JavaVirtualMachines/jdk1.8.0_...

2018-04-09 21:50:34 797

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除