<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[eddyjoe的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/eddyjoe</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; eddyjoe]]></copyright><item><title><![CDATA[docker一键安装gitlab简易教程]]></title><link>https://blog.youkuaiyun.com/eddyjoe/article/details/88935658</link><guid>https://blog.youkuaiyun.com/eddyjoe/article/details/88935658</guid><author>eddyjoe</author><pubDate>Mon, 01 Apr 2019 00:18:14 +0800</pubDate><description><![CDATA[前提：操作基于centos7，已安装docker
步骤如下：
1、拉取镜像
docker pull gitlab/gitlab-ce:latest

2、映射 sshd，将改掉22端口（防止后面gitlab跑容器的时候报22端口占用异常）
将其中的 #Port 22 注释去掉，将数字 22 更改为 13772（随意一个）
vim  /etc/ssh/sshd_config

修改后保存
3、开放1...]]></description><category></category></item><item><title><![CDATA[SnowFlake雪花算法生成分布式id]]></title><link>https://blog.youkuaiyun.com/eddyjoe/article/details/88564338</link><guid>https://blog.youkuaiyun.com/eddyjoe/article/details/88564338</guid><author>eddyjoe</author><pubDate>Fri, 15 Mar 2019 00:01:44 +0800</pubDate><description><![CDATA[来自Twitter的雪花算法SnowFlake
/**
 * 雪花算法SnowFlake
 * Created on 2019/3/14.
 *
 * @author Twitter
 */
public class IdSnowFlake {

    public static void main(String[] args) {
        IdSnowFlake flake = new...]]></description><category></category></item><item><title><![CDATA[3步简单 配置MyBatis Generator自动创建代码]]></title><link>https://blog.youkuaiyun.com/eddyjoe/article/details/88564249</link><guid>https://blog.youkuaiyun.com/eddyjoe/article/details/88564249</guid><author>eddyjoe</author><pubDate>Thu, 14 Mar 2019 23:53:57 +0800</pubDate><description><![CDATA[基于maven项目，前提数据库已有数据表
1、pom项目添加mybatis-generator-maven-plugin插件依赖
注意该要放在节点下，放在加载插件失败
&amp;lt;build&amp;gt;
    &amp;lt;finalName&amp;gt;ssmDemo&amp;lt;/finalName&amp;gt;
    &amp;lt;plugins&amp;gt;
      &amp;lt;plugin&amp;gt;
        &amp;lt;gr...]]></description><category></category></item><item><title><![CDATA[java 线程池（Executors、ExecutorService、ScheduledExecutorService）和（Callable、Future、CyclicBarrier）实践篇]]></title><link>https://blog.youkuaiyun.com/eddyjoe/article/details/88375050</link><guid>https://blog.youkuaiyun.com/eddyjoe/article/details/88375050</guid><author>eddyjoe</author><pubDate>Mon, 11 Mar 2019 09:54:06 +0800</pubDate><description><![CDATA[一、FixedThreadPool、CachedThreadPool、SingleThreadExecutor、ScheduledThreadPool 简单使用（不推荐）
public void fixedThreadPool1(){
        int size = 5;
        ExecutorService threadPool = Executors.newFixedThrea...]]></description><category></category></item><item><title><![CDATA[谈谈对 java线程池（Executors、ExecutorService、ScheduledExecutorService）和（Callable、Future、CyclicBarrier）的理解]]></title><link>https://blog.youkuaiyun.com/eddyjoe/article/details/88374085</link><guid>https://blog.youkuaiyun.com/eddyjoe/article/details/88374085</guid><author>eddyjoe</author><pubDate>Mon, 11 Mar 2019 09:52:14 +0800</pubDate><description><![CDATA[线程池概念
线程池是实现多线程的一种用法，可以维护多个线程，优化创建和销毁线程的开销达到系统优化性能的目的。
线程池的优点
（1） 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗；
（2） 提高响应速度。当任务到达时，任务可以不需要等到线程创建就能立即执行；
（3） 提高线程的可管理性。线程是稀缺资源，如果无限制的创建，不仅会消耗系统资源，还会降低系统的稳定性，使用线程池可以进...]]></description><category></category></item><item><title><![CDATA[Java IO系统 字符流（Reader/Writer）字节流（InputStream/OutputStream）读写操作 心得笔记]]></title><link>https://blog.youkuaiyun.com/eddyjoe/article/details/88342117</link><guid>https://blog.youkuaiyun.com/eddyjoe/article/details/88342117</guid><author>eddyjoe</author><pubDate>Fri, 08 Mar 2019 10:16:33 +0800</pubDate><description><![CDATA[IO系统结构思维导图

第一部分  字符流
1、字符流读String 缓存流  常用 (StringReader/BufferedReader)
/**
     * 字符流读String 缓存流  常用
     */
    public static void readFileStringbuf() throws Exception{
        Reader reader = new ...]]></description><category></category></item><item><title><![CDATA[Singleton 单例模式（饿汉式，懒汉式，双重锁式和内部类式），多种实现方式]]></title><link>https://blog.youkuaiyun.com/eddyjoe/article/details/88316095</link><guid>https://blog.youkuaiyun.com/eddyjoe/article/details/88316095</guid><author>eddyjoe</author><pubDate>Thu, 07 Mar 2019 18:11:03 +0800</pubDate><description><![CDATA[单例模式原理
通过私有化构造函数，通过静态公共方法/枚举方式返回对象。
注意：确保实例只有一个，尤其是多线程环境。
饿汉式
/**
 * 饿汉式（早new对象准备好，担心饿死）
 * @author:eddyjoe
 * @date:2019/3/7
 */
public class HungrySingle {
    /**为严谨,加final指向的引用不能再做修改*/
    private...]]></description><category></category></item><item><title><![CDATA[IntelliJ IDEA java配置及快捷键]]></title><link>https://blog.youkuaiyun.com/eddyjoe/article/details/88304725</link><guid>https://blog.youkuaiyun.com/eddyjoe/article/details/88304725</guid><author>eddyjoe</author><pubDate>Thu, 07 Mar 2019 14:32:56 +0800</pubDate><description><![CDATA[一、idea配置git
git客户端安装不多说了，基本都是下一步
注意下面这个地方（建议勾选第二个，为了后面idea可以通过命令窗口操作git）：

setting配置git    Version Control &amp;gt; Git

Terminal命令窗操作git

配置maven   Build, Execution, Deployment &amp;gt; Build Tools &amp;gt; Mave...]]></description><category></category></item><item><title><![CDATA[Rocketmq原理]]></title><link>https://blog.youkuaiyun.com/eddyjoe/article/details/88185516</link><guid>https://blog.youkuaiyun.com/eddyjoe/article/details/88185516</guid><author>eddyjoe</author><pubDate>Tue, 05 Mar 2019 15:50:56 +0800</pubDate><description><![CDATA[一、 MQ背景
消息队列作为高并发系统的核心组件之一，能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势：
削峰填谷（主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题）
系统解耦（解决不同重要程度、不同能力级别系统之间依赖导致一死全死）
提升性能（当存在一对多调用时，可以发一条消息给消息系统，让消息系统通知相关系统）
蓄流压测（线上有些链路不好压测，可以通过堆积一定量消息...]]></description><category></category></item><item><title><![CDATA[TCP的三次握手和四次挥手，以及为什么要三次握手，而不是二次？]]></title><link>https://blog.youkuaiyun.com/eddyjoe/article/details/87936084</link><guid>https://blog.youkuaiyun.com/eddyjoe/article/details/87936084</guid><author>eddyjoe</author><pubDate>Tue, 26 Feb 2019 15:34:10 +0800</pubDate><description><![CDATA[对话模型诠释三次，两次，四次握手场景
三次握手：
“喂，你听得到吗？”
“我听得到呀，你听得到我吗？”
“我能听到你，今天balabala……”
两次握手：
“喂，你听得到吗？”
“我听得到呀”“喂喂，你听得到吗？”
“草，我听得到呀！！！！”
“你TM能不能听到我讲话啊！！喂！”“……”
四次握手：
“喂，你听得到吗？”
“我听得到呀，你听得到我吗？”
“我能听到你，你能听到我吗？”
“……不想...]]></description><category></category></item></channel></rss>