<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_16830879的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_16830879</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_16830879]]></copyright><item><title><![CDATA[java.lang -> Boolean]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/103419818</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/103419818</guid><author>qq_16830879</author><pubDate>Fri, 06 Dec 2019 11:30:27 +0800</pubDate><description><![CDATA[java.lang -&gt; Boolean
是什么
Boolean 类是将 boolean 基本类型进行包装。类型为 Boolean 的对象包含一个单一属性 value，其类型为 boolean。
此外还提供了许多将 boolean 转换为 String、String 转换为 boolean，以及其他一些方法。
构造器
有两个构造器
public Class Boolean {
    pub...]]></description><category></category></item><item><title><![CDATA[java.lang -> Object]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/103389371</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/103389371</guid><author>qq_16830879</author><pubDate>Wed, 04 Dec 2019 16:34:39 +0800</pubDate><description><![CDATA[java.lang -&gt; Object
是什么
Object 类是类层次结构的根，是 Java 中唯一一个没有父类的类，Java 中所有对象包括数组都继承了 Object 类中的方法。
重要方法
public class Object {
    private static native void registerNatives();
    static {
        regist...]]></description><category></category></item><item><title><![CDATA[Axon 3.0.x 框架简介官方文档]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/102502161</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/102502161</guid><author>qq_16830879</author><pubDate>Fri, 11 Oct 2019 19:35:33 +0800</pubDate><description><![CDATA[因为需要用到，但是在网上对应的资料实在是很少，只有迎着头皮看官网文档并配合翻译器。如有误导多多包涵。
Axon
什么是 Axon
Axon Framework 通过支持开发人员应用命令查询责任隔离（CQRS）架构模式来帮助构建可扩展和可维护的应用程序。它通过提供最重要的构建块（例如聚合，存储库和事件总线（事件的分发机制））的实现来实现。此外 Axon 提供注释支持，它使您可以构建聚合和事件侦听器，...]]></description><category></category></item><item><title><![CDATA[java 并发——CountDownLatch]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/102508740</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/102508740</guid><author>qq_16830879</author><pubDate>Fri, 11 Oct 2019 19:35:05 +0800</pubDate><description><![CDATA[java 并发——CountDownLatch

简介
public class CountDownLatch {
    private final Sync sync;
    
    private static final class Sync extends AbstractQueuedSynchronizer {
        Sync(int count) {
         ...]]></description><category></category></item><item><title><![CDATA[java 并发——ReentrantLock]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/101017380</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/101017380</guid><author>qq_16830879</author><pubDate>Thu, 19 Sep 2019 11:40:50 +0800</pubDate><description><![CDATA[java 并发——ReentrantLock

简介
public class ReentrantLock implements Lock, java.io.Serializable {
    // 继承了 AbstractQueuedSynchronizer 具体操作的执行者
    private final Sync sync;
    
    abstract static class...]]></description><category></category></item><item><title><![CDATA[java 并发——AbstractQueuedSynchronizer]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/100937301</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/100937301</guid><author>qq_16830879</author><pubDate>Tue, 17 Sep 2019 19:48:54 +0800</pubDate><description><![CDATA[java 并发——AbstractQueuedSynchronizer

简介
abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements Serializable

提供一个基于先进先出(FIFO)等待队列，可以用于构建锁或者其他相关同步器(信号量、事件等)的基础框架。这些同步器...]]></description><category></category></item><item><title><![CDATA[java 并发——volatile]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/100579487</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/100579487</guid><author>qq_16830879</author><pubDate>Fri, 06 Sep 2019 15:03:02 +0800</pubDate><description><![CDATA[java 并发——volatile

介绍
维基百科: volatile 是一个类型修饰符(type specifier).volatile 的作用是确保本条指令不会因编译器的优化而省略，且要求每次直接读值。
看了上面的话感觉不是那么的好理解，因为 volatile 关键字是和 java 内存模型 JMM(java memory model)是息息相关的，所以在介绍 volatile 之前我们先来...]]></description><category></category></item><item><title><![CDATA[java 并发——synchronized]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/100559665</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/100559665</guid><author>qq_16830879</author><pubDate>Thu, 05 Sep 2019 15:49:58 +0800</pubDate><description><![CDATA[java 并发——synchronized

介绍
在平常我们开发的过程中可能会遇到线程安全性的问题，为了保证线程之间操作数据的正确性，我们第一想到的可能就是使用 synchronized 并且 synchronized 使用的位置也是很有讲究的.首先我们来先看一下什么是 synchronized ？

需要使得代码变为同步方法我们需要使用 synchronized 来修饰执行前会先去获取锁，执行...]]></description><category></category></item><item><title><![CDATA[Spring 源码学习——Aop]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/99571167</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/99571167</guid><author>qq_16830879</author><pubDate>Wed, 14 Aug 2019 15:04:20 +0800</pubDate><description><![CDATA[Spring 源码学习——Aop

什么是 AOP
以下是百度百科的解释：AOP 为 Aspect Oriented Programming 的缩写，意为：面向切面编程通过预编译的方式和运行期动态代理实现程序功能的统一维护的一种技术。
AOP 的原理
AOP 的原理是什么？估计大家都知道了无非就是通过代理模式来为目标对象生产出一个代理对象来，并将相应的逻辑插入到目标方法的前后等等.如果别人这么问，...]]></description><category></category></item><item><title><![CDATA[Spring 相关目录]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/98728911</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/98728911</guid><author>qq_16830879</author><pubDate>Wed, 07 Aug 2019 10:15:26 +0800</pubDate><description><![CDATA[Spring 相关目录

学习笔记
Spring 学习笔记 IoC 基础
Spring 学习笔记 Resource 资源
Spring 学习笔记 数据绑定，校验，BeanWrapper 与属性编辑器
源码学习
Spring 源码学习——注册 BeanDefinition
Spring 源码学习——加载 Bean
[Spring 源码学习——Aop——未完待续]

...]]></description><category></category></item><item><title><![CDATA[Netty 相关目录]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/98728667</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/98728667</guid><author>qq_16830879</author><pubDate>Wed, 07 Aug 2019 10:11:05 +0800</pubDate><description><![CDATA[Netty 相关目录

Netty 源码学习——客户端流程分析
Netty 源码学习——服务端流程分析
Netty 源码分析——ChannelPipeline
Netty 源码学习——EventLoop
学习 Doug Lea 大神写的——Scalable IO in Java

...]]></description><category></category></item><item><title><![CDATA[Netty 源码学习——EventLoop]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/98632970</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/98632970</guid><author>qq_16830879</author><pubDate>Tue, 06 Aug 2019 16:56:25 +0800</pubDate><description><![CDATA[Netty 源码学习——EventLoop


在前面 Netty 源码学习——客户端流程分析中我们已经知道了一个 EventLoop 大概的流程，这一章我们来详细的看一看。

NioEventLoopGroup 类层次结构
我们先来看下 NioEventLoopGroup 这个类。
public class NioEventLoopGroup extends MultithreadEventLo...]]></description><category></category></item><item><title><![CDATA[Netty 源码分析——ChannelPipeline]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/96326954</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/96326954</guid><author>qq_16830879</author><pubDate>Wed, 17 Jul 2019 16:56:47 +0800</pubDate><description><![CDATA[Netty 源码分析——ChannelPipeline

通过前面的两章我们分析了客户端和服务端的流程代码，其中在初始化 Channel 的时候一定会看到一个 ChannelPipeline。所以在 Netty 每个 Channel 中有且仅有一个 ChannelPipeline。
比如我们来看 NioSocketChannel 的构造器初始化流程是
NioSocketChannel -&gt; ...]]></description><category></category></item><item><title><![CDATA[Netty 源码学习——服务端流程分析]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/95208749</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/95208749</guid><author>qq_16830879</author><pubDate>Tue, 09 Jul 2019 16:43:28 +0800</pubDate><description><![CDATA[Netty 源码分析——服务端流程分析

在上一篇我们已经介绍了客户端的流程分析，我们已经对启动已经大体上有了一定的认识，现在我们继续看对服务端的流程来看一看到底有什么区别。
服务端代码
public class NioServer {
	private static final int PORT = 9898;

	public static void main(String[] args) {...]]></description><category></category></item><item><title><![CDATA[学习 Doug Lea 大神写的——Scalable IO in Java]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/93750018</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/93750018</guid><author>qq_16830879</author><pubDate>Wed, 26 Jun 2019 16:25:56 +0800</pubDate><description><![CDATA[学习 Doug Lea 大神写的——Scalable IO in Java

网络服务
Web services、分布式对象等等都具有相同的处理结构

Read request
Decode request
Process service
Encode reply
Send reply

基础的网络设计

每一个处理的 handler 都在各自的线程中处理。
代码示例
public class S...]]></description><category></category></item><item><title><![CDATA[Netty 源码学习——客户端流程分析]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/93308234</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/93308234</guid><author>qq_16830879</author><pubDate>Sat, 22 Jun 2019 11:04:43 +0800</pubDate><description><![CDATA[Netty 源码学习——客户端流程分析

友情提醒: 需要观看者具备一些 NIO 的知识，否则看起来有的地方可能会不明白。
使用版本依赖
&lt;dependency&gt;
    &lt;groupId&gt;io.netty&lt;/groupId&gt;
    &lt;artifactId&gt;netty-all&lt;/artifactId&gt;
    &lt;version&g...]]></description><category></category></item><item><title><![CDATA[Spring 学习笔记 数据绑定，校验，BeanWrapper 与属性编辑器]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/92086705</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/92086705</guid><author>qq_16830879</author><pubDate>Sat, 15 Jun 2019 14:51:05 +0800</pubDate><description><![CDATA[Spring 数据绑定，校验，BeanWrapper，与属性编辑器

Data Binding
数据绑定(Data binding)非常有用，它可以动态把用户输入与应用程序的域模型(或者你用于处理用户输入的对象)绑定起来。Spring 针对此提供了所谓的 DataBinder 来完成这一功能。由 Validator 和 DataBinder 组成的 validation 验证包，主要被用于 Spr...]]></description><category></category></item><item><title><![CDATA[Spring 学习笔记 Resource 资源]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/91876712</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/91876712</guid><author>qq_16830879</author><pubDate>Thu, 13 Jun 2019 17:15:32 +0800</pubDate><description><![CDATA[Spring Resources

概述
在日常程序开发中，处理外部资源是很繁琐的事情，我们可能需要处理 URL 资源、File 资源、ClassPath相关资源等等。并且在 java 中 Java .net.URL 类和用于各种 URL 前缀的标准处理程序对于所有对底层资源的访问都不够充分。处理各种各样的资源需要使用到不同的接口，这就增加了系统的复杂性。
对此 Spring 提供了 Resour...]]></description><category></category></item><item><title><![CDATA[Spring 学习笔记 IoC 基础]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/91049538</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/91049538</guid><author>qq_16830879</author><pubDate>Thu, 06 Jun 2019 20:55:02 +0800</pubDate><description><![CDATA[Spring IoC

Ioc 是什么
IoC —— Inversion of Control(控制反转)什么是控制？什么是反转？
控制反转了什么？
在很早之前写项目不用 Spring 的时候，都是在 Class 中成员属性中 new 对象的方式。是我们主动去创建对象也就是我们控制了对象的创建。
public class ServiceImpl implements Service {
    p...]]></description><category></category></item><item><title><![CDATA[java IO 类概述表]]></title><link>https://blog.youkuaiyun.com/qq_16830879/article/details/90717451</link><guid>https://blog.youkuaiyun.com/qq_16830879/article/details/90717451</guid><author>qq_16830879</author><pubDate>Fri, 31 May 2019 15:42:14 +0800</pubDate><description><![CDATA[列举常用的类方便查看，温故知新！





byte input
byte output
character input
character output




Basic
InputStream
OutputStream
InputStreamReader
OutputStreamWriter


Array
ByteArrayInputStream
ByteArrayOutputStream...]]></description><category></category></item></channel></rss>