09 2017 档案
Java 学习开发记录基础
摘要:Java中的Enum // 使用枚举类替代静态常量可以// 枚举类不可再被继承,即是finalpublic enum TestEnum { // 枚举值出现在首位,静态常量 RED(255,0,0),BLUE(0,0,255),GREEN(0,255,0); // 提供私有的构造函数 private 阅读全文
posted @ 2017-09-29 17:48 啊哈咧 阅读(234) 评论(0) 推荐(0)
AVL 树
摘要:一棵AVL树是每个节点的左子树和右子树的高度最多差1的二叉查找树 阅读全文
posted @ 2017-09-06 09:10 啊哈咧 阅读(148) 评论(0) 推荐(0)
二叉查找树
摘要:结构体声明: 建立空树: 查找操作: FindMin实现: FindMax实现: Insert操作: Delete操作: 阅读全文
posted @ 2017-09-06 08:59 啊哈咧 阅读(150) 评论(0) 推荐(0)
最小生成树
摘要:Prim 算法:Prim 集,已添加至 Prim 树中顶点集,在每个迭代中加入边 (u, v) ,u 是 Prim 集中点, v 是集外点(最小边),将边加入,将 v 纳入 Prim 集中 Kruskal 算法:加入最小树边,不形成回路,伪代码 Prim, Kruskal算法求组成树的边最小 阅读全文
posted @ 2017-09-05 23:57 啊哈咧 阅读(122) 评论(0) 推荐(0)
单源最短路径问题-具有负边值的图
摘要:借助队列处理 阅读全文
posted @ 2017-09-05 23:56 啊哈咧 阅读(226) 评论(0) 推荐(0)
单源最短路径问题-Dijkstra算法
摘要:同样是层序遍历,在每次迭代中挑出最小的设置为已知 2017年9月18日10:00:03 dijkstra并不是完全的层序遍历,在第次迭代中挑出未遍历的最小的边,一种信心的应用 dijkstra算法是求带权单顶点到其他顶点的最短路径问题 表初始化 显示实际路径 算法伪代码 阅读全文
posted @ 2017-09-05 23:53 啊哈咧 阅读(235) 评论(0) 推荐(0)
SpringMVC 简介
摘要:1 架构流程 1、 用户发送请求至前端控制器DispatcherServlet 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给Dispatcher 阅读全文
posted @ 2017-09-03 15:49 啊哈咧 阅读(148) 评论(0) 推荐(0)
CountDownLatch、CyclicBarrier和 Semaphore
摘要:CountDownLatch、CyclicBarrier和 Semaphore比较 1)CountDownLatch和CyclicBarrier都能够实现线程之间的等待,只不过它们侧重点不同: CountDownLatch一般用于某个线程A等待若干个其他线程执行完任务之后,它才执行; 而Cyclic 阅读全文
posted @ 2017-09-03 11:32 啊哈咧 阅读(238) 评论(0) 推荐(0)
Fork/Join-Java并行计算框架
摘要:Java在JDK7之后加入了并行计算的框架Fork/Join,可以解决我们系统中大数据计算的性能问题。Fork/Join采用的是分治法,Fork是将一个大任务拆分成若干个子任务,子任务分别去计算,而Join是获取到子任务的计算结果,然后合并,这个是递归的过程。子任务被分配到不同的核上执行时,效率最高 阅读全文
posted @ 2017-09-02 23:30 啊哈咧 阅读(653) 评论(0) 推荐(0)
阻塞队列BlockingQueue
摘要:BlockingQueue最终会有四种状况,抛出异常、返回特殊值、阻塞、超时,下表总结了这些方法: 抛出异常 特殊值 阻塞 超时 插入 add(e) offer(e) put(e) offer(e, time, unit) 移除 remove() poll() take() poll(time, u 阅读全文
posted @ 2017-09-02 23:29 啊哈咧 阅读(228) 评论(0) 推荐(0)
Lock和Condition
摘要:锁对象Lock Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题: public class LockTest { publicstaticvoid main(String[] args) { final Outputter1 阅读全文
posted @ 2017-09-02 23:25 啊哈咧 阅读(398) 评论(0) 推荐(0)
Java 多线程的一些问题
摘要:1、volatile关键字的作用 一个非常重要的问题,是每个学习、应用多线程的Java程序员都必须掌握的。理解volatile关键字的作用的前提是要理解Java内存模型,volatile关键字的作用主要有两个: (1)多线程主要围绕可见性和原子性两个特性而展开,使用volatile关键字修饰的变量, 阅读全文
posted @ 2017-09-02 16:01 啊哈咧 阅读(227) 评论(0) 推荐(0)
Eclipse 快捷键
摘要:Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctr 阅读全文
posted @ 2017-09-01 20:16 啊哈咧 阅读(139) 评论(0) 推荐(0)
代理模式
摘要:为其他对象提供一种代理,并以控制对这个对象的访问。 下面是一些可以使用Proxy模式常见情况: 1) 远程代理(Remote Proxy)为一个位于不同的地址空间的对象提供一个本地的代理对象。这个不同的地址空间可以是在同一台主机中,也可是在另一台主机中,远程代理又叫做大使(Ambassador) 2 阅读全文
posted @ 2017-09-01 10:39 啊哈咧 阅读(134) 评论(0) 推荐(0)
解释器模式
摘要:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子。 解释器模式的结构 抽象解释器:声明一个所有具体表达式都要实现的抽象接口(或者抽象类),接口中主要是一个interpret()方法,称为解释操作。具体解释任务由它的各个实现类来完成,具体的解释器分别由终结符解 阅读全文
posted @ 2017-09-01 10:23 啊哈咧 阅读(137) 评论(0) 推荐(0)