<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Stduent_的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Stduent_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Stduent_]]></copyright><item><title><![CDATA[Netty学习笔记(2)]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/81010589</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/81010589</guid><author>Stduent_</author><pubDate>Thu, 12 Jul 2018 11:15:45 +0800</pubDate><description><![CDATA[Buffers(缓冲)Buffer 是一个数据对象，我们可以把它理解为固定数量的数据的容器，它包含一些要写入或者读出的数据。在Channel 中必须结合Buffer使用，不能直接把数据写入通道。写入数据到ByteBuf后，写入索引是增加的字节数量。开始读字节后，读取索引增加。你可以读取字节，直到写入索引和读取索引处理相同的位置，次数若继续读取，则会抛出IndexOutOfBoundsExcepti...]]></description><category></category></item><item><title><![CDATA[Netty学习笔记(1)]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/80993072</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/80993072</guid><author>Stduent_</author><pubDate>Tue, 10 Jul 2018 22:41:03 +0800</pubDate><description><![CDATA[最近工作中用到了Netty，于是借此机会整理出来。关于什么是Netty，以及它的好处就不多说了，网上资料很多。学习Netty前我们应该着重理解下面这些对象，这些都是Netty的核心概念，对我们学习Netty很有帮助Bootstrap一种是用于客户端的Bootstrap，一种是用于服务端的ServerBootstrap。Bootstrap用来连接远程主机，有1个EventLoopGroupServe...]]></description><category></category></item><item><title><![CDATA[Docker化HelloWorld程序]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/79395161</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/79395161</guid><author>Stduent_</author><pubDate>Wed, 28 Feb 2018 08:52:29 +0800</pubDate><description><![CDATA[安装docker因国内访问docker官网速度问题，这里使用国内的加速镜像 daocloud.iocurl -sSL https://get.daocloud.io/docker | sh查看docker版本docker version启动docker，并查看状态systemctl start docker.service
systemctl status docker.service显示系统信息...]]></description><category></category></item><item><title><![CDATA[同步屏障CyclicBarrier]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/79389290</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/79389290</guid><author>Stduent_</author><pubDate>Tue, 27 Feb 2018 15:52:09 +0800</pubDate><description><![CDATA[它要做的事情是，让一组线程到达一个屏障（也可以叫同步点）时被阻塞，直到最后一个线程到达屏障时，屏障才会开门，所有被屏障拦截的线程才会继续运行。CyclicBarrier还提供一个更高级的构造函数CyclicBarrier（int parties，Runnable barrier-Action），用于在线程到达屏障时，优先执行barrierAction，方便处理更复杂的业务场景，比如说：Cyclic...]]></description><category></category></item><item><title><![CDATA[利用堆解决开发中的一个问题]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/79385812</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/79385812</guid><author>Stduent_</author><pubDate>Tue, 27 Feb 2018 11:44:41 +0800</pubDate><description><![CDATA[最近开发中看见这样的一个需求，给车系建议指导价，也就是取最小值和最大值。竟然有人写了一个冒泡排序.....   我们都知道Java类库中提供的排序都是经过优化的排序算法，顺序表也就是用的是快排，而且这个快排是三相求和取平均值算法，让拿到的值也就是轴，尽可能均匀的划分，也就是轴的左边和右边尽可能的数量平均，达到快排的最好效果。而对于链表官方库也是采用的归并排序。于链表呢，比如快排，两个指针分别网后往...]]></description><category></category></item><item><title><![CDATA[Redis如何设计解决springcache的缺陷]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/79376865</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/79376865</guid><author>Stduent_</author><pubDate>Mon, 26 Feb 2018 16:10:36 +0800</pubDate><description><![CDATA[关于spring cache的缺陷：例如有一个缓存存放 list&amp;lt;User&amp;gt;，现在你执行了一个 update(user)的方法，你一定不希望清除整个缓存而想替换掉update的元素。这里我们可以利用Redis的一些特性来解决这个缺陷。假设我们在Redis中缓存了系统表数据，找出年龄大于25，且性别是男的用户。这时候我们可以这样做：先定义几个常量字段：	static final Stri...]]></description><category></category></item><item><title><![CDATA[Redis环境搭建]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/79373696</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/79373696</guid><author>Stduent_</author><pubDate>Mon, 26 Feb 2018 11:05:48 +0800</pubDate><description><![CDATA[Redis环境搭建前置需求：要先安装GCC  yuminstall gcc-c++1、下载redis-3.0.0-rc2.tar.gz，放到/usr/local/software2、解压：tar -zxvf redis-3.0.0-rc2.tar.gz -C/usr/local3、进入到解压目录下：cd usr/local/redis-3.0.0-rc2，编译：make4、进入到src下进行安装：...]]></description><category></category></item><item><title><![CDATA[SpringBoot整合Spring-data-redis实现集中式缓存]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/79245257</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/79245257</guid><author>Stduent_</author><pubDate>Sat, 03 Feb 2018 11:28:47 +0800</pubDate><description><![CDATA[Spring Data redis的几种序列化

从框架的角度来看，存储在Redis中的数据只是字节。虽然说Redis支持多种数据类型，但是那只是意味着存储数据的方式，而不是它所代表的内容。由我们将这些数据转化成字符串或者是其他对象。我们通过org.springframework.data.redis.serializer. RedisSerializer将自定义的对象数据和存储在Redis上]]></description><category></category></item><item><title><![CDATA[Zookeeper]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/77646032</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/77646032</guid><author>Stduent_</author><pubDate>Mon, 28 Aug 2017 11:42:07 +0800</pubDate><description><![CDATA[一、ZooKeeper 基本概念
1、ZooKeeper 是什么？
Zookeeper官网地址： 
http://zookeeper.apache.org/
Zookeeper官网文档地址：http://zookeeper.apache.org/doc/trunk/index.html
ZooKeeper 是Hadoop下的一个子项目，它是一个针对大型分布式系统的可靠协调系统；它提供的功]]></description><category></category></item><item><title><![CDATA[MySQL数据库引擎详解]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/64122690</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/64122690</guid><author>Stduent_</author><pubDate>Mon, 20 Mar 2017 10:49:24 +0800</pubDate><description><![CDATA[作为Java程序员，MySQL数据库大家平时应该都没少使用吧，对MySQL数据库的引擎应该也有所了解，这篇文章就让我详细的说说MySQL数据库的Innodb和MyIASM两种引擎以及其索引结构。也来巩固一下自己对这块知识的掌握。
Innodb引擎
Innodb引擎提供了对数据库ACID事务的支持，并且实现了SQL标准的四种隔离级别，关于数据库事务与其隔离级别的内容请见数据库事务与其隔离级别这篇]]></description><category></category></item><item><title><![CDATA[Java 并发开发：Lock 框架详解]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/62231259</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/62231259</guid><author>Stduent_</author><pubDate>Wed, 15 Mar 2017 17:17:45 +0800</pubDate><description><![CDATA[摘要：

我们已经知道，synchronized 是Java的关键字，是Java的内置特性，在JVM层面实现了对临界资源的同步互斥访问，但 synchronized 粒度有些大，在处理实际问题时存在诸多局限性，比如响应中断等。Lock
 提供了比 synchronized更广泛的锁操作，它能以更优雅的方式处理线程同步问题。本文以synchronized与Lock的对比为切入点，对Java中的]]></description><category></category></item><item><title><![CDATA[单例与序列化的那些事儿]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/62229973</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/62229973</guid><author>Stduent_</author><pubDate>Wed, 15 Mar 2017 16:52:09 +0800</pubDate><description><![CDATA[转载：http://www.hollischuang.com/archives/1144

本文将通过实例+阅读Java源码的方式介绍序列化是如何破坏单例模式的，以及如何避免序列化对单例的破坏。

单例模式，是设计模式中最简单的一种。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问，从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个，单例模式]]></description><category></category></item><item><title><![CDATA[如何理解 Java 中的 <T extends Comparable<? super T>>]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/61413991</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/61413991</guid><author>Stduent_</author><pubDate>Sat, 11 Mar 2017 10:32:16 +0800</pubDate><description><![CDATA[Java 中类似 
> 这样的类型参数 (Type Parameter) 在 JDK 中或工具类方法中经常能看到。比如
java.util.Collections 类中的这个方法声明：

public static T extends Comparablesuper T>> void sort(ListT> list)


我知道 extends 和 super 这样的关键字在泛型中是]]></description><category></category></item><item><title><![CDATA[深入分析Java的序列化与反序列化]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/61413391</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/61413391</guid><author>Stduent_</author><pubDate>Sat, 11 Mar 2017 09:34:28 +0800</pubDate><description><![CDATA[序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容。主要涉及到以下几个问题：

怎么实现Java的序列化
为什么实现了java.io.Serializable接口才能被序列化
transient的作用是什么
怎么自定义序列化策略
自定义的序列化策略是如何被调用的
ArrayList对序列化的实现有什么]]></description><category></category></item><item><title><![CDATA[session和cookie]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/60955754</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/60955754</guid><author>Stduent_</author><pubDate>Thu, 09 Mar 2017 10:33:28 +0800</pubDate><description><![CDATA[为什么我们要使用session和cookie

为什么要使用session和cookie这个话题就要从HTTP状态协议的无状态性开始说起了。

无状态协议是指协议对事物处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息，则必须重传，这样可能导致每次连接传送的数据量增大。另一方面，在服务器不需要先前信息时它应答就很快。

HTTP是超本文传输协议，顾名思义，这个协议支持超文本的传]]></description><category></category></item><item><title><![CDATA[你真的了解try{ return }finally{}中的return？]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/60955365</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/60955365</guid><author>Stduent_</author><pubDate>Thu, 09 Mar 2017 10:11:52 +0800</pubDate><description><![CDATA[今天去逛论坛 时发现了一个很有趣的问题：

谁能给我我解释一下这段程序的结果为什么是：2.而不是：3

代码如下：

class Test {
    public int aaa() {
        int x = 1;

        try {
            return ++x;
        } catch (Exception e) {

        ]]></description><category></category></item><item><title><![CDATA[【java并发编程实战】—–线程基本概念]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/60954949</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/60954949</guid><author>Stduent_</author><pubDate>Thu, 09 Mar 2017 09:51:09 +0800</pubDate><description><![CDATA[学习Java并发已经有一个多月了，感觉有些东西学习一会儿了就会忘记，做了一些笔记但是不系统，对于Java并发这么大的“系统”，需要自己好好总结、整理才能征服它。希望同仁们一起来学习Java并发编程，共同进步，互相指导。
在学习Java并发之前我们需要先理解一些基本的概念：共享、可变、线程安全性、线程同步、原子性、可见性、有序性。
共享和可变
要编写线程安全的代码，其核心在于对共享的和可变的状]]></description><category></category></item><item><title><![CDATA[【Java并发编程实战】—–“J.U.C”：锁，lock]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/60954466</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/60954466</guid><author>Stduent_</author><pubDate>Thu, 09 Mar 2017 09:35:11 +0800</pubDate><description><![CDATA[在java中有两种方法实现锁机制，一种是在前一篇博客中（【java7并发编程实战】—–线程同步机制：synchronized）介绍的synchronized，而另一种是比synchronized更加强大和领过的Lock。Lock确保当一个线程位于代码的临界区时，另一个线程不进入临界区，相对于synchronized，Lock接口及其实现类提供了更加强大、灵活的锁机制。
一个简单的锁
在使用sy]]></description><category></category></item><item><title><![CDATA[HashMap分析]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/60881196</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/60881196</guid><author>Stduent_</author><pubDate>Wed, 08 Mar 2017 20:23:41 +0800</pubDate><description><![CDATA[HashMap也是我们使用非常多的Collection，它是基于哈希表的 Map 接口的实现，以key-value的形式存在。在HashMap中，key-value总是会当做一个整体来处理，系统会根据hash算法来来计算key-value的存储位置，我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。
一、定义
      HashMap实现了Map接口，继承Abs]]></description><category></category></item><item><title><![CDATA[jvm内存区域]]></title><link>https://blog.youkuaiyun.com/Stduent_/article/details/58040418</link><guid>https://blog.youkuaiyun.com/Stduent_/article/details/58040418</guid><author>Stduent_</author><pubDate>Mon, 27 Feb 2017 11:38:40 +0800</pubDate><description><![CDATA[JVM的内存形式：

 

（1）方法区：存放了要加载的类的信息（名称，修饰符等）、类中的静态变量、类中定义为final的变量、类中Field信息、类中的方法信息，当开发人员通过Class对象的getName、isInterface方法来获取信息时候，这些信息都来源于方法区。方法区域也是全局共享的，在一定条件下它也会被GC，当方法区域要使用的内存超过其运行的大小时，会抛出OutOfMemo]]></description><category></category></item></channel></rss>