albon arith

一些总结,欢迎交流

排序:
默认
按更新时间
按访问量

Spring 框架学习(一):设计理念、整体架构

总结一下,Spring 的设计理念是: 1. IoC 控制反转:降低了对象之前的耦合关系,简化了应用的开发。 2. AOP 面向切面编程:方便以动态的、非侵入的方式,增强服务的功能。 3. 面向接口编程:作为平台,核心功能之外服务,都可以选择不同的技术实现。

2017-10-20 14:21:39

阅读数:422

评论数:0

Java 并发框架 Disruptor 源码分析:RingBuffer

Disruptor 是一个高性能的线程间通信库。它来自于 LMAX 对并发、性能和非阻塞算法的研究,如今交易系统基础架构的核心部分。这里,我们围绕其基础数据结构 RingBuffer,深入源码学习一下其实现。

2017-10-17 20:05:08

阅读数:318

评论数:0

Effective Java 读书笔记(十):序列化

谨慎地实现 Serializable 接口 考虑使用自定义的序列化形式 保护性地编写 readObject 方法 对于实例控制枚举类型优先于 readResolve 考虑用序列化代理代替序列化实例

2017-10-16 16:00:19

阅读数:144

评论数:0

Effective Java 读书笔记(六):方法

检查参数的有效性 必要时进行保护性拷贝 谨慎设计方法签名 慎用重载 慎用可变参数 返回零长度的数组和集合而不是 null 为所有导出的 API 元素编写文档注释

2017-10-15 19:53:47

阅读数:170

评论数:0

Effective Java 读书笔记(三):类和接口

使类和成员的可访问性最小化 在公有类中使用访问方法而非公有域 使可变性最小化 复合优先于继承 要么为继承而设计并提供文档说明要么禁止继承 接口优于抽象类 接口只用于定义类型 类层次优于标签类 用函数对象表示策略

2017-10-14 19:41:33

阅读数:245

评论数:1

Effective Java 读书笔记(四):泛型

请不要在新代码中使用原生态类型 消除编译时的非受检警告 列表 List 优先于数组 优先考虑泛型 优先考虑泛型方法 利用有限制通配符来提升 API 的灵活性 优先考虑类型安全的异构容器

2017-10-13 16:04:34

阅读数:143

评论数:0

Effective Java 读书笔记(七):通用程序设计

将局部变量的作用域最小化 for-each 循环优于传统的 for 循环 了解和使用类库 如果需要精确的答案请避免使用 float 和 double 基本类型优于装箱基本类型 如果其他类型更合适则尽量避免使用字符串 当心字符串连接的性能 通过接口引用对象 接口优先于反射机制 谨慎地使用本地方法 谨...

2017-10-12 20:04:01

阅读数:133

评论数:0

Effective Java 读书笔记(五):枚举和注解

用 enum 代替 int 常量 用实例域代替序数 用 EnumSet 代替位域 使用 EnumMap 代替序数索引 用接口模拟可伸缩的枚举 注解优先于命名模式 坚持使用 Override 注解 用标记接口定义类型

2017-10-10 20:17:16

阅读数:194

评论数:0

Effective Java 读书笔记(八):异常

只针对异常情况才使用异常 对于可恢复的情况使用受检异常对于编程错误使用运行时异常 避免不必要地使用受检异常 优先使用标准的异常 抛出与抽象相对应的异常 每个方法抛出的异常都要有文档 在细节消息中包含造成异常的信息 努力使失败保持原子性 不要忽略异常

2017-10-09 11:32:00

阅读数:166

评论数:0

Effective Java 读书笔记(九):并发

同步访问共享的可变数据 避免过度同步 使用线程池管理线程不要手动 new 线程 并发工具优先于 wait 和 notify 线程安全性的文档化 慎用延迟初始化 不要依赖于线程调度器 避免使用线程组 ThreadGroup

2017-10-01 16:32:23

阅读数:149

评论数:0

Effective Java 读书笔记(二):对于所有对象都通用的方法

Effective Java 读书笔记二对于所有对象都通用的方法 覆盖 equals 时要遵守的约定 覆盖 equals 的时候总是覆盖 hashCode 始终要覆盖 toString 谨慎覆盖 clone 考虑实现 Comparable 接口

2017-09-30 16:13:53

阅读数:194

评论数:0

Effective Java 读书笔记(一):创建和销毁对象

考虑用静态工厂方法代替构造器 构造器参数较多时考虑用 Builder 构建 用私有构造器或枚举类型强化 Singleton 属性 在私有构造器里抛异常来强化不可实例化的能力 避免创建不必要的对象 消除过期的引用 避免使用终结方法 finalize

2017-09-29 17:44:22

阅读数:259

评论数:0

Java 日志框架解析:设计模式、性能

在平常的系统开发中,日志起到了重要的作用,日志写得好对于线上问题追踪有着很大的帮助。一个好的日志框架,既要方便易用,也要有较好的性能,减少日志输出对系统内存、CPU 的影响。 研究一款开源项目,学到的不仅仅是这个项目本身,还会学到很多设计思想,可以利用到日常工作中。

2017-09-28 10:00:54

阅读数:1606

评论数:0

Java 进阶:异常影响性能吗?

Java 进阶:异常影响性能吗?曾经在给一个业务系统增加限流功能,使用的限流组件在流量超过阈值时,会直接抛异常,异常导致 CPU 占用率飙升。第一次遇到这样的情况,让我们不得不思考,异常怎么会对性能造成这么大的影响?下面我们写几个测试程序观察一下。

2017-09-24 10:31:26

阅读数:1465

评论数:0

Java 进阶:如何让线程主动让出 CPU

在 Java 中,有哪些方法可以让线程让出 CPU 呢?

2017-09-22 23:22:04

阅读数:1189

评论数:0

深入理解 Java 泛型:类型擦除、通配符、运行时参数类型获取

泛型的本质是参数化类型,相比于直接使用 Object 的好处是:编译期强类型检查、无需进行显式类型转换。这里介绍一些泛型的用法、特性,以及如何在运行时获取泛型参数类型信息。

2017-09-21 10:00:58

阅读数:646

评论数:0

Java 迭代器介绍

迭代器介绍迭代器模式迭代器模式是一个典型的设计模式,提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。因为屏蔽了细节,可以针对不同实现的容器,提供一致的标准化的访问方法。

2017-09-18 14:46:01

阅读数:422

评论数:0

Java 注解:注解处理器获取泛型真实类型

注解 annotation 是 Java 中的一大特性,是插入代码中的元数据。注解的使用能够大大简化代码的编写,所以在很多框架中得到了使用,比如 spring、hibernate-validator。泛型的真实类型信息会在编译期间擦除,注解处理器正是运行在编译期间,能够用来获取泛型真实信息。

2017-09-17 16:30:31

阅读数:1239

评论数:0

降级熔断框架 Hystrix 源码解析:滑动窗口统计

一个滑动窗口统计主要分为两步: 1. bucket 统计,bucket 的大小决定了滑动窗口滚动时间间隔; 2. window 统计,window 的时长决定了包含的 bucket 的数目。 Hystrix 实现滑动窗口利用了 RxJava 这个响应式函数编程框架。

2017-09-14 11:25:09

阅读数:2445

评论数:0

Java 线程同步基础类 LockSupport 解析

LockSupport 类提供了基本的线程同步原语,是实现 AbstractQueuedSynchronizer 和 ReentrantLock 的基础。

2017-09-12 21:13:30

阅读数:305

评论数:0

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