<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[^_^记录成为更好的自己]]></title><description><![CDATA[人生是一场修行，热爱生活热爱编程]]></description><link>https://blog.youkuaiyun.com/linshenggui</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; linshenggui]]></copyright><item><title><![CDATA[Java多线程编程-10 J.U.C之CompletableFuture]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/106282317</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/106282317</guid><author>linshenggui</author><pubDate>Fri, 05 Jun 2020 16:02:54 +0800</pubDate><description><![CDATA[Java多线程编程-10 J.U.C之CompletableFuture

]]></description><category></category></item><item><title><![CDATA[Java多线程编程-9 J.U.C之线程池]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/106282299</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/106282299</guid><author>linshenggui</author><pubDate>Thu, 04 Jun 2020 16:04:07 +0800</pubDate><description><![CDATA[Java多线程编程-9 J.U.C之线程池

]]></description><category></category></item><item><title><![CDATA[Java多线程编程-7 J.U.C之各种锁]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/106282251</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/106282251</guid><author>linshenggui</author><pubDate>Mon, 25 May 2020 15:33:01 +0800</pubDate><description><![CDATA[Java多线程编程-6 J.U.C之各种锁

]]></description><category></category></item><item><title><![CDATA[Java多线程编程-6 J.U.C之原子包AtomicXxx]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/106282219</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/106282219</guid><author>linshenggui</author><pubDate>Fri, 22 May 2020 17:58:37 +0800</pubDate><description><![CDATA[Java多线程编程-6 J.U.C之原子包

]]></description><category></category></item><item><title><![CDATA[Java多线程编程-5 设计模式之生产者消费者]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/106263084</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/106263084</guid><author>linshenggui</author><pubDate>Thu, 21 May 2020 17:54:05 +0800</pubDate><description><![CDATA[生产者消费者设计模式含义
生产者消费者模式解耦了消息生产和消费过程，生产者生产消息数据，消费者对其消费。生产者无需知道生产的消息被谁消费，消费者也无需知道谁生产了数据。
很明显，生产者消费者设计模式采用了异步的消息通信，它们之间存在一种消息的通知机制，如java中的wait/nofity操作。
下面我们实现该模式
原理及完整实现代码
原理：角色有生产者线程和消费者线程，
生产者往消息队列里put消息（如果队列满则等待阻塞），并且通知消费者可以进行消费了。
消费者不断的从队列里take消息（队列为空则等待阻塞]]></description><category></category></item><item><title><![CDATA[Java多线程编程-4 设计模式之Future]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/106228924</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/106228924</guid><author>linshenggui</author><pubDate>Wed, 20 May 2020 11:30:54 +0800</pubDate><description><![CDATA[1、什么是future
Future是为了解决同步调用必须等待调用执行结束后返回而设计的，future中文含义是“未来”，即调用方可以在未来某个时刻通过future来获取调用结果。
通俗来讲，future相当于一个票据，你拿着这个票据就可以在未来某个时点来兑现票据承诺的内容。
以订蛋糕为例：
第一种方式：你直接到店里说我要买一个蛋糕，然后一直坐在店里等直到蛋糕制作完成，不给你做好蛋糕你就一直等，然后你也干不了别的事情（比如先去买个鲜花）。
第二种方式：你到店里预定了一个蛋糕，工作人员给了你一张凭据，让你先忙]]></description><category></category></item><item><title><![CDATA[Java多线程编程-3 Java内存模型（JMM）、sychronized关键字与JVM内存区域]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/105650494</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/105650494</guid><author>linshenggui</author><pubDate>Tue, 19 May 2020 16:57:17 +0800</pubDate><description><![CDATA[JMM


sychronized关键字


ClassLoader



]]></description><category></category></item><item><title><![CDATA[Java多线程编程-2 什么是Thread，详解JDK中Thread类]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/105650699</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/105650699</guid><author>linshenggui</author><pubDate>Thu, 30 Apr 2020 17:40:13 +0800</pubDate><description><![CDATA[什么是thread

A thread is a thread of execution in a program，一个thread是程序中一个可执行线程。
线程的重要属性：




属性
说明




priority
优先级，一个高优先级的线程比低优先级的线程更偏向于先执行


daemon
守护线程，守护线程是指父线程的守护线程，当父线程停止时守护线程会自动停止，而如果是一个非守护线程，不...]]></description><category></category></item><item><title><![CDATA[Java多线程编程-首篇 线程进程 同步异步 线程间的互斥与同步 阻塞非阻塞]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/105640541</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/105640541</guid><author>linshenggui</author><pubDate>Mon, 20 Apr 2020 18:06:01 +0800</pubDate><description><![CDATA[本文主要介绍多线程的几个基本概念，分清概念的同时对多线程编程才会有更加深入的了解

线程进程

进程（Process）是计算机中的程序关于某数据集合上的一次运行活动，是系统进行资源分配和调度的基本单位，是操作系统结构的基础。
线程（英语：thread）是操作系统能够进行运算调度的最小单位。它被包含在进程之中，是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流，一个进程中可以并发多个线...]]></description><category></category></item><item><title><![CDATA[调查问卷数据库设计]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/104674388</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/104674388</guid><author>linshenggui</author><pubDate>Thu, 05 Mar 2020 14:29:40 +0800</pubDate><description><![CDATA[调查问卷
表设计
/*
1、模板表 										template
2、问卷题目表   							question(是否必填、单选多选问答日期地址等类型)
3、题目选项表（单选多选才有） question_item
4、问卷填写表									answer
5、填写详情表									answer_detail
*/
表格统计
需要将每个人填写的信息以表格形式展示，由于问题个数和...]]></description><category></category></item><item><title><![CDATA[什么是PECS，细说Java中的extends和super]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/104657897</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/104657897</guid><author>linshenggui</author><pubDate>Wed, 04 Mar 2020 17:44:22 +0800</pubDate><description><![CDATA[类的关系如下：
	private static class Food {
    }

    private static class Fruit extends Food {
    }

    private static class Apple extends Fruit {
    }

    private static class Lemon extends Fruit {
  ...]]></description><category></category></item><item><title><![CDATA[Apache POI基本操作]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/81016705</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/81016705</guid><author>linshenggui</author><pubDate>Thu, 12 Jul 2018 15:31:52 +0800</pubDate><description><![CDATA[POI中excel的基本组成部分

1.工作簿 HSSFWorkbook 

    // 根据excel文件获取一个工作簿
    HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(path));
    // 创建一个新的工作簿
    HSSFWorkbook myWorkbook = new HSSFWorkbook();

2....]]></description><category></category></item><item><title><![CDATA[设计模式之6大原则(5)-迪米特法则]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/78214833</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/78214833</guid><author>linshenggui</author><pubDate>Thu, 12 Oct 2017 14:51:15 +0800</pubDate><description><![CDATA[设计模式学习笔记——迪米特法则本文转载自:http://blog.youkuaiyun.com/hackerain/article/details/7526404 
参考: http://blog.youkuaiyun.com/jaikydota163/article/details/52764487?locationNum=1&amp;fps=1 
http://blog.youkuaiyun.com/lovelion/article/de]]></description><category></category></item><item><title><![CDATA[JAVA中常用的日期转换]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/77802013</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/77802013</guid><author>linshenggui</author><pubDate>Sat, 02 Sep 2017 16:25:22 +0800</pubDate><description><![CDATA[JAVA中日期时间的使用主要记录工作中经常碰到的日期相关操作，本文包含的内容：
日期的类型与转换
日期的比较
获取当前日期]]></description><category></category></item><item><title><![CDATA[Mysql 使用函数SUM/GROUP_CONCAT 时与GROUP BY 子句]]></title><link>https://blog.youkuaiyun.com/linshenggui/article/details/75126842</link><guid>https://blog.youkuaiyun.com/linshenggui/article/details/75126842</guid><author>linshenggui</author><pubDate>Fri, 14 Jul 2017 17:47:55 +0800</pubDate><description><![CDATA[Mysql 使用函数SUM/GROUP_CONCAT 时与GROUP BY 子句最近的项目用到mysql的统计功能，由于写SUM/GROUP_CONCAT时没有显式的使用GROUP BY，导致：
统计时不准确
分析原因：
多层嵌套查询，mysql再没有指定group by时，默认使用非统计字段进行group by
A left join B时，B表和A表是n:1的关系，导致查询结果集变大了n倍，统计]]></description><category></category></item></channel></rss>