11 2012 档案

maven 入门
摘要:先介绍下Ant 和 Maven的区别:Apache Ant :1、Ant 没有正式的约定如一个一个班项目的目录结构,你必须明确的告诉Ant哪里去找源代码,哪里放置输出。随着时间的推移,非正式的约定出现了,但是他们还没有在产品中模式化。2、Ant 是程序化的,你必须明确的告诉Ant做什么,什么时候做。你必须告诉它去编译,然后复杂,然后压缩。3、Ant 没有生命周期,你必须定义目标和目标之间的依赖。你必须手工为每个目标附上一个任务序列。Apache Maven :1、Maven 拥有约定,因为你遵循了约定,它已经知道你的源码在哪里。它把字节码放到target/classes,然后在target生成 阅读全文

posted @ 2012-11-29 18:04 易木 阅读(270) 评论(0) 推荐(1) 编辑

ant 入门
摘要:一、构建ant环境1、下载:到ANT官方网站http://mirror.bjtu.edu.cn/apache/ant/binaries/下载最新版本,当前是apache-ant-1.8.4-bin.zip,解压后即可。2、配置环境变量:我的电脑----属性-----高级----环境变量 如:ANT_HOME:D:\ant PATH:%ANT_HOME%\bin (为了方便在dos环境下操作)3、查看是否安装成功:在dos窗口中输入命令ant,若出现结果 Buildfile:build.xml does not exist! Build failed 说明ant... 阅读全文

posted @ 2012-11-28 14:31 易木 阅读(247) 评论(0) 推荐(0) 编辑

Spring事务配置的五种方式【转】
摘要:前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时,DataSource实际为SessionFactory,. 阅读全文

posted @ 2012-11-27 14:18 易木 阅读(138) 评论(0) 推荐(0) 编辑

Hibernate事务与并发问题处理(乐观锁与悲观锁)【转】
摘要:Hibernate事务与并发问题处理(乐观锁与悲观锁)一、数据库事务的定义 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。 1. 原子性(atomic),事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行 2. 一致性(consistent),事务... 阅读全文

posted @ 2012-11-27 14:09 易木 阅读(264) 评论(0) 推荐(0) 编辑

判断网页浏览器内嵌Flash版本(JS)
摘要:1 2 function flashChecker() 3 { 4 var hasFlash=0; //是否安装了flash 5 var flashVersion=0; //flash版本 6 var isIE=/*@cc_on!@*/0; //是否IE浏览器 7 8 if(isIE) 9 {10 var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); 11 if(swf) {12 hasFlash=1;13 VSwf=swf.GetVariable("$version");14 flash 阅读全文

posted @ 2012-11-23 14:51 易木 阅读(265) 评论(0) 推荐(0) 编辑

使用javap分析你的程序性能(以字符串拼接为例)
摘要:javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码。通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作。语法: javap[命令选项]class... javap命令用于解析类文件。其输出取决于所用的选项。若没有使用选项,javap将输出传递给它的类的public域及方法。javap将其输出到标准输出设备上。命令选项 -help输出javap的帮助信息。 -l输出行及局部变量表。 -b确保与JDK1.1javap的向后兼容性。 -public只显示public类及成员。 -protected只显示protected和public类及成员。 ... 阅读全文

posted @ 2012-11-22 16:42 易木 阅读(712) 评论(0) 推荐(0) 编辑

替代Oracle的minus写法
摘要:1 SELECT *2 FROM Table1 a3 LEFT JOIN Table2 b4 ON a.Col1 = b.Col1 AND a.Col2 = b.Col25 WHERE b.Col1 IS NULL适用非Oracle的数据库,还有一种写法总感觉没这优雅,因为用了NOT EXISTS1 SELECT *2 FROM Table13 WHERE NOT EXISTS (4 SELECT *5 FROM Table26 WHERE Col1 = Table1.Col17 AND Col2 = Table1.Col28 ) 阅读全文

posted @ 2012-11-22 14:14 易木 阅读(473) 评论(0) 推荐(0) 编辑

关于hashcode()
摘要:1.hashcode是用来查找的,如果你学过数据结构就应该知道,在查找和排序这一章有例如内存中有这样的位置0 1 2 3 4 5 6 7 而我有个类,这个类有个字段叫ID,我要把这个类存放在以上8个位置之一,如果不用hashcode而任意存放,那么当查找时就需要到这八个位置里挨个去找,或者用二分法一类的算法。但如果用hashcode那就会使效率提高很多。我们这个类中有个字段叫ID,那么我们就定义我们的hashcode为ID%8,然后把我们的类存放在取得得余数那个位置。比如我们的ID为9,9除8的 余数为1,那么我们就把该类存在1这个位置,如果ID是13,求得的余数... 阅读全文

posted @ 2012-11-22 11:57 易木 阅读(204) 评论(0) 推荐(0) 编辑

字符串转数字,不用系统自带函数
摘要:这个是昨天别人出的一道题目,我自己想的有点复杂的了,当时不知道字符之间可以相减,不罗嗦了,两个写法对比下吧。方法一:1Strings="12254";2intl=s.length();3intn=0;45for(inti=0;i<l;i++){6n+=((int)s.charAt(i)-48)*Math.pow(10,l-i-1);7}8 System.out.println(n);方法二:1Strings="12254";2intl=s.length();3intradix=1;4intn=0;56for(inti=l;i>0;i--){7 阅读全文

posted @ 2012-11-22 10:22 易木 阅读(226) 评论(0) 推荐(0) 编辑

获取在线时间 (Java Socket)
摘要:1importjava.io.IOException;2importjava.io.InputStream;3importjava.net.Socket;4importjava.util.Scanner;567publicclassSocketTest{8publicstaticvoidmain(String[]args){9Sockets=null;10try{11s=newSocket("time-A.timefreq.bldrdoc.gov",13);12InputStreaminStream=s.getInputStream();13Scannerin=newSca 阅读全文

posted @ 2012-11-21 11:51 易木 阅读(546) 评论(0) 推荐(0) 编辑

mongoose update multi rows
摘要:model.collection.update({"id":XX},{$set:{"money":1}},{"multi":true,"upsert":false},callback); 阅读全文

posted @ 2012-11-20 10:41 易木 阅读(621) 评论(0) 推荐(0) 编辑

MongoDB update数据语法
摘要:在前面的文章“mongodb 查询的语法”里,我介绍了Mongodb的常用查询语法,Mongodb的update操作也有点复杂,我结合自己的使用经验,在这里介绍一下,给用mongodb的朋友看看,也方便以后自己用到的时候查阅:注:在这篇文章及上篇文章内讲的语法介绍都是在mongodb shell环境内的,和真正运用语言编程(如java,php等)使用时,在使用方法上会有一些差别,但语法(如查询条件,$in,$inc等)是一样的。本文是参考官方文档来介绍的,之所以有官方文档还要在这介绍,一方面是就当翻译,毕竟每次要用时去看英文文档比较累,第二是官方文档讲解比较简单,有时光看官方文档不好理解,我在 阅读全文

posted @ 2012-11-20 10:27 易木 阅读(1270) 评论(0) 推荐(0) 编辑

随机算法
摘要:1voidShuffleArray_Fisher_Yates(char*arr,intlen)2{3inti=len,j;4chartemp;56if(i==0)return;7while(--i){8j=rand()%(i+1);9temp=arr[i];10arr[i]=arr[j];11arr[j]=temp;12}13}摘自:http://coolshell.cn/articles/8593.html 阅读全文

posted @ 2012-11-20 09:41 易木 阅读(166) 评论(0) 推荐(0) 编辑

PHP文件上传($_FILES)错误信息说明
摘要:错误信息说明从 PHP 4.2.0 开始,PHP 将随文件信息数组一起返回一个对应的错误代码。该代码可以在文件上传时生成的文件数组中的error字段中被找到,也就是$_FILES['userfile']['error']。UPLOAD_ERR_OK其值为 0,没有错误发生,文件上传成功。UPLOAD_ERR_INI_SIZE其值为 1,上传的文件超过了php.ini中upload_max_filesize选项限制的值。UPLOAD_ERR_FORM_SIZE其值为 2,上传文件的大小超过了 HTML 表单中MAX_FILE_SIZE选项指定的值。UPLOAD_E 阅读全文

posted @ 2012-11-14 14:14 易木 阅读(304) 评论(0) 推荐(0) 编辑

System.Net.Sockets.SocketException 使用了与请求的协议不兼容的地址
摘要:今天写一个socket通信程序时,为获取本机ip,我用两种方法写了一个函数或者虽然没出错,但有一个warning警告("System.Net.Dns*******"是废弃了,请另外使用GetHostEntrys)然后我也信了,它(MS)说怎么的就怎么的吧但是我继续运行socket程序时,报错出了异常信息(ip地址和使用的请求协议不兼容)然后我google了一下,原来是在vista,windown7中GetHostEntry返回是ipv6的地址,所以在用ipv6地址去创建ipv4 socket时会出错知道原因后,解决方法就是:1.继续使用这个所谓的过时,废弃的GetHostB 阅读全文

posted @ 2012-11-13 21:43 易木 阅读(3291) 评论(0) 推荐(0) 编辑

MongoDB安装及设置开机启动(Window篇)
摘要:1、下载MongoDB数据库http://downloads.mongodb.org/win32/mongodb-win32-i386-2.0.7.zip; 2.07往后版本(不包括)已不支持Windows XP 系统2、将安装文件解压到C盘(注意:安装路径中不能出现空格),配置“环境变量”,将 %MONGODB_HOME%\bin 添加到“Path”中;3、进入DOS窗口,设置数据保存目录(与端口)和日志输出目录。DOS命令:Dos代码mongod--port<端口>--dbpath<数据路径>--logpath<日志路径>--logappend--dir 阅读全文

posted @ 2012-11-12 18:00 易木 阅读(866) 评论(0) 推荐(0) 编辑

Apache配置虚拟主机
摘要:1、Apache支持配置多个虚拟目录,有的人可能直接在httpd.conf(该文件在:Apache2\conf的目录里)里面配置,今天我是直接配置在:httpd-vhosts.conf(该文件在:Apache2\conf\extra目录里)里。在httpd-vhosts.conf里的文件最后面加入了以下代码:<VirtualHost *:80>ServerAdmin webmaster@dummy-host2.localhostDocumentRoot "d:/web"ServerName website.cn</VirtualHost><Vi 阅读全文

posted @ 2012-11-08 17:58 易木 阅读(155) 评论(0) 推荐(0) 编辑

PHP显示Deprecated: Assigning the return value of new by reference is deprecated in解决办法
摘要:解决办法:php5.3开始后,废除了php中的”=&”符号,所以要想复制,直接用=引用即可。详细如下:1、PHP5对象复制是采用引用的方式;2、如果不采用引用方式,则需要在复制对象时加关键字 clone;3、如果在复制的过程中,同时要变更某些属性,则增加函数_clone(); 阅读全文

posted @ 2012-11-08 16:18 易木 阅读(257) 评论(0) 推荐(0) 编辑

NodeJS创建http client
摘要:1varhttp=require('http');23vardata=JSON.stringify({'important':'data'});4varcookie='something=anything'56varclient=http.createClient(80,'www.example.com');78varheaders={9'Host':'www.example.com',10'Cookie':cookie,11'Content-Type' 阅读全文

posted @ 2012-11-06 14:35 易木 阅读(1625) 评论(0) 推荐(0) 编辑

call_user_func和call_user_func_array的区别
摘要:1.call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:function a($b,$c) {echo $b;echo $c;}call_user_func('a', "111","222");call_user_func('a', "333","444");//显示 111 222 333 444?>调用类内部的方法比较奇怪,居然用的是array,不知道开发者是如何考虑的,当然省去了new,也是满有新意的:class a {function b($c 阅读全文

posted @ 2012-11-02 11:28 易木 阅读(424) 评论(0) 推荐(0) 编辑

PHP 结合MYSQL简单的实现了Todo List 功能
摘要:具体功能如下:1、增加、修改、删除及标记任务完成;2、历时任务查看;3、任务优先级 ;效果图:conn.php 数据库操作文件1<?php23functionadd($data){4$sql="insertintotodo(content,level,status,op_date)values('".$data["content"]."','".$data["level"]."','0',current_date)";5executeSql( 阅读全文

posted @ 2012-11-02 10:19 易木 阅读(1255) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示