摘要: package 剑指offer.二叉树中和为某一值的路径; import java.util.ArrayList; /** * Created by nick on 2018/10/12. */ public class Solution { public static void main(String[] args) { TreeNode root =new T... 阅读全文
posted @ 2018-10-12 23:04 思考的胖头鱼 阅读(453) 评论(0) 推荐(0) 编辑
摘要: CAS有3个操作数。内存值V,旧的预约值A,要修改后的新值B。当且仅当预期值A和预期值V相同时,将内存值V修改为新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。 应用1.Atomic包 eg.AtomicInteger 它的增加和减少操作都是原子性的,不会出现多线程下的 阅读全文
posted @ 2018-10-11 09:52 思考的胖头鱼 阅读(1271) 评论(0) 推荐(0) 编辑
摘要: 再简单总结下堆排序的基本思路: a.将无需序列构建成一个堆,根据升序降序需求选择大顶堆或小顶堆; b.将堆顶元素与末尾元素交换,将最大元素"沉"到数组末端; c.重新调整结构,使其满足堆定义,然后继续交换堆顶元素与当前末尾元素,反复执行调整+交换步骤,直到整个序列有序。 阅读全文
posted @ 2018-10-09 22:20 思考的胖头鱼 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 阅读全文
posted @ 2018-10-09 21:47 思考的胖头鱼 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 1.懒汉模式:在多线程下不能正常工作,因为没有加锁 synchronized,所以严格意义上它并不算单例模式。 2.懒汉模式线程安全 3.饿汉式 4.双检锁 采用volitale使singleton在线程间可见,通过synchronized使得不能同时有两个线程同时new Singleton() 5 阅读全文
posted @ 2018-10-09 21:26 思考的胖头鱼 阅读(127) 评论(0) 推荐(0) 编辑
摘要: Tcp应用:邮件传输 udp应用:qq聊天、qq视频 流量控制和拥塞控制: 流量控制:就是让发送方发送速率不要太快,要让接收方来的及接收。 拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提:网络能够承受现有的网络负荷。拥塞控制是一个全局性的过 阅读全文
posted @ 2018-10-09 20:57 思考的胖头鱼 阅读(2872) 评论(0) 推荐(1) 编辑
摘要: Spring 中bean 的生命周期短暂吗? 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有 阅读全文
posted @ 2018-10-09 19:22 思考的胖头鱼 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么? 接口: interface Animal { public void eat(); public void travel(); } 抽象类: /* 文件名 : Employee.java */ public abstract class 阅读全文
posted @ 2018-10-09 18:55 思考的胖头鱼 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 遍历法: public class ReverseListNode { public ListNode Reverse(ListNode root){ ListNode Cur = root; ListNode Pre = null; ListNode headNode =null; while ( 阅读全文
posted @ 2018-10-09 16:32 思考的胖头鱼 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 简单工厂: 特点 1.它是一个具体的类,非接口抽象类。有一个重要的create()方法,利用if或者switch创建产品并返回。 2create方法通常是静止的,所以也称之为静态工厂。 缺点 1.扩展性差(我想增加一种面条,除了新增一个面条产品类,还需要修改工厂类方法) 2不同的产品需要不同额外参数 阅读全文
posted @ 2018-10-09 14:48 思考的胖头鱼 阅读(161) 评论(0) 推荐(0) 编辑