安装Nginx时,如果加载rewrite模块,则需要PCRE的支持。
PCRE可通过http://www.pcre.org/网站下载。
安装方法
#tar zxvf pcre-8.11.tar.gz
#cd pcre-8.11
#./configure
#make
#make install
专注WEB编程开发技术
安装Nginx时,如果加载rewrite模块,则需要PCRE的支持。
PCRE可通过http://www.pcre.org/网站下载。
安装方法
#tar zxvf pcre-8.11.tar.gz
#cd pcre-8.11
#./configure
#make
#make install
1.禁用历史版本(Revisions)方法
在wp-config.php中加入如下代码:
define(‘WP_POST_REVISIONS’, false);
2.禁用自动保存(AutoSave)方法
打开以下2个文件
wp-admin/post-new.php
wp-admin/post.php
注释掉下面这行代码:
//wp_enqueue_script(‘autosave’);
近期我刚刚完成了一个信息采集的Java项目,其中采集环节是以多线程的方式来运行的。开发时在多线程的控制方面遇到了不少的麻烦,主要是线程同步问题和线程的状态管理,我就这两方面简单谈谈自己的心得。
在Java中,经常会出现多个线程同时对同一资源进行操作,比如同时改变同一个变量,例如线程A刚刚将变量值改为1,紧接着线程B又将变量值改为2,这时线程A继续下面的程序时如果需要用的这个变量,就会出现错误。
因此我们需要让一个线程操作资源时其他线程进行等待,这就需要用到锁的概念,Java中提供了synchronized这个方法让线程对资源操作时进行同步。synchronized具体的用法可以上网搜索一下,相关的技术文章很多很多。这里就不详细举例了。
在我的项目中,还遇到了另外一个问题,就是线程尚未结束,主进程就已经结束了,由于主进程过早结束造成数据库连接被销毁,导致线程无法正常操作数据库而报错。我的解决方案是先构建一个线程池,线程池中记录活动的线程数量,在主进程最后结束前,做一个while循环判断线程池中的活动线程数量,当活动线程为0时,再退出while循环并且结束主进程。
线程池的实现方法简要来说就是每创建一个新的线程,就将线程池中的活动线程数量+1,当线程结束时,通过线程回调,将线程池中的活动线程数量再-1。
以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; } } }
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]+""); } } }
官方网站上的原文如下:
大致翻译一下:
1.找到你的Netbeans安装目录下的etc文件夹;
2.用记事本打开netbeans.conf;
3.找到netbeans_default_options,在其属性的最后追加一个空格,再加上-J-Dfile.encoding=UTF-8。
最近在一个项目遇到了需要全部适用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(); //刷新父窗体
//函数:Javascript正则表达式验证正浮点数格式 function CheckFloat(num) { var reg = new RegExp("^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9][1-9]*[0-9]*))$"); //匹配正浮点数 if( !reg.test(num) ) { return false; } return true; }