Object的wait()与Thread的sleep()之间的异同点

Object类的wait()方法与Thread类的sleep()方法都可以用于处理线程间的协作运行。但两者的应用场合是非常不同的,本文将主要介绍两个方法的不同之处,同时通过一个简短程序,希望读者能够直观地了解两者是如何处理当前线程的锁资源。...
阅读(600) 评论(0)

备忘录模式实现画图板撤销操作

设计模式给人以抽象的概念,容易让初学者望而却步。其实很多设计模式在开发的过程中,都会不经意地被使用。 本文将通过一个图形界面实现画板的撤销操作,让读者对于设计模式之一的“备忘录模式”有一个直观的感受。...
阅读(837) 评论(0)

Dijkstra算法求解最短路径

Dijkstra算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。...
阅读(443) 评论(0)

不相交集生成随机迷宫

不相交集可以用于解决等价关系。这种数据结构实现起来非常简单,只需要一个一维数组。采用不相交集来演示如何生成随机迷宫,并用图形界面给予展示。...
阅读(813) 评论(0)

递归优化之尾递归

采用递归算法和尾递归算法解决斐波那契问题,并分析造成两者计算时间差距之大的原因。最后,以一个例子,说明函数式语言的尾递归优化...
阅读(1523) 评论(0)

动态规划解决找零钱问题

贪心算法在求解找零钱的某些情况时,无法得到全局最优方案;使用动态规划,则可以保证每次都取得最优方案。...
阅读(4176) 评论(3)

手游服务端代码热部署

采用jdk6的Instrumentation接口,动态改变已加载到JVM的类文件的方法体定义,实现在不重启应用的情况下,修改文件源代码...
阅读(2761) 评论(0)

多线程处理哲学家就餐问题(GUI动态演示)

利用Java的多线程机制,以GUI形式动态演示解决哲学家就餐问题。...
阅读(4151) 评论(1)

线程死锁检测方法

当多条线程以不同的顺序抢占同步资源的时候,就有可能发生死锁。可通过jstack分析堆栈信息或者采用JConsole工具来帮助我们快速找到发生死锁的根源。...
阅读(4212) 评论(2)

获取全部子类或接口的全部实现

模拟EclipseF4快捷键设计,以期获得类的结构层次关系。即,获得一个类的所有子类,或者获得实现某一个接口的所有实现类...
阅读(2940) 评论(0)

线程池学习笔记

在生产环境中,“为每个任务分配一个独立的线程”这种方法存在很多缺陷,尤其是当需要创建大量的线程的情况。线程池的出现使用,使服务器不会无限创建数千个线程来争夺有限的CPU和内存资源。...
阅读(553) 评论(0)

Java模拟抢红包应用

近几年来,春节抢红包热潮席卷全国。公司的游戏也赶上了风潮,玩起了抢红包活动。 关键思想: 1.抢红包涉及多人并发操作,需要做好同步保证多线程运行结果正确。 2.由于同时在线人数大,从性能方面考虑,玩家的发红包请求不必及时响应,而由服务端定时执行发红包队列。 下面是主要的代码和实现逻辑说明 1.创建一个类,表示红包这个实体概念。直接采用原子变量保证增减同步。Java的原子变量是一种...
阅读(2019) 评论(0)
42条 共3页首页 上一页 1 2 3
    个人资料
    • 访问:101648次
    • 积分:1423
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:0篇
    • 译文:0篇
    • 评论:27条
    博客专栏
    最新评论