- 博客(16)
- 资源 (13)
- 收藏
- 关注
原创 《深入理解 Java 内存模型》笔记总结
简单的说,内存模型描述了某个程序的可能行为。内存模型包含一组规则,规定了一个线程的写操作何时对另一个线程可见。在程序行为满足这些规则的情况下,JVM 可以自由地进行代码转换,比如重排序和非必要的同步移除,代码转换往往是为了提升性能。
2017-10-31 10:29:14 469
原创 Netty 权威指南笔记(二):Java NIO 和 Netty 对比
Netty 是业界流行的 NIO 框架之一,它的健壮性、功能、性能、可定制性和可扩展性在同类框架中都说首屈一指的,也已经得到了成百上千商用项目的验证。Netty 框架都有什么优点呢?1. API 使用简单,开发门槛低。2. 功能强大,预置多种编解码功能,支持多种主流协议。3. 定制能力强,可以通过 ChannelHandler 对通信框架灵活扩展。4. 性能高。5. 成熟稳定,社区活跃,已经修复了 Jav
2017-10-30 15:29:22 13681 1
原创 Netty 权威指南笔记(一):网络 I/O 模型和 Java NIO 入门
网络 I/O 模型和 Java NIO 入门Java I/O 模型的实现离不开底层操作系统的支持,所以这里先讲一下 Linux 网络 I/O 模型。Linux 网络 I/O 模型简介同步阻塞 I/O 模型最常见的模型是
2017-10-29 15:58:30 2142
原创 Spring 框架学习(四):AOP
Aspect 是一种新的模块化机制,用来描述分散在对象、类或函数中的横切关注点。从关注点中分离出横切关注点是面向切面的程序设计的核心概念。分离关注点使得解决特定领域问题的代码从业务逻辑中独立出来,业务逻辑代码中不再含有针对特定领域问题代码的调用,业务领域同特定领域问题的关系通过切面来封装、维护,这样原本分散在整个应用程序中的变动就可以很好地管理起来。
2017-10-26 15:09:37 409
原创 Spring 框架学习(三):IoC 容器
IoC 容器的核心是依赖反转模式。许多应用都是由两个或多个类通过彼此的合作来实现业务逻辑的,这是的每个对象都需要与其合作对象的引用。如果这个获取过程要靠自己实现,那将导致代码高度耦合并且难以测试。在 Spring 中通过把依赖对象的获取交给 IoC 容器来完成,在解耦代码的同时提高了代码的可测试性。
2017-10-25 11:15:25 540
原创 Spring 框架学习(二):Spring 应用配置文件讲解
初学 Spring 的时候,只是照猫画虎,对于每一项配置的由来并不十分了解。这里,我们深入了解一下,这些配置都起到了什么作用?
2017-10-22 10:29:12 373
原创 Spring 框架学习(一):设计理念、整体架构
总结一下,Spring 的设计理念是:1. IoC 控制反转:降低了对象之前的耦合关系,简化了应用的开发。2. AOP 面向切面编程:方便以动态的、非侵入的方式,增强服务的功能。3. 面向接口编程:作为平台,核心功能之外服务,都可以选择不同的技术实现。
2017-10-20 14:21:39 1104
原创 Java 并发框架 Disruptor 源码分析:RingBuffer
Disruptor 是一个高性能的线程间通信库。它来自于 LMAX 对并发、性能和非阻塞算法的研究,如今交易系统基础架构的核心部分。这里,我们围绕其基础数据结构 RingBuffer,深入源码学习一下其实现。
2017-10-17 20:05:08 2950
原创 Effective Java 读书笔记(十):序列化
谨慎地实现 Serializable 接口考虑使用自定义的序列化形式保护性地编写 readObject 方法对于实例控制枚举类型优先于 readResolve考虑用序列化代理代替序列化实例
2017-10-16 16:00:19 390
原创 Effective Java 读书笔记(六):方法
检查参数的有效性必要时进行保护性拷贝谨慎设计方法签名慎用重载慎用可变参数返回零长度的数组和集合而不是 null为所有导出的 API 元素编写文档注释
2017-10-15 19:53:47 338
原创 Effective Java 读书笔记(三):类和接口
使类和成员的可访问性最小化在公有类中使用访问方法而非公有域使可变性最小化复合优先于继承要么为继承而设计并提供文档说明要么禁止继承接口优于抽象类接口只用于定义类型类层次优于标签类用函数对象表示策略
2017-10-14 19:41:33 537 1
原创 Effective Java 读书笔记(四):泛型
请不要在新代码中使用原生态类型消除编译时的非受检警告列表 List 优先于数组优先考虑泛型优先考虑泛型方法利用有限制通配符来提升 API 的灵活性优先考虑类型安全的异构容器
2017-10-13 16:04:34 425
原创 Effective Java 读书笔记(七):通用程序设计
将局部变量的作用域最小化for-each 循环优于传统的 for 循环了解和使用类库如果需要精确的答案请避免使用 float 和 double基本类型优于装箱基本类型如果其他类型更合适则尽量避免使用字符串当心字符串连接的性能通过接口引用对象接口优先于反射机制谨慎地使用本地方法谨慎地进行优化遵循普遍接受的命名惯例
2017-10-12 20:04:01 365
原创 Effective Java 读书笔记(五):枚举和注解
用 enum 代替 int 常量用实例域代替序数用 EnumSet 代替位域使用 EnumMap 代替序数索引用接口模拟可伸缩的枚举注解优先于命名模式坚持使用 Override 注解用标记接口定义类型
2017-10-10 20:17:16 582
原创 Effective Java 读书笔记(八):异常
只针对异常情况才使用异常对于可恢复的情况使用受检异常对于编程错误使用运行时异常避免不必要地使用受检异常优先使用标准的异常抛出与抽象相对应的异常每个方法抛出的异常都要有文档在细节消息中包含造成异常的信息努力使失败保持原子性不要忽略异常
2017-10-09 11:32:00 371
原创 Effective Java 读书笔记(九):并发
同步访问共享的可变数据避免过度同步使用线程池管理线程不要手动 new 线程并发工具优先于 wait 和 notify线程安全性的文档化慎用延迟初始化不要依赖于线程调度器避免使用线程组 ThreadGroup
2017-10-01 16:32:23 395
Virtual Machines Versatile Platforms for Systems and Processes
2017-10-13
修改代码的艺术 中文版
2017-09-23
Netty5.0 架构剖析和源码解读
2017-09-18
matlab 7.0 在数字信号处理中的应用
2010-04-03
Linux Command Directory
2009-10-28
Win32help.exe
2009-10-16
新编windows32 api参考大全
2009-10-16
Standard C Library c++ STL
2009-09-26
GNU.C++.for.Linux
2009-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人