关闭

Java并发编程:死锁(哲学家就餐)

死锁   某个任务在等待另一个任务,而后者又等待别的任务,这样一直下去,直到这个链条上的任务又在等待第一个任务释放锁。这得到了一个“任务之间互相等待的连续循环”,没有哪个线程能继续。这被称之为死锁。      如果你运行一个程序,而他马上就死锁了,你可以立即跟踪下去。真正的问题在于,程序可能看起来工作良好,但是具有潜在的死锁危险。这时,死锁可能发生,而事先却没有任何征兆,所以缺陷会潜伏...
阅读(14) 评论(0)

动态代理(JDK实现)

代理是基本的设计模式之一,代理通常充当着中间人的角色。 一个代理的简单示例: /** * 代理结构的简单示例 * */ interface Interface { void doSomething(); void somethingElse(String arg); } class RealObject implements Interface { p...
阅读(106) 评论(0)

Java泛型中擦除的问题

摘自Java编程思想 擦除使得现有的非泛型客户端代码能够在不改变的情况下继续使用,直至客户端准备好用泛型重写这些代码。 擦除的代价是显著的。泛型不能用于显式地引用运行时类型的操作之中,例如转型、instanceof操作和new表达式。 因为所有关于参数的类型信息都丢失了,无论何时,当你在编写泛型代码时,必须时刻提醒自己,你只是看起来好像拥有有关参数的类型信息而已。因此,如果你...
阅读(227) 评论(0)

spring 配置文件配置重定向

...
阅读(104) 评论(0)

KMP算法 Java实现

实现原理参考:https://news.cnblogs.com/n/176771/ 总觉得获取next数组(部分匹配表)的时间复杂度不太好 正文: 字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-...
阅读(294) 评论(0)

排序算法总结

排序的稳定性 经过对总分的降序排序后,总分高的排在前列。,此时对于令狐冲和张无忌而言,未排序时是令狐冲在前,那么他们总分排序后,分数相等的令狐冲依然应该在前,这样才算是稳定的排序,如果他们二者颠倒了,则此排序是不稳定的了。 排序算法总结 根据排序过程中借助的主要操作,我们将内排序分为:插入排序、交换排序、选择排序和归并排序四类。 将七种算法的各种指标进行对比...
阅读(137) 评论(0)

快速排序(Quick Sort) Java实现

快速排序(Quick Sort) 快速排序(Quick Sort)的基本思想是:通过一趟排序将待排记录分割成独立的两部分其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的。 快速排序优化 1.优化选取枢轴     三数取中(median-of-three)法。即取三个关键字先进行排序,将中间数作为枢轴,一般是取左端、右...
阅读(318) 评论(0)

归并排序(Merge Sort)递归、非递归 Java实现

归并排序与堆排序充分利用了完全二叉树的深度为logn + 1的特性,因而效率比较高。 归并排序(Merge Sort) 归并排序(Merge Sort)就是利用归并的思想表现的排序方法。 它的原理是假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到[n/2]([x]表示不小于x的最小整数)个长度为2或1的有序子序列;再两两归并,……,...
阅读(275) 评论(0)

堆排序算法(Heap Sort) Java实现

堆(Heap) 堆是具有下列性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。 如果按照层序遍历的方式给结点从1开始编号,则结点之间满足如下关系: 堆排序(Heap Sort) 堆排序就是利用堆(假设利用大顶堆)进行排序的方法。它的基本思想是,将待排序的序列构造成一个大顶堆。此时,整个序列的最大...
阅读(231) 评论(0)

希尔排序算法(Shell Sort) Java实现

希尔排序(Shell Sort) 是对直接插入排序改进后的版本,可以增加效率 所谓基本有序,就是小的关键字基本在前面,大的基本在后面,不大不小的基本在中间。 将相距某个“增量”的记录组成一个子序列,这样才能保证在子序列内分别进行直接插入排序后得到的结果是基本有序而不是局部有序 import java.util.Arrays; import java.util.R...
阅读(248) 评论(0)

直接插入排序算法(Straight Insertion Sort) Java实现

直接插入排序算法 直接插入排序(Straight Insertion Sort)的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表 import java.util.Arrays; import java.util.Random; /** * 直接插入排序算法 * * 与冒泡、简单排序时间复杂度相同,但是比后两者性能要好 * * 数组下标为0...
阅读(263) 评论(0)

简单选择排序算法(Simple Selection Sort) Java实现

简单选择排序算法 简单选择排序算法(Simple Selection Sort)就是通过n-1 次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1≦i≦n)个记录交换之。 import java.util.Arrays; import java.util.Random; /** * 简单选择排序算法 * */ public class SimpleSelect...
阅读(418) 评论(0)

冒泡排序算法(Bubble Sort) Java实现

冒泡排序的基本思想: 两两相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 import java.util.Arrays; import java.util.Random; /** * 冒泡排序 * */ public class BubbleSort { /** * 冒泡排序 * * 从0开始往右两两比较,如果左边大于右...
阅读(447) 评论(0)

JBoss 6.4 Eclipse 无法热部署

测试了一下JBoss6.4可以 jboss-eap-6.4\standalone\configuration standalone.xml 中加 jsp-configuration...
阅读(440) 评论(0)

JBoss 6.x Eclipse Console中无法显示System.out.println

裝完 JBoss EAP 6.x ,並利用 Eclipse 開發程式除錯 Debug 時,發現一般使用 System.out.println() &  logger.info() 都沒有出現在 Console 中,查了好久才找到正解如下: 1. 在 Eclipse 開發環境: 在 Servers 視窗下的 JBoss EAP Server 點兩下,選擇 Open Launch conf...
阅读(494) 评论(0)
39条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:12174次
    • 积分:491
    • 等级:
    • 排名:千里之外
    • 原创:35篇
    • 转载:4篇
    • 译文:0篇
    • 评论:2条
    最新评论