月份:2012年6月

windows XP 搭建简易SVN 服务器

(1)首先安装svn服务器端和客户端(Setup-Subversion-1.6.6.msi和TortoiseSVN-1.7.7.22907-win32-svn-1.7.5.msi)
(2)在任意盘创建目录作为svn的服务端仓库
(3)在创建的文件夹上点右键,找到svn客户端,选择创建仓库在当前目录
(4)编辑仓库文件夹中conf文件夹里边passwd配置文件加上 username = password(例如zhangsan = 123456)
(5)编辑仓库文件夹中conf文件夹里边的svnserve.conf文件,打开需要使用密码访问的选项,大概在27行,将前边的注释去掉
(6)用svn客户端访问服务器,在任意地方点右键,选择浏览仓库,输入svn地址svn://127.0.0.1
(7)然后可以使用客户端检出服务器项目,并且进行一系列的svn操作

笔记写的很粗糙,没有截图,仅仅是写了几个步骤

php生成UUID(guid)<转载>

notepad++ 插件(持续更新中)

安装NppExec插件,然后点击“插件”主菜单,在其下拉菜单中选中“NppExec”,在二级菜单中选中“Show Console Dialog”。默认在编辑器的底部出现Console Dialog。
编写一个最基本的输出hello world程序
public class Hello{
public static void mian(String[]args){
System.out.println(“Hello world”);
}
}
然后按F6,输入等号之间的内容,将其中的jdk路径改成实际的就行了,第二次运行的时候就不用输入了,只要选择一下要运行哪个设置好的脚本
java配置文件
==========================================================
npp_save// 保存文件
cd “$(CURRENT_DIRECTORY)”
D:\Java\jdk1.6.0_24\bin\Javac.exe “$(FILE_NAME)”//编译
D:\Java\jdk1.6.0_24\bin\java.exe “$(NAME_PART)”//运行
==========================================================
编译一个最基本的PHP代码
< ?php echo("Hello world"); ?>
然后按F6 第一次提示输入,复制下边的配置文件,粘贴点击OK或者保存,以后就不用了
php配置文件
=========================================================
cd “$(CURRENT_DIRECTORY)”
D:\lamp\php5\php.exe “$(FULL_CURRENT_PATH)”
=========================================================
把上边两个保存下,每次按F6 的时候选择你要运行的脚本就可以了,其实没什么太大的用处,就是有时候为了方便一点吧

windows 搭建php运行环境

所用的软件版本如下
httpd-2.2.22-win32-x86-openssl-0.9.8t
php-5.2.17-Win32-VC6-x86
mysql-5.1.57-win32
ZendOptimizer-3.3.3-Windows-i386

phpadmin不习惯用这个,也就没有安装,最好将这些软件安装到一个目录里边,如下图

mysql安装的比较早,所以没有在这个目录里边
所有软件的安装步骤就不详细描述了,只是写了一些安装完之后的配置,也是最基本的配置

(1)使用这个参数启动可以获取到apache配置文件中哪一行出错了(不是必须的,只是刚开始用的安装版的apache,有时候报加载模块失败,找不到错误,所以用这种启动方式能很快的定位出错误原因)
httpd.exe -w -n “apache2.2” -k start
下边的所有涉及到的c:/lamp/***的都是我自己的软件安装路径,需要根据实际情况改成自己的路径。
(2)安装完成后将php的模块加载到apache环境中,打开apache的配置文件
找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so这一行,然后在下边添加
LoadModule php5_module “c:/lamp/php5/php5apache2_2.dll”

然后配置让apache解析php,找到 AddType application/x-gzip .gz .tgz,在该行下边加上
AddType application/x-httpd-php .php .phtml
PHPIniDir “c:/lamp/php5/php.ini”
(3)将php的安装路径配置到系统的环境变量中去,也可以把php需要用到的一些扩展的dll库复制到windows的系统目录中,偷懒了下,就直接配置环境变量了
(4)修改php的配置文件,打开php.ini找到mysql的扩展加载处,找到
extension=php_mysql.dll
extension=php_mysqli.dll
将这两行前边的分号删除掉,
(5)然后指定这些扩展的位置在什么地方,在加载类似这样的扩展的开头处加上下边这句话,(在extension=php_bz2.dll前边加)
extension_dir = “c:/lamp/php5/ext”
(6) 还可以安装其他的扩展 ,比如zend 或者 phpadmin

java 方法重载(OverLoad)

自己的学习笔记,不对的地方,大家留言指出,一起进步,也希望通过博客认识更多的朋友

java 传值传引用(2)一些概念性的东西

首先还是弄懂概念性的东西,自己是一个笨人,就直接用别人的话来描述传值和传引用的概念:
传值(上篇文章里边的):“Java对对象和基本的数据类型的处理是不一样的。和C语言一样,当把Java的基本数据类型(如int,char,double等)作为入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝,所有的函数体内部的操作都是针对这个拷贝的操作,函数执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数的变量。这种方式的参数传递被称为”值传递”。”

传引用:“Java中用对象作为入口参数的传递则缺省为”引用传递”,也就是说仅仅传递了对象的一个”引用”,这个”引用”的概念同C语言中的指针引用是一样的。当函数体内部对输入变量改变时,实质上就是在对这个对象的直接操作。”,这个引用是什么东西呢,用简单的话说就是new出来对象时候返回的一个内存地址,有不对的地方大家留言指出了,本文只是记录自己学习到的东西,写出来的目的就是分享交流。

关于java的指针,理解下边的话
熟悉C的程序员都用过指针,对指针可谓爱之深恨之切。指针是指向一块内存地址的内存数据(有些拗口),也就是说指针本身是一个占用4字节内存的int(32 位系统内),而这个int值恰恰又是另一块内存的地址。比如”hello”这个字串,存放在@0x0000F000这个地址到@0x0000F005这段内存区域内(包括0x00的结束字节)。而在@0x0000FFF0到@0x0000FFF03这四个字节内存放着一个int,这个int的值是 @0x0000F000。这样就形成了一个指向”hello”字串的指针。
在Java中,很多人说没有指针,事实上,在Java更深层次里,到处都是大师封装好的精美绝伦的指针。为了更容易的讲解Java中关于类和类型的调用,Java中出现了值与引用的说法。浅显的来说,我们可以认为Java中的引用与C中的指针等效(其实差别非常非常大,但是为了说明我们今天的问题,把他们理解为等效是没有任何问题的)。
所谓传引用的说法是为了更好的讲解调用方式。基于上面对指针的理解,我们不难看出,指针其实也是一个int值,所谓传引用,我们是复制了复制了指针的int值进行传递。为了便于理解,我们可以姑且把指针看作一种数据类型,透明化指针的int特性,从而提出传引用的概念。

Java 提出的思想,在Java里面任何东西都是类。但是Java里面同时还有简单数据类型int,byte,char,boolean,与这些数据类型相对应的类是Integer,Byte,Character,Boolean,这样做依然不会破坏Java关于任何东西都是类的提法。这里提到数据类型和类似乎和我们要说的传值和传引用的问题无关,但这是我们分辨传值和传引用的基础。

到底什么时候是传的值什么时候是传得引用呢?于是,我们前面讲到的类型和类在这里就派上了用场:对于参数传递,如果是简单数据类型,那么它传递的是值拷贝,对于类的实例它传递的是类的引用。需要注意的是,这条规则只适用于参数传递。

后边介绍String这个怪胎

java 传值与传引用(1)

重新学习java基础,又一次学习到这里,学一次清晰一次,学一次鄙视自己一次,因为觉得自己很菜,觉得要学习的东西很多很多,言归正传了,java里边到底是传什么呢,看了好多书,有说传值的,有说传引用的,自己觉得看怎么理解这两句话了,按照传值这么说的话,引用转载文章里边的话“在java里边都是传值,java对于基本类型,四类八种的基本类型,在调用方法的时候,是把这些基本类型的数据做了一份copy,然后传入到方法内部,传入的参数在方法内部变成了局部变量,这个局部变量是输入参数的一个拷贝,所有的方法内部的操作都是针对这个拷贝的操作,方法执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数的变量”,这种方式的参数传递被称为”值传递”。

对于引用传递:自己的理解是传输的是内存地址,这个内存地址也是一个值,但是是一个地址值,不知道这么说对不对,用转载的那篇文章的话就是“在Java中用对象作为入口参数的传递则缺省为”引用传递”,也就是说仅仅传递了对象的一个”引用”,这个”引用”的概念同C语言中的指针引用是一样的。当函数体内部对输入变量改变时,实质上就是在对这个对象的直接操作”

所以有时候没必要很纠结什么样的说法,应该把这些说法变成自己能理解的东西来,觉得这样就最好了。

下边的代码是复制的IBM网站的,地址是第一行的那个

tomcat 7中配置虚拟目录

(第一步)自己用的是7.0.26的tomcat,打开config下边的web.xml配置文件,找到105行

将105行的false改成true;

(第二步)在config目录中创建tomcat-7.0.26\conf\Catalina\localhost这样的目录结构,不清楚刚下载好的干净的tomcat中config文件夹有没有\Catalina\localhost这两个子目录,如果没有的话,自己手动创建就是了,然后在localhost创建一个XML文件,文件的名字要和你的WEB工程名字一样,比如你的web工程是bolg,那么创建一个blog.xml文件,然后将下边一段话复制到这个xml文件中:

将上边这段要复制的内容替换成你的实际项目就可以了