Java多线程的实现

以NetBeans环境为例,新建一个J2SE的项目,然后在项目中新建一个名为mythread的包,在mythread包中,新建两个类,分别为Main.java和MyThread.java,下面提供这两个文件的代码。

Main.java代码:

package mythread;

/**
 * @author Jason
 */
public class Main
{
    public static void main(String[] args)
    {
        for(int i = 0; i < 5; i++) new MyThread(i+1).start();
    }
}

MyThread.java代码:

package mythread;

/**
 * @author Jason
 */
public class MyThread extends Thread
{
    int intCount = 1, intNumber;

    /**
     * 构造函数
     * @param int num 线程编号
     */
    public MyThread(int num)
    {
        intNumber = num;
        System.out.println("创建线程 " + intNumber);
    }

    @Override
    /**
     * 线程启动
     */
    public void run()
    {
        while(true)
        {
            System.out.println("线程 " + intNumber + ":计数 " + intCount);
            if(++intCount == 9) return;
        }
    }
}

Java的数组冒泡排序法

public class BubbleSortClass
{
    public static void main(String args[])
    {
        int i;
        int j;
        int intArray[] = {30, 1, -9, 70, 25}; //创建一个数组
        int k = intArray.length; //获取数组元素的数量
        for (i=0; i<k-1; i++)
        {
            for (j=i+1; j<k; j++)
            {
                if (intArray[i]>intArray[j])
                {
                    int t = intArray[i];
                    intArray[i] = intArray[j];
                    intArray[j] = t;
                }
            }
        }
        for (i=0; i<k; i++)
        {
            System.out.println(intArray[i]+"");
        }
    }
}

分享一个用jQuery实现自动检测并设置浏览器编码的实例

最近在一个项目遇到了需要全部适用UTF-8编码来制作页面的问题,发现有时浏览器并不那么听话,于是写了一段自动检测并且设置浏览器编码的程序,非常简单,具体方法如下:

下面html页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="JavaScript" type="text/javascript" src="jquery.js"></script>
<script language="JavaScript" type="text/javascript" src="autocharset.js"></script>
</head>

<body>
<p>这是一个自动检测并设置浏览器编码的实例</p>
</body>
</html>

下面是autocharset.js文件:

$(document).ready(function() {
    if($(document).attr("charset") == "utf-8") {
        alert($(document).attr("charset")); //debug
    } else {
        $(document).attr("charset", "utf-8");
        window.location.reload();
    }
});

弹出的模式窗体控制父窗体的方法

在父窗体中弹出一个模式窗体:

var strUrl = ‘test.php’;
window.showModalDialog(strUrl, window, “dialogWidth:800px; dialogHeight:600px; dialogHide:yes; scroll:no; status:no”);

在模式窗体中获取父窗体对象,并控制父窗体页面进行刷新(也可以进行其他操作)。

var objParentWin = window.dialogArguments; //获取父窗体对象
objParentWin.location.reload(); //刷新父窗体

PHP程序员面试时经常会被考的冒泡排序算法

PHP程序员在面试过程中,冒泡排序法应该是被考频率最高的,下面和大家分享一个PHP采用冒泡排序法对数组进行排序的函数。

<?php
//冒泡排序法
function bubble_sort($array)
{
    $count = count($array);
    if ($count <= 0) {
        return false;
    }
    for ($i=0; $i<$count; $i++) {
        for ($k=$count-1; $k>$i; $k--) {
            if ($array[$k] < $array[$k-1]) {
                $tmp = $array[$k];
                $array[$k] = $array[$k-1];
                $array[$k-1] = $tmp;
            }
        }
    }
    return $array;
}
$arr = array(3, 5, 1, 4, 2);
$s = bubble_sort($arr);
print_r($s);
?>

 

关于PHP缓冲控制在IE浏览器下的应用

最近写程序的时候遇到一个问题,就是我用PHP控制浏览器缓冲,试了N次都无法实现想要的效果,具体程序见下面的代码:

<?php
for ($i=0; $i<10; $i++) {
    echo "<BR>".$i;
    flush();
    sleep(1);
}
?>

上面这段程序是实现每隔1秒钟在浏览器上输出一个字符,但实际效果是程序执行完后才把所有字符输出到浏览器上,调试了好几次都不行。在网上搜索了N个技术文章都没有解决这个问题。最后从一篇文章上找到些灵感,那篇文章里写到flush()函数可能在微软IE浏览器的个别版本上不起作用。

阅读更多