[置顶] Java 日志框架解析:设计模式、性能

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

[置顶] 系统设计:关于高可用系统的一些技术方案

可靠的系统是业务稳定、快速发展的基石。那么,如何做到系统高可靠、高可用呢?下面从技术方面介绍几种提高系统可靠性、可用性的方法:扩展、隔离、解耦、限流、降级、熔断、自动化测试、灰度发布 & 回滚。...
阅读(595) 评论(0)

Netty 权威指南笔记(八):EventLoopGroup 和线程模型

一般情况下,I/O 复用机制需要事件分发器(event dispatcher)。 事件分发器的作用,即将那些读写事件源分发给各读写事件的处理者,就像送快递的在楼下喊: 谁谁谁的快递到了, 快来拿吧!开发人员在开始的时候需要在分发器那里注册感兴趣的事件,并提供相应的处理者(event handler),或者是回调函数;事件分发器在适当的时候,会将请求的事件分发给这些handler或者回调函数。...
阅读(12) 评论(0)

Netty 权威指南笔记(七):ChannelPipeline 和 ChannelHandler 源码分析

Netty 的 ChannelPipeline 和 ChannelHandler 机制类似于 Servlet 和 Filter 过滤器,这类拦截器实际上是职责链模式的一种变形,主要是为了方便事件的拦截和用户业务逻辑的定制。 Servlet Filter 过滤器提供了一种面向对象的模块化机制,用来将公共人物封装到可插入的组件中。这些组件通过 Web 部署配置文件(web.xml)进行声明,无须改动代码即可添加和删除过...
阅读(46) 评论(0)

Netty 权威指南笔记(六):Channel 解读

JDK 的 NIO 类库中,提供了 SocketChannel 和 ServerSocketChannel 用于非阻塞 I/O 操作。类似于 NIO 的 Channel,Netty 提供了自己的 Channel 和其子类实现。...
阅读(43) 评论(0)

Netty 权威指南笔记(五):ByteBuf 源码解读

Java 本身提供了 ByteBuffer 类,为什么 Netty 还要搞一个 ByteBuf 类呢?因为 ByteBuffer 类有着许多缺点: 1. ByteBuffer 长度固定,无法动态伸缩。 2. ByteBuffer 只有一个位置指针 position,读写的时候需要手工调用 flip 和 rewind 方法进行模式转换,操作繁琐,容易出错。 3. 功能太少,缺少一些高级特性。...
阅读(40) 评论(0)

Netty 权威指南笔记(四):架构剖析

对 Netty 的架构进行剖析,学习其设计,便于在今后的架构设计中,设计出高性能、高可靠、可扩展的产品。...
阅读(57) 评论(0)

Netty 权威指南笔记(三):TCP 粘包和拆包

TCP 是一个“流”协议,所谓“流”就是没有界限的一串数据。大家可以想像河流里的水,期间并没有分界线。TCP 底层并不了解上层业务数据的具体含义,它会根据 TCP 缓冲区的实际情况进行包的划分。所以,在业务上,一个完整的包可能会被 TCP 拆分成多个包进行发送,也有可能把多个小的包,封装成一个大的数据包发送,这就是所谓的 TCP 粘包和拆包问题。...
阅读(38) 评论(0)

《深入理解 Java 内存模型》笔记总结

简单的说,内存模型描述了某个程序的可能行为。内存模型包含一组规则,规定了一个线程的写操作何时对另一个线程可见。在程序行为满足这些规则的情况下,JVM 可以自由地进行代码转换,比如重排序和非必要的同步移除,代码转换往往是为了提升性能。...
阅读(35) 评论(0)

Netty 权威指南笔记(二):Java NIO 和 Netty 对比

Netty 是业界流行的 NIO 框架之一,它的健壮性、功能、性能、可定制性和可扩展性在同类框架中都说首屈一指的,也已经得到了成百上千商用项目的验证。Netty 框架都有什么优点呢? 1. API 使用简单,开发门槛低。 2. 功能强大,预置多种编解码功能,支持多种主流协议。 3. 定制能力强,可以通过 ChannelHandler 对通信框架灵活扩展。 4. 性能高。 5. 成熟稳定,社区活跃,已经修复了 Jav...
阅读(42) 评论(0)

Netty 权威指南笔记(一):网络 I/O 模型和 Java NIO 入门

网络 I/O 模型和 Java NIO 入门Java I/O 模型的实现离不开底层操作系统的支持,所以这里先讲一下 Linux 网络 I/O 模型。Linux 网络 I/O 模型简介同步阻塞 I/O 模型最常见的模型是...
阅读(38) 评论(0)

Spring 框架学习(四):AOP

Aspect 是一种新的模块化机制,用来描述分散在对象、类或函数中的横切关注点。从关注点中分离出横切关注点是面向切面的程序设计的核心概念。分离关注点使得解决特定领域问题的代码从业务逻辑中独立出来,业务逻辑代码中不再含有针对特定领域问题代码的调用,业务领域同特定领域问题的关系通过切面来封装、维护,这样原本分散在整个应用程序中的变动就可以很好地管理起来。...
阅读(48) 评论(0)

Spring 框架学习(三):IoC 容器

IoC 容器的核心是依赖反转模式。许多应用都是由两个或多个类通过彼此的合作来实现业务逻辑的,这是的每个对象都需要与其合作对象的引用。如果这个获取过程要靠自己实现,那将导致代码高度耦合并且难以测试。在 Spring 中通过把依赖对象的获取交给 IoC 容器来完成,在解耦代码的同时提高了代码的可测试性。...
阅读(76) 评论(0)

Spring 框架学习(二):Spring 应用配置文件讲解

初学 Spring 的时候,只是照猫画虎,对于每一项配置的由来并不十分了解。这里,我们深入了解一下,这些配置都起到了什么作用?...
阅读(50) 评论(0)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

用 enum 代替 int 常量 用实例域代替序数 用 EnumSet 代替位域 使用 EnumMap 代替序数索引 用接口模拟可伸缩的枚举 注解优先于命名模式 坚持使用 Override 注解 用标记接口定义类型...
阅读(100) 评论(0)
195条 共10页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:565363次
    • 积分:7404
    • 等级:
    • 排名:第3257名
    • 原创:189篇
    • 转载:6篇
    • 译文:0篇
    • 评论:97条
    博客专栏
    文章分类
    最新评论