摘要: socket概述 我们知道进程通信的方法有管道、命名管道、信号、消息队列、共享内存、信号量,这些方法都要求通信的两个进程位于同一个主机。但是如果通信双方不在同一个主机又该如何进行通信呢?使用tcp/ip协议族就能达到我们想要的效果。但是,当我们使用不同的协议进行通信时就得使用不同的接口,还得处理不同 阅读全文
posted @ 2019-08-06 19:39 Nausicaa0505 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 一部动画电影,背后有上千人的努力。几秒钟的特效,一个画面,可能要几个月的时间完成,你必须认真对待每一帧,十年磨一剑,把一件事,一个工作,一个任务,深究、完善到极致,你才可能拔尖出众,必须很努力才优秀。 阅读全文
posted @ 2019-08-06 19:16 Nausicaa0505 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 转自:https://blog.csdn.net/sunfeizhi/article/details/51926396 左边的整个区域表示一个Zookeeper集群,locker是Zookeeper的一个持久节点,node_1、node_2、node_3是locker这个持久节点下面的临时顺序节点。 阅读全文
posted @ 2019-08-06 15:54 Nausicaa0505 阅读(96) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal,即线程本地变量。如果你创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个本地拷贝,多个线程操作这个变量的时候,实际是操作自己本地内存里面的变量,从而起到线程隔离的作用,避免了线程安全问题。 ThreadLocal内存结构图 当多个线程同时读写 阅读全文
posted @ 2019-08-05 16:07 Nausicaa0505 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 应用场景-集合覆盖问题 假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区都可以接收到信号。 贪心算法介绍 1)贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。 2 阅读全文
posted @ 2019-08-05 10:37 Nausicaa0505 阅读(265) 评论(0) 推荐(0) 编辑
摘要: KMP算法介绍 KMP是一个解决模式串在文本串是否出现过,如果出现过,最早出现的位置的经典算法。Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP算法”,常用于在一个文本串S内查找一个模式串P 的出现位置,这个算法由Donald Knuth、Vaughan Pratt、James 阅读全文
posted @ 2019-08-05 09:57 Nausicaa0505 阅读(341) 评论(0) 推荐(0) 编辑
摘要: future 模式 生产者-消费者模式 生产者-消费者模式是一个经典的多线程设计模式。它为多线程间的协作提供了良好的解决方案。 在生产者-消费者模式中,通常由两类线程,即若干个生产者线程和若干个消费者线程。生产者线 程负责提交用户请求,消费者线程则负责具体处理生产者提交的任务。生产者和消费者之间则通 阅读全文
posted @ 2019-08-01 14:23 Nausicaa0505 阅读(231) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/zhangjg_blog/article/details/18319521 什么是不可变对象?众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对 阅读全文
posted @ 2019-08-01 13:15 Nausicaa0505 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 临界区 – 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用。但是每一次,只能有一个线程 使用它,一旦临界区资源被占用,其他线程要想使用这个资源,就必须等待。 阻塞(Blocking)和非阻塞(Non-Blocking) – 阻塞和非阻塞通常用来形容多线程间的相互影响。阻塞,当一个线程 阅读全文
posted @ 2019-08-01 11:14 Nausicaa0505 阅读(111) 评论(0) 推荐(0) 编辑
摘要: volatile是轻量级的synchronized,如果volatile变量修饰符使用恰当,它比synchronized的使用和执行成本更低,因为它不会引起线程上下文的切换(线程间的保存到再加载)和调度。 内存可见性多线程操作的时候,一个线程修改了一个变量的值 ,其他线程能立即看到修改后的值。防止重 阅读全文
posted @ 2019-07-31 13:37 Nausicaa0505 阅读(126) 评论(0) 推荐(0) 编辑