<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Smiling_Morning的博客]]></title><description><![CDATA[多一份努力就多一份选择；多一份专注就多一份快乐]]></description><link>https://blog.youkuaiyun.com/Smiling_Morning</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Smiling_Morning]]></copyright><item><title><![CDATA[Java中如何优雅的消除Swtich Case]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/105326944</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/105326944</guid><author>Smiling_Morning</author><pubDate>Sun, 05 Apr 2020 14:48:50 +0800</pubDate><description><![CDATA[Java中如何优雅的消除Swtich Case
背景
现实生活中，多少童鞋写过下面这种代码：
void ReceiveMessage(Message message) {
	switch(message.type) {
		case TYPE1:
			// handle type1
		break;
		case TYPE2;
			// handle type2
		break;
		// o...]]></description><category></category></item><item><title><![CDATA[Vim配置方案]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/78816513</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/78816513</guid><author>Smiling_Morning</author><pubDate>Fri, 15 Dec 2017 20:29:56 +0800</pubDate><description><![CDATA[转载自此

vim 配置文件.vimrc，高亮+自动缩进+行号+折叠+优化


 
vim 配置文件 ，高亮+自动缩进+行号+折叠+优化

将一下代码copy到 用户目录下 新建文件为  .vimrc
保存即可生效； 如果想所有用户生效 请修改 /etc/vimrc (建议先cp一份)
"=============================================]]></description><category></category></item><item><title><![CDATA[Variably modified array at file scope]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/78433830</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/78433830</guid><author>Smiling_Morning</author><pubDate>Fri, 03 Nov 2017 11:32:23 +0800</pubDate><description><![CDATA[C语言编译错误：Variably modified array at file scope
转载自此

今天在编译一段C源程序时，遇到编译错误提示：Variably modified array at file scope。原因在于代码头部有这样几行：






1
2



const int length = 256;
int a[length];



]]></description><category></category></item><item><title><![CDATA[C语言自动类型转换]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/78196327</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/78196327</guid><author>Smiling_Morning</author><pubDate>Tue, 10 Oct 2017 19:25:20 +0800</pubDate><description><![CDATA[转载自此


自动转换遵循以下规则：
1)        若参与运算量的类型不同，则先转换成同一类型，然后进行运算。
2)        转换按数据长度增加的方向进行，以保证精度不降低。如int型和long型运算时，先把int量转成long型后再进行运算。
     a.若两种类型的字节数不同，转换成字节数高的类型
b.若两种类型的字节数相同，且一种有符号，一种无符号，则转换成无符号]]></description><category></category></item><item><title><![CDATA[C语言.h文件的作用]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/77856225</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/77856225</guid><author>Smiling_Morning</author><pubDate>Tue, 05 Sep 2017 20:59:21 +0800</pubDate><description><![CDATA[转载自此
 

最近在工作当中遇到了一点小问题,关于C语言头文件的应用问题,主要还是关于全局变量的定义和声明问题.
学习C语言已经有好几年了,工作使用也近半年了,但是对于这部分的东西的确还没有深入的思考过.概念上还是比较模糊的,只是之前的使用大多比较简单,并没有牵涉到太复杂的工程,所以定义和声明还是比较简单而明了了的.但是最近的大工程让我在这方面吃到了一点点苦头,虽然看了别人的代码能够很快]]></description><category></category></item><item><title><![CDATA[同一进程的线程共享的资源和独有的资源]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/77847869</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/77847869</guid><author>Smiling_Morning</author><pubDate>Tue, 05 Sep 2017 09:52:12 +0800</pubDate><description><![CDATA[原文链接





线程共享的环境包括：进程代码段、进程的公有数据(利用这些共享的数据，线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。
 
    进程拥有这许多共性的同时，还拥有自己的个性。有了这些个性，线程才能实现并发性。这些个性包括：

    1.线程ID
      每个线程都有自己的线程ID，这个I]]></description><category></category></item><item><title><![CDATA[Windows中进程的内存结构]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/77847195</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/77847195</guid><author>Smiling_Morning</author><pubDate>Tue, 05 Sep 2017 08:51:38 +0800</pubDate><description><![CDATA[转载自戳我

基础知识：堆栈是一种简单的数据结构，是一种只允许在其一端进行插入或删除的线性表。允许插入或删除操作的一端称为栈顶，另一端称为栈底，对堆栈的插入和删除操作被称为入栈和出栈。有一组CPU指令可以实现对进程的内存实现堆栈访问。其中，POP指令实现出栈操作，PUSH指令实现入栈操作。CPU的ESP寄存器存放当前线程的栈顶指针，EBP寄存器中保存当前线程的栈底指针。CPU的EIP寄存器存放]]></description><category></category></item><item><title><![CDATA[Hadoop系列——Shuffle过程详解]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72874489</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72874489</guid><author>Smiling_Morning</author><pubDate>Tue, 06 Jun 2017 08:53:25 +0800</pubDate><description><![CDATA[/** 
* author : 冶秀刚 
* mail     : dennyy99@gmail.com 
*/ 


        Shuffle过程是MapReduce的核心，也被称为奇迹发生的地方。要想理解MapReduce， Shuffle是必须要了解的。我看过很多相关的资料，但每次看完都云里雾里的绕着，很难理清大致的逻辑，反而越搅越混。前段时间在做MapReduce job]]></description><category></category></item><item><title><![CDATA[Hadoop相关书籍]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72809325</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72809325</guid><author>Smiling_Morning</author><pubDate>Tue, 30 May 2017 11:52:19 +0800</pubDate><description><![CDATA[国内第一套Hadoop 2.0课程《Hadoop2.x
 深入浅出企业级应用实战视频下载》
　　Hadoop新手入门视频下载 
《Hadoop新手入门视频百度网盘下载[全十集]》
　　最近发现自己收集到的Hadoop学习资料有很多本，想想放在那里也浪费，所以觉得贴出来给大家分享，需要的可以去我优快云里面下载，保证全部资源免费下载！这里面很多英文的资料。
　　1、《Hadoop技术内幕：]]></description><category></category></item><item><title><![CDATA[分布式相关论文]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72809319</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72809319</guid><author>Smiling_Morning</author><pubDate>Tue, 30 May 2017 11:51:15 +0800</pubDate><description><![CDATA[想从事分布式系统，计算，hadoop等方面，需要哪些基础，推荐哪些书籍？--转自知乎


 
作者：廖君
链接：https://www.zhihu.com/question/19868791/answer/88873783
来源：知乎

分布式系统(Distributed System)资料

《Reconfigurable Distributed Storage for Dy]]></description><category></category></item><item><title><![CDATA[Hadoop学习路线图]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72809300</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72809300</guid><author>Smiling_Morning</author><pubDate>Tue, 30 May 2017 11:47:17 +0800</pubDate><description><![CDATA[Hadoop家族学习路线图
Hadoop家族系列文章，主要介绍Hadoop家族产品，常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa，新增加的项目包括，YARN, Hcatalog, Oozie, Cassandra,
 Hama, Whirr, Flume, Bigtop, Crun]]></description><category></category></item><item><title><![CDATA[Java分布式技术演进]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72808886</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72808886</guid><author>Smiling_Morning</author><pubDate>Tue, 30 May 2017 10:35:32 +0800</pubDate><description><![CDATA[作者：知乎用户
链接：https://www.zhihu.com/question/22764869/answer/31277656
来源：知乎
著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。


首先推荐4本书
大型分布式网站架构设计与实践
http://item.jd.com/11529266.html

大型网站技术架构：核心原理与案例分析
htt]]></description><category></category></item><item><title><![CDATA[Java多线程-变量共享分析]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72793486</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72793486</guid><author>Smiling_Morning</author><pubDate>Sun, 28 May 2017 16:08:47 +0800</pubDate><description><![CDATA[转自  http://www.cnblogs.com/xudong-bupt/archive/2013/05/22/3087864.html


在编写多线程程序时，最重要的就是搞清楚哪些变量是共享的，哪些变量是不共享的。也就是要分析清楚其中的原理呀。
因为最近要使用多线程就看了一些，对使用Thread类的子类创建线程的情况，总结如下:
1.方法体内部定义的局部变量不共享
 　　这是因]]></description><category></category></item><item><title><![CDATA[Java多线程-ThreadLocal类]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72791421</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72791421</guid><author>Smiling_Morning</author><pubDate>Sun, 28 May 2017 11:02:14 +0800</pubDate><description><![CDATA[转载自https://www.oschina.net/question/8676_11716

ThreadLocal类在Spring，Hibernate等框架中起到了很大的作用，对于其工作原理，很多网上的文章分析的不够彻底，甚至有些误解。
首先，为了解释ThreadLocal类的工作原理，必须同时介绍与其工作甚密的其他几个类（内部类）
1.ThreadLocalMap
2.Thread]]></description><category></category></item><item><title><![CDATA[恶补系列之操作系统——内核态与用户态]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72673314</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72673314</guid><author>Smiling_Morning</author><pubDate>Wed, 24 May 2017 09:34:49 +0800</pubDate><description><![CDATA[经常听到的用户态与内核态是什么？CPU执行命令的不同权限状态]]></description><category></category></item><item><title><![CDATA[恶补系列之编译原理——.h与.c文件分析]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72654691</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/72654691</guid><author>Smiling_Morning</author><pubDate>Tue, 23 May 2017 18:34:05 +0800</pubDate><description><![CDATA[.c文件与.h文件的解析，作为对编译原理知识的一些补充]]></description><category></category></item><item><title><![CDATA[X I N的开始]]></title><link>https://blog.youkuaiyun.com/Smiling_Morning/article/details/69053892</link><guid>https://blog.youkuaiyun.com/Smiling_Morning/article/details/69053892</guid><author>Smiling_Morning</author><pubDate>Mon, 03 Apr 2017 23:35:01 +0800</pubDate><description><![CDATA[Hi，未来的我，今天我在这里开垦出的这片新田地，希望你能好好耕耘呢





知识，经验，体会，生活




从X I N开始]]></description><category></category></item></channel></rss>