J2EE

安装了MyEclipse10.0和Tomcat7.0之后老是自动进入Debug模式

之前一直出这样的情况:
运行Tomcat之后,
老是每隔一段时间就跳到Debug模式,
进入了ThreadPoolExecutor.class这个类
但是我却又根本没有设置断点。

这个问题困扰了我一段时间,
现在终于搜到解决方法了:

The posted stack trace indicates that a RuntimeException was encountered in a Daemon thread. This is typically uncaught at runtime, unless the original developer caught and handled the exception.

Typically, the debugger in Eclipse is configured to suspend execution at the location where the exception was thrown, on all uncaught exceptions. Note that the exception might be handled later, lower down in the stack frame and might not lead to the thread being terminated. This would be cause of the behavior observed.

Configuring the behavior of Eclipse is straightforward – in the Preferences Dialog, the Debug pane under Java in the tree hierarchy, has the option titled “Suspend execution on uncaught exceptions”, which can be unchecked.

在MyEclipse中选择Window->Preference->Java->Debug,
然后将右侧的“Suspend execution on uncaught exceptions”的勾去掉即可。

算法

简单选择排序 simple selection sort

选择排序(Selection Sort)的基本思想是:
每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。

简单选择排序(simple selection sort)也是直接选择排序。

复杂度:O(n2)

稳定性:稳定。

public static void sort(int[] nums) {
    int tmp;
    for (int i = 0; i < nums.length; i++) {
        int min = i;
        for (int j = i + 1; j < nums.length; j++) {
            if (nums[min] > nums[j]) {
                min = j;
            }
        }
        if (i != min) {
            tmp = nums[min];
            nums[min] = nums[i];
            nums[i] = tmp;
        }
    }
}
算法

冒泡排序

复杂度:O(n2)

public static void sort(int[] nums) {
    int tmp;
    for (int i = 0; i < nums.length; i++) {
        for (int j = 0; j < nums.length - i - 1; j++) {
            if (nums[j + 1] < nums[j]) {
                tmp = nums[j + 1];
                nums[j + 1] = nums[j];
                nums[j] = tmp;
            }
        }
    }
}
算法

直接插入排序

直接插入排序( straight insertion sort )是一种最简单的排序方法。
它的基本操作是将一个记录插入到一个长度为 m (假设)的有序表中,使之仍保持有序,从而得到一个新的长度为 m+1 的有序表。

时间复杂度:此算法外循环 n-1 次,在一般情况下内循环平均比较次数的数量级为O(n) ,所以算法总时间复杂度为O(n2) 。

稳定性:稳定。

public static void sort(int[] nums) {
    int tmp;
    for (int i = 1; i < nums.length; i++) {
        tmp = nums[i];
        int j = i - 1;
        while (j >= 0 && tmp < nums[j]) {
            nums[j + 1] = nums[j];
            j--;
        }
        nums[j + 1] = tmp;
    }
}
J2EE

Cookie和Session之间的那些事

既然上一篇文章我已经详细分析了session是什么时候建立的问题,
http://www.zhouwenze.com/archives/20120406-612.html
我觉得很有必要重新温习下session和cookie的一些问题。

什么是Cookie?

Cookie是服务器在本地机器上存储的小段文本,它是一个简单的字符串形式的键值对。
网络服务器用HTTP头向客户端发送cookie,
(一般情况下Cookie是由服务端生成的,当然js也能操作cookie)
在客户端,浏览器解析这些cookies并将它们保存到本地,
而后当浏览器访问这个服务器时,它会在任何请求上加上这些cookie。
说白了就是每次你和服务器的交互都会带着这些cookie。
read more »

J2EE

当你访问网站时,Session会立刻建立吗?

Session 机制:

session机制是一种服务器端的机制,
用来在无状态的HTTP协议下越过多个请求页面来维持状态和识别用户。
当程序需要为某个客户端的请求创建一个session的时候,
服务器首先检查这个客户端的请求里是否已包含了一个session标识。

这个标识称为session id,
如果已包含一个session id则说明以前已经为此客户端创建过session,
服务器就按照session id把这个session检索出来使用,
若没有创建过,则创建一个新的Session。
read more »

实用技巧

光标跑到换行符后面 = =

今天坑爹得发现,我的光标居然跑到了换行符的后面!!

如图

网上搜了下,只要做个替换操作就OK了…
开始 – 替换
read more »

Page 1 of 1112345...10...Last »