<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[makemeasmile的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/makemeasmile</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; makemeasmile]]></copyright><item><title><![CDATA[线程的同步与锁定]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/55670322</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/55670322</guid><author>makemeasmile</author><pubDate>Sat, 18 Feb 2017 20:33:40 +0800</pubDate><description><![CDATA[同步  也称为 并发
因为现在有多条路径 ，多个线程访问同一个资源  确保这份资源安全. 
加同步---> 称为线程安全
以前我们经常说 hashtable 是线程安全的，hashmap 是不安全的 ，这就是指的在多线程访问的情况下.
hashtable; java.util.hashtable 源码里面  在put 方法上 加了同步锁

StringBuffer  的 append ]]></description><category></category></item><item><title><![CDATA[多线程3-线程的状态]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/55668918</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/55668918</guid><author>makemeasmile</author><pubDate>Sat, 18 Feb 2017 17:07:43 +0800</pubDate><description><![CDATA[比如 有个学生在 即在写作业 又在聊qq，  多线程同时进行，当碰到阻塞事件 比如老师来了，聊qq 进入阻塞状态, 等老师走了，阻塞解除，这里注意 进入的是就绪状态，不是运行状态。  就好比 老师一走， 准备聊qq，但还不能直接聊，"cpu" 根据环境来调度执行.


停止线程：
1、正常执行完毕
2、外部干涉
    1）、在线程类里面 定义线程体使用的标示
    2）、线程体]]></description><category></category></item><item><title><![CDATA[多线程-静态代理的方式 - 实现Runnable接口]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/55667975</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/55667975</guid><author>makemeasmile</author><pubDate>Sat, 18 Feb 2017 15:58:10 +0800</pubDate><description><![CDATA[在看这个小列子之前  
建议大家 最好 先理解一下 静态代理的概念.
http://blog.youkuaiyun.com/makemeasmile/article/details/55667574



其实我们的多线程 以实现 Runnable 接口的形式 这种方式  就是采用了我们的 静态代理模式
启用多线程步奏：
1）、真实角色  -  这个角色 就是你要去做的事情
2）、代理角色 ]]></description><category></category></item><item><title><![CDATA[静态代理]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/55667574</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/55667574</guid><author>makemeasmile</author><pubDate>Sat, 18 Feb 2017 15:13:53 +0800</pubDate><description><![CDATA[静态代理 比较容易理解；
 满足惊呆代理的方式 需要满足一下几个条件：
1、 有真实角色（被代理的对象）
2、代理对象
3、有共同实现的接口  (愿望要一致  不然我让你代理干嘛，以接口来规范)
4、代理类 持有  被代理类的对象 （这样才能实现代理的愿望）


# 以结婚为对列  小刘 要结婚， 他是真实角色  ，婚介是代理，  小刘只要管自己结婚  而结婚前后的事情交给 婚介去]]></description><category></category></item><item><title><![CDATA[线程的简单小列子- 龟兔赛跑-继承Thread类]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/55667124</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/55667124</guid><author>makemeasmile</author><pubDate>Sat, 18 Feb 2017 14:40:00 +0800</pubDate><description><![CDATA[简单 小列子 以便理解 start 和 run 方法的区别


第一步定义一个 兔子 类 实现run方法:
package com.java.thread.test;

//实现线程 继承 thread接口 或者 实现 runnable接口

public class rabbit extends Thread {

@Override
public void run() {]]></description><category></category></item><item><title><![CDATA[多线程]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/55657565</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/55657565</guid><author>makemeasmile</author><pubDate>Sat, 18 Feb 2017 11:40:12 +0800</pubDate><description><![CDATA[了解多线程之前 首先说一下 程序 进程 和 线程的区别啊


程序我们都知道，它是一连串的动也不动的指令集，不来也不去，静静的做个美男子让机器去解析.
而进程呢， 我们的机器 我们的操作系统要运行，需要调度上面的程序，既然有调度的这个动作，那听上去他就是一个动态的概念.
而线程 就是在进程内的多条执行路径，也就是说在一个进程内 可能有多个程序需要调度，那就有多条线程，
就好比我们要去灌]]></description><category></category></item><item><title><![CDATA[项目经理攻略]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/53285352</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/53285352</guid><author>makemeasmile</author><pubDate>Tue, 22 Nov 2016 14:15:24 +0800</pubDate><description><![CDATA[每个人都期待职位的提升和别人的认可
在国内，项目经理应该是大多数程序员比较想要的职位


这篇文章将会告诉你，要成为项目经理的一些技巧。或者说，从另外的一个角度来看项目经理这个职位。


项目经理要懂技术
这个问题，在iteye上被讨论了很久。各有各的观点，我在这边不做评论。
技术做为一个人可以掌握的技能，当然是越多越好，所以从技能方面说，懂点技术当然比啥都不懂要好
另外一方面]]></description><category></category></item><item><title><![CDATA[天天写业务代码，如何成为技术大牛？]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/53239465</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/53239465</guid><author>makemeasmile</author><pubDate>Sun, 20 Nov 2016 10:43:34 +0800</pubDate><description><![CDATA[摘要： 写在前面 不管是开发、测试、运维，每个技术人员心理多多少少都有一个成为技术大牛的梦，毕竟“梦想总是要有的，万一实现了呢”！正是对技术梦的追求，促使我们不断地努力和提升自己。然而“梦想是美好的，现实却是残酷的”，很多同学在实际工作后就会发现，梦想是成为大牛，但做的事情看起来跟大牛都不沾边，例如，程序员说“天天写业务代码还加班，如何才能成为技术大牛”。

写在前面 
不管是开发、测试、运]]></description><category></category></item><item><title><![CDATA[企业级Redis数据库高可用解决方案]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/53206569</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/53206569</guid><author>makemeasmile</author><pubDate>Thu, 17 Nov 2016 20:33:20 +0800</pubDate><description><![CDATA[企业级Redis数据库高可用解决方案
 
背景：
最近比较火的Redis非关系数据，可基于内存亦可持久化的日志型、Key-Value数据库。由于服务器的内存管理能力有限，使用过大内存的Redis又会使得服务器的性能急剧下降，一旦服务器发生故障将会影响更大范围业务，集群功能还不适合生产环境的使用集群中超过半数的节点检测失效导致整个集群异常。
在实际特定的应用场景通过Redis的特性提高效率，]]></description><category></category></item><item><title><![CDATA[Spring实现AOP的4种方式]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/53193127</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/53193127</guid><author>makemeasmile</author><pubDate>Wed, 16 Nov 2016 23:28:52 +0800</pubDate><description><![CDATA[先了解AOP的相关术语:
1.通知(Advice):
通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。
2.连接点(Joinpoint):
程序能够应用通知的一个“时机”，这些“时机”就是连接点，例如方法被调用时、异常被抛出时等等。
3.切入点(Pointcut)
通知定义了切面要发生的“故事”和时间，那么切入点就定义了“故事”发生的地点，例如某个类或方]]></description><category></category></item><item><title><![CDATA[Redis集群]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/53192770</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/53192770</guid><author>makemeasmile</author><pubDate>Wed, 16 Nov 2016 22:46:24 +0800</pubDate><description><![CDATA[集群技术是构建高性能网站架构的重要手段，试想在网站承受高并发访问压力的同时，还需要从海量数据中查询出满足条件的数据，并快速响应，我们必然想到的是将数据进行切片，把数据根据某种规则放入多个不同的服务器节点，来降低单节点服务器的压力。
上一篇我们讲到了 Redis 的主从复制技术，当实现了多节点的 master-slave 后，我们也可以把它叫做集群，但我们今天要讲的集群主要是利用切片技术来组建的集]]></description><category></category></item><item><title><![CDATA[redis如何分配哈希槽]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/53192658</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/53192658</guid><author>makemeasmile</author><pubDate>Wed, 16 Nov 2016 22:31:35 +0800</pubDate><description><![CDATA[Redis 集群中内置了
 16384 个哈希槽，当需要在 Redis 集群中放置一个 key-value

时，redis 先对 key 使用 crc16 算法算出一个结果，然后把结果对
 16384 取模，

这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽，redis 会根据节点数量大

致均等的将哈希槽映射到不同的节点。]]></description><category></category></item><item><title><![CDATA[IO 和 NIO]]></title><link>https://blog.youkuaiyun.com/makemeasmile/article/details/53171165</link><guid>https://blog.youkuaiyun.com/makemeasmile/article/details/53171165</guid><author>makemeasmile</author><pubDate>Tue, 15 Nov 2016 14:49:12 +0800</pubDate><description><![CDATA[IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现，底层通过 I/O 指令进行完成。
1. 标准IO
Java 标准 IO 类库是 io 面向对象的一种抽象。基于本地方法的底层实现，我们无须关注底层实现。
从处理数据类型上，可以分为字节流和字符流；从数据流向上，可以分为输入流和输出流。



-
字节流
字符流




]]></description><category></category></item></channel></rss>