
java
文章平均质量分 77
rodbate
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
聊聊Spring配置类(Configuration Class)及代理过程分析
本文主要是聊一聊Spring 5.2引入的针对Configuration Class的优化及目的前言自从Spring 3.0 引入@Configuration 这个配置类注解, 那就意味着Spring的XML配置文件的方式已经过去了,迎来了一个注解(java class)的崭新时代。因此Spring后面版本大量使用Configuration Class, 而我们的工作学习中只要涉及到了Spring,这个Configuration Class的大量使用也是不可避免的,所有大家对这个也是非常常见的。看一下@原创 2021-01-13 15:37:30 · 1728 阅读 · 0 评论 -
Spring Aware接口执行时机源码深度解读
Spring Aware接口执行时机源码深度解读Spring中有这样一种标记接口的存在Aware,只要是spring管理的bean实现了Aware接口,那么spring就会在bean创建的某个时机将相应的资源注入到该spring bean中,比如ApplicationContextAware, 会将spring 应用上下文ApplicationContext自动注入到bean中。//Sprin...原创 2020-03-11 20:34:15 · 1583 阅读 · 0 评论 -
Spring事务管理源码深度解读(一)
前言熟悉spring的人大都熟悉@Transactional这个事务注解及其功能,这里就不详述了,但是spring是如何通过@Transactional实现声明式事物的呢?本文主要通过追踪spring相关源码来详细阐述实现过程,以达到知其然并知其所以然的效果。@EnableTransactionManagement那就先来看看@EnableTransactionManagement这个spr...原创 2019-06-29 10:33:44 · 427 阅读 · 0 评论 -
限流组件Sentinel生产应用实践(一) : 动态规则源持久化(Zookeeper)改造接入
介绍Sentinel是阿里巴巴去年开源的一款轻量级限流组件。引用它官网的一段简要介绍:As distributed systems become increasingly popular, the reliability between services is becoming more important than ever before. Sentinel takes “flow” as...原创 2019-05-02 21:49:49 · 3080 阅读 · 0 评论 -
RocketMQ源码分析(一): 索引文件(IndexFile)
前引: RocketMQ – 阿里贡献给Apache的消息中间件,现已升级为Apache顶级项目, GITHUB项目地址。一,索引文件(IndexFile)物理结构一个索引文件从整体上可以分为header和其它部分(body)。整个索引文件对应类org.apache.rocketmq.store.index.IndexFile, header对应类org.apache.rocketmq.store.原创 2017-12-11 18:19:56 · 5232 阅读 · 2 评论 -
字符集编码 Unicode UTF8 UTF16 UTF32 和BOM(Byte Order Mark)
BOM(Byte Order Mark)在分析unicode之前,先把bom(byte order mark)说一下。 bom是unicode字符顺序的标识符号,一般以魔数(magic code)的形式出现在以Unicode字符编码的文件的开始的头部,作为该文件的编码标识。来举个很简单的例子,在windows下新建一个文本文件,并另存为utf8的文件格式: 该文件里面没有任何内容,我们再用Hex原创 2017-07-29 12:58:17 · 4277 阅读 · 0 评论 -
Netty4启动ServerBootStrap源码分析
首记: 来分析下Netty4中的核心NIO模型的启动过程, 如何 bind -> accept -> process -> …. 这些过程,在分析之前,先来熟悉下jdk中原生的NIO模型, 因为Netty中的NIO是基于此上面进行封装的。一,java nio 模型import java.io.IOException;import java.net.InetSocketAddress;impo原创 2017-07-23 12:41:47 · 915 阅读 · 0 评论 -
Java中的四种引用类型 Strong, Soft, Weak And Phantom (一)
前言总所周知, java不同于c/c++,它不需要程序员自已来管理内存(分配,释放内存),java 会自己来管理内存,比如销毁某些不再被使用的对象。这些操作都是在一个后台线程默默进行(Garbage Collector Thread),也就是垃圾收集器线程,根据jvm实现的策略来释放对象内存。但是程序编写者却无法控制这个后台线程,无法让它在你想要的时候开始释放内存,销毁对象,按照你的规定来销毁那些对原创 2017-06-04 14:18:37 · 10396 阅读 · 1 评论 -
从零开始学Scala系列(一)之环境安装及IDE选择安装
Scala简要介绍以及学习初衷 Object-Oriented Meets Functional Have the best of both worlds. Construct elegant class hierarchies for maximum code reuse and extensibility, implement their behavior using higher原创 2017-02-16 00:04:38 · 4240 阅读 · 0 评论 -
CGlib 入门
CGlib 入门cglib github地址链接。项目maven构建:<dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.1</version></dependency>项目gradle构建:dependencies { compile 'cglib:cgl原创 2015-12-30 13:45:10 · 2377 阅读 · 0 评论 -
Spring AOP java动态代理实现
Spring AOP java动态代理实现User类public class User { private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this原创 2015-12-30 11:08:48 · 451 阅读 · 0 评论 -
java 动态代理 [Java Dynamic Proxy]
java 动态代理 [Java Dynamic Proxy]此次java动态代理实验所要用到的java里的包是java.lang.reflect中的一些类,主要是以下几个: java.lang.reflect.Proxy,java.lang.reflect.InvocationHandler,java.lang.reflect.Method等等。第一步首先要定义一个接口(interface)以及其原创 2015-12-30 09:56:51 · 486 阅读 · 0 评论