历尽千帆、归来仍是少年
是相互之间存在一种或多种特定关系的数据元素的集合。 说白了就是数据的集合、但是集合里面的数据之间存在特地的关系(这翻译得好像没说一样)
java.beans.PropertyEditor 是 JDK 自带的类,是提供给 AWT。做啥用呢、就是讲用户在图形见面中输入的字符串转换位对应类型的值(对象)。类似于一个 convertor。
大致分类:List、Set、Queue、Map
大多数的方法都能从它的名字知道它是干啥的、都能在 XML 配置文件中找到对应的配置项
上一篇文章我们聊了下 Aware 接口、今天我们再来聊一下 BeanPostProcessor 吧
读完这篇文章你将会收获到 • Aware 的使用和介绍 • BeanFactoryAware 的触发时机 • ApplicationContextAware 的触发时机以及它通过扩展 BeanPostProcessor 来实现
读完这篇文章你将会收获到 • Serializable 和 Externalizable 的使用 • 序列化 ID 问题 • 静态变量序列化 • 父类的序列化 • ArrayList 序列化:为啥 size 被序列化两次? • 序列化对单例的破坏 序列化就是将对象的状态信息转为可以存储或者传输的形式的过程 比如说将对象序列化之后存储在硬盘上 比如说将对象序列化之后返回给调用方 反序列化则是序列化的反过程
读完这篇文章你将会收获到 • synthetic fields • synthetic method • synthetic class
读完这篇文章你将会收获到 • 枚举类的真正实现原理 • 为啥可以使用枚举类实现单例模式 • Class 类中对枚举实例的缓存
Spring 是一个分层架构、由一系列的模块组成
没啥推荐理由、单纯是前期笔记什么的都存在这里了、懒得再次迁移
读完这篇文章你将会收获到 • Spring 循环依赖可以分为哪两种 • Spring 如何解决 setter 循环依赖 • Spring 为何是三级缓存 , 二级不行 ? • Spring 为啥不能解决构造器循环依赖
读完这篇文章你将会收获到 • Spring 何时将 bean 加入到第三级缓存和第一级缓存中 • Spring 何时回调各种 Aware 接口、BeanPostProcessor 、InitializingBean 等
读完这篇文章你将会收获到 • 在 getBean 方法中, Spring 处理别名以及 factoryBean 的 name • Spring 如何从多级缓存中根据 beanName 获取 bean • Spring 如何处理用户获取普通 bean 和 factoryBean
读完这篇文章你将会收获到 • 在 Zookeeper 源码项目中新建模块,使用 Jute 进行序列化和反序列化 • 修改 Jute 中的 buffer size 来序列化/反序列化大对象
读完这篇文章你将会收获到 • 了解到 Spring 容器初始化流程 • ThreadLocal 在 Spring 中的最佳实践 • 面试中回答 Spring 容器初始化流程
在 Java 中,将不同来源的资源抽象成 URL ,通过注册不同的 handler ( URLStreamHandler ) 来处理不同来源的资源的读取逻辑。
将 spring core 中的 build/lib 的 spring-cglib-repack-3.3.0.jar 和 spring-objenesis-repack-3.0.1.jar 引入到新增的模块中 到此为止我们就能够在新建的模块中正常的使用 Spring 了
Z K作为一个分布式协调框架、内部存储着一些分布式系统运行时状态的元数据。如何有效的保护这些数据的安全、如何做一个比较好的权限控制显得非常的重要。 ZK 为我们提供一套完善的 ACL(access control list,访问控制列表) 权限控制机制来保障数据的安全。
使用Spring 的时候我们可以很容易的为某个bean 配置一个或多个别名
ZK提供了分布式数据的发布/订阅功能,一个典型的发布/订阅模型系统定义了一种一对多的订阅关系,能够让多个订阅者同时监听某个主题对象,当这个主题对象自身状态发生变化时,会通知所有的订阅者。在ZK中引入了 Watcher 机制来实现这种分布式的通知功能。
zk的基础知识基本分为三大模块 • 数据模型 • ACL 权限控制 • Watch 监控
最新版本的 zookeeper 已经使用了 maven 进行管理了、不再需要安装 Ant 下载完成之后、使用 Idea 作为一个 maven 项目打开