-
Annotation-05-Spring aop pointcut 如何动态设置?
需求
因为想写一个通用的 log 日志拦截组件,所以写了一个统一 aspect 切面。
aspect 代码
package com.github.houbb.auto.log.spring.aop;
import com.github.houbb.aop.spring.util.SpringAopUtil;
import com.github.houbb.auto.log.annot...
2018-07-02 13:19:54 |
Java
-
Annotation-04-Define
注解的定义
通过注解,有时候可以使我们的代码编写变得十分强大。
本文仅通过最简单的例子,展示如何定义使用以及解析注解。
实例
定义
Tag.java
定义一个标签注解。可以在类、方法、字段上使用。
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD, Elem...
2018-07-02 13:10:19 |
Java
-
Annotation-03-metadata
元注解
适用于其他注释的注释称为元注释。在 java.lang.annotation 中定义了几个元注释类型。
@Retention
指定标记的注解如何存储:
属性
说明
RetentionPolicy.SOURCE
标记的注释只保留在源层中,编译器将忽略它。
...
2018-07-02 10:33:37 |
Java
-
Annotation-02-built in
Java 内置注解
注解
Annotation(注解)是JDK5.0及以后版本引入的。它的作用是修饰程序元素。
注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记。
程序可以利用java的反射机制来了解你的类及各种元素上有无何种标记,针对不同的标记,就去做相应的事件。
后续会对这些进行讲解,本文主要讲解 Java 内置注解。
@Override
指示一个方法声明要覆盖...
2018-07-02 09:36:14 |
Java
-
Annotation-01-annotation
Java 注解
注解,元数据的一种形式,提供了程序本身之外的数据。注释对注释的代码的操作没有直接影响。
注解有许多用途,其中包括:
编译器的信息—编译器可以使用注释来检测错误或抑制警告。
编译时和部署时处理——软件工具可以处理注释信息来生成代码、XML文件等等。
运行时处理——可以在运行时检查一些注释。
这节课,还可以使...
2018-07-02 09:07:11 |
Java
-
Disruptor-03-技术实现细节
# JMM
JMM 系列
Disruptor
Disruptor 是 LMAX一种新型零售金融交易平台, 后台架构的核心组件之一,能够在无锁的情况下实现网络的Queue并发操作, 官方描述: 一个线程里每秒处理6百万订单。
在设计Disruptor时要避免写竞争,让数据更久的留在cache里, 避免JMV 过度GC。
Disruptor的核心是一个circular array,有个...
2018-07-02 06:30:21 |
Concurrent
-
Disruptor-02-Get start
Get start
maven 导入
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.4.2</version>
</dependency>
...
2018-07-02 06:30:21 |
Concurrent
-
Disruptor-01-Introduction
Disruptor
Disruptor 是一个高性能的线程间消息传递库。
简介
要理解 Disruptor 是什么,最好的办法就是把它与人们理解得很透彻、目的很相似的东西进行比较。
在 Disruptor 的情况下,这将是Java的阻塞队列(BlockingQueue)。
与队列一样,Disruptor 的目的是在同一进程的线程之间移动数据(例如消息或事件)。
然而,Disruptor...
2018-07-02 05:50:44 |
Concurrent