03 2013 档案

摘要:java文件锁定一般都通过FileChannel来实现。主要涉及如下2个方法:tryLock() throws IOException 试图获取对此通道的文件的独占锁定。tryLock(long position, long size, boolean shared) throws IOException 试图获取对此通道的文件给定区域的锁定。 1 import java.io.*; 2 import java.nio.channels.*; 3 4 public class LockFileDemo { 5 6 public static void main(St... 阅读全文
posted @ 2013-03-31 17:50 yejg1212 阅读(5776) 评论(0) 推荐(0) 编辑
摘要:学了一段时间的Go语言了,今天来见识下Go语言写的递归程序。先来做个经典题题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?分析:有以下数学表达式:Y1=X2+X3 ,Y2=X1 ,Y3=X2+X3Z1=Y2+Y3 ,Z2=Y1 ,Z3=Y2+Y3Z1+Z2+Z3= Y2+Y3+Y1+(Y2+Y3)=(Y2+Y3+Y1)+(X2+X3+X1)因此上面每个月的兔子的数量满足斐波那契数列。斐波那契数列,那就easy了~~package mainimport "fmt"func main() 阅读全文
posted @ 2013-03-30 23:51 yejg1212 阅读(821) 评论(0) 推荐(0) 编辑
摘要:slice(切片)类型,是Go语言中的一种引用类型,如果你将一个切片赋值给另外一个切片,这两个切片将引用同一个底层数组。这与传递一个指向底层数组的指针相类似。确切地说,slice就是一个指向array的指针。slice的创建: //通过make直接创建 s1 := make([]int, 10) fmt.Println(s1) //[0 0 0 0 0 0 0 0 0 0] // 这不是创建数组哦~~创建数组是[n]<type>或者[...]<type> s2 := []int{1, 2, 3, 4, 5} fmt.Println(s2) //[1 ... 阅读全文
posted @ 2013-03-26 23:02 yejg1212 阅读(376) 评论(0) 推荐(0) 编辑
摘要:FF和IE获得事件的方法不一样:IE使用window.event,而FF直接使用参数event,下面有一个例子使用javascript监听回车键,并提交表单:window.onload= function(){ document.onkeydown = function(event){ var e=event || window.event; var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode; if(keyCode == 0x0D){ ... 阅读全文
posted @ 2013-03-26 14:01 yejg1212 阅读(196) 评论(0) 推荐(0) 编辑
摘要:前几天一直在忙,今天才有时间继续学习Go语言。我也不知道会坚持多久,会学到什么地步,不过我会坚持,尽可能地坚持学下去...回到正题,数组是Go语言中的一个重要的类型,由[n]<type> 定义,n 标示array 的长度,而<type> 标示希望存储的内容的类型。申明一个数组:var arr1 [10]intGo语言中的数组一般有固定的大小,大小是类型的一部分。由于不同的大小是不同的类型,因此不能改变大小。数组同样是值类型的:将一个数组赋值给另一个数组,会复制所有的元素。尤其是当向函数内传递一个数组的时候,它会获得一个数组的副本,而不是数组的指针。代码为证: 1 pac 阅读全文
posted @ 2013-03-25 22:53 yejg1212 阅读(460) 评论(0) 推荐(0) 编辑
摘要:在Go语言中只有很少的几个控制结构,它没有while或者do-while循环。但是它有for、switch、if。而且switch接受像for那样可选的初始化语句。下面来认识一下他们一、if语句Go语言中的if像下面这个样子:if x > 0 { return y} else { return x}一般不需要加圆括号,不过,如果你写上,也是没有问题的(亲测,写上圆括号也可以的~~)。比如:if (3>2) { fmt.Println("test if")}else if true { fmt.Println("test else if")}e 阅读全文
posted @ 2013-03-18 23:13 yejg1212 阅读(5718) 评论(1) 推荐(0) 编辑
摘要:项目中有个需求,在logout时,需要关闭打开的子窗口页面。这个实现原理很简单,一句话:打开子窗口时,将窗口对象保存到一个全局的数组中,logout时,再遍历数组,逐一close。简要实现步骤:一、登录进入页面时,初始化一个全局数组var subWinArray;function main_onload(){ subWinArray = new Array();}※注意:这个数组需要保存成全局的变量二、打开子页面时,将子窗口加入到数组中function childWin_onload(){ window.opener.window.setChildWin(window);}func... 阅读全文
posted @ 2013-03-18 10:42 yejg1212 阅读(560) 评论(0) 推荐(0) 编辑
摘要:上一节开篇提到了IntelliJ,下午试了试,却是很好用。只是快捷键跟Eclipse的完全不同,很是不习惯,不过有办法的,嘿嘿~~下载地址:http://go-ide.com/下载之后直接解压就行了,不过需要jdk支持。对于习惯Eclipse快捷键的朋友,可以将快捷键设置成Eclipse风格,设置方法如下图:OK,下面来看看Go语言中变量的声明和赋值。/** * Created by IntelliJ IDEA. * User: Administrator * Date: 13-3-17 * Time: 下午6:22 */package mainimport "fmt"fu 阅读全文
posted @ 2013-03-17 22:07 yejg1212 阅读(2807) 评论(0) 推荐(0) 编辑
摘要:用Eclipse+Goclipse写go代码的时候,感觉有点卡,尤其是在敲完一个“.”的时候,不知道大家都木有类似的经历。暂且就用记事本好了,反正初级阶段,接触的代码都不多。用记事本的话,会涉及到一些命令,可以查阅go语言的command资料:http://golang.org/cmd/go/看到有个朋友推荐基于IntelliJ改造的go-ide,貌似不错,等有时间在下载下来试试。下面继续Go语言的学习。一、Go程序的代码结构以前一章节的hello word为例:package main import ( "fmt")func main() { fmt.Println(&q 阅读全文
posted @ 2013-03-17 17:24 yejg1212 阅读(2368) 评论(0) 推荐(0) 编辑
摘要:最近一直想学点什么,在电脑里面翻了一些技术文档,不经意间在某个角落里面发现了Go语言的安装程序,这才想起GoLang来,呵呵Google刚推出Go语言的时候,下载来玩了一把,后来就没管它。Google的玩意总是做的很cool,在加上“够浪”这个极吸引眼球的名字,这就打算学它了。哈哈哈....言归正传,GoLang,Go,Go,Go....一、下载安装下载地址是:http://code.google.com/p/go/downloads/list目前最新的版本是1.0.3,因为我的是windows机器,所以直接下载了个go1.0.3.windows-386.msi双击运行安装即可,他会自动设置环 阅读全文
posted @ 2013-03-16 22:13 yejg1212 阅读(2634) 评论(1) 推荐(0) 编辑
摘要:在build.xml中,我们使用一句简单的脚本就可以执行想要做的事情,比如说:<delete dir="d://testMKDir" />上面这句脚本将删除 d://testMKDir很神奇,有木有?想知道怎么实现的吗?继续往下看....将ant.jar反编译一下,我看看到如下东东:原来ant将这些操作都封装了起来。这些操作都有一个共通的基类叫Task(抽象类)。public void execute() throws BuildException{}其中有个空实现的execute方法,为什么提这个,后面你就知道了。下面来测试一下: /* * <delet 阅读全文
posted @ 2013-03-14 17:10 yejg1212 阅读(3588) 评论(0) 推荐(1) 编辑
摘要:Ant的介绍网上很多,就不赘述了。可参照:http://www.blogjava.net/zhengtengfeng/archive/2007/04/20/zhtfeng.html直接看例子:<?xml version="1.0" encoding="UTF-8"?><project name="build_test" basedir="."> <!-- import build.properties [build.properties] tomcat.home=D:/apache_t 阅读全文
posted @ 2013-03-12 15:53 yejg1212 阅读(939) 评论(0) 推荐(0) 编辑
摘要:建立一个文本文件,名称随意,后缀为.reg,内容如下:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]@="Delete SVN Folders"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9 阅读全文
posted @ 2013-03-12 11:34 yejg1212 阅读(276) 评论(0) 推荐(0) 编辑
摘要:从最开始接触编程,就一直有人告诉我们i++和++i不一样,但是没有告诉我,为什么会不一样。呵呵~~今天来了解下为什么会不一样。首先,来认识一下本文的核心工具:javap命令javap是jdk自带的一个工具,可以反编译,也可以查看java编译器生成的字节码,是分析代码的一个好工具。通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作。javap命令格式:javap [ options ] classoptions 选项:-l 输出行和变量的表-public 只输出public方法和域-protected 只输出public和pr... 阅读全文
posted @ 2013-03-06 18:07 yejg1212 阅读(382) 评论(0) 推荐(0) 编辑

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