- 博客(55)
- 资源 (13)
- 收藏
- 关注
原创 本博客不再更新,将迁移到博客园和OSChina
写博客也有一段时间了,最早在BlogJava,后来迁移到JavaEye,再后来索性在CSDN、51CTO、博客园都开了博客,总觉得用起来各种不符合我的习惯,最后还是觉得博客园和OSChina比较符合我的习惯,因此决定这些博客都不再更新,统一转移到我的OSChina博客:http://my.oschina.net/wawlian/blog和博客园http://www.cnblogs.com/wawl
2012-03-10 17:03:12 2875
原创 PL/SQL Step By Step(三)
1.什么是存储过程 这篇博客主要介绍存储过程(Stored Procedure),简称过程。存储过程是Oracle PL/SQL中的一种程序单元。存储过程可以通过给一个PL/SQL语句块命名从而将这个语句块存储在数据库中,以便将来可以被反复的调用。 存储过程与一般的匿名PL/SQL块的一个主要区别是有无确定的名称。此外,对于匿名块来说,每次提到到数据库进行执行时
2012-03-10 08:55:06 1255
原创 PL/SQL Step By Step(二)
游标是PL/SQL非常重要的一部分,也是很多人为什么使用PL/SQL的原因。游标能够让开发者对数据库查询进行记录级别的控制。也就是说,可以对查询返回的数据一次一行进行步进,并且在两行之间停顿一段时间来进行一些特别的处理操作。 游标分为两种:隐式游标和显式游标。下面我们先介绍隐式游标,一会在介绍更加强大的显示游标。 1.隐式游标 隐式游标是不需要定义的,说白
2012-03-02 21:47:02 590
原创 PL/SQL Step By Step(一)
1.概述 PL/SQL(Procedural Language/Structured Query Language)是Oracle对标准数据库语言SQL的过程化扩充,它将数据库技术和过程化程序设计语言联系起来,是一种应用开发语言,可使用循环,分支处理数据,将SQL的数据操纵功能与过程化语言数据处理功能结合起来。 PL/SQL的使用,使SQL成为一种高级程序设计语言,支持高级语言的块操
2012-03-02 21:37:40 594
原创 《现代操作系统》读书笔记之——进程调度(二)
7.交互系统的调度算法时间片轮转调度算法(Round-Robin Scheduling) 时间片轮换调度算法是最古老、最简单、最公平并且使用最广泛的调度算法之一。每个进程被分配一段时间间隔,叫做时间片(quantum)。进程在这个时间间隔内允许运行,如果时间片用完了,那么CPU将会被抢占并且分给别的进程。如果在时间片结束之前,进程阻塞或者是结束了,那么CPU也
2012-02-21 19:56:01 1609
原创 《现代操作系统》读书笔记之——进程调度(一)
如果计算机支持多道程序设计,那么它会经常碰到多个进程或者线程在同一时刻竞争CPU。只要当两个进程同时进入就绪状态,这种情况就会发生。但是CPU只有一个,那么这时候就需要做一个选择:到底接下来该选择哪个进程运行。操作系统做这个选择的部分就叫做调度器(scheduler),而使用到的算法叫做调度算法(scheduling algorithm)。 很多对进程调度使用的东西对于线程调度同样适
2012-02-17 20:50:36 1016
原创 JavaScript变量与作用域
1.JavaScript的变量类型 JavaScript的变量分为基本类型和引用类型.基本数据类型是直接存在栈空间的简单数据段,这种类型直接将值保存在内存的某个位置.引用数据类型存储的是指向实际存储于堆内存中的对象的地址. JavaScript中的基本数据类型共有五种:Number,Null,Undefined,Boolean和String.需要注意的是,js中的String是基本
2012-01-18 20:33:48 510
原创 《现代操作系统》读书笔记之——进程间通信3
12.互斥量(mutex) 当信号量(Semaphore)的计数功能不再需要,信号量简化之后就成为一种新的变量互斥量(mutex)。互斥量在处理共享资源和代码之间的互斥访问方面非常有用。互斥量实现起来简单高效,这一点对于用户空间的线程库非常有用。 互斥是那种只有两种状态,但每次只能处在其中一种状态的变量。这两种状态分别是锁定和非锁定状态。因此,只需要一个比特就能表示互斥量的两种
2012-01-17 00:23:19 1762
原创 Xshell无法通过ssh连接到FreeBSD
通过VMWare安装了一个FreeBSD虚拟机,想着说用XShell远程连接上去,但是总是出现下列错误:error: PAM: authentication error for root查了一下资料,默认情况下,FreeBSD上的sshd是不允许root通过ssh远程登录到服务器上。只需要在/etc/ssh/sshd_config文件中添加下列配置:PermitRootLogin yes
2012-01-15 19:11:03 818
原创 Hibernate基本开发环境搭建
1.建立一个Java工程。2.新建一个包含所有Hibernate依赖jar包的User Library。3.将Hibernatejar包和mysql jdbc驱动程序加入环境变量。4.添加配置文件:从hibernate包中自带的示例代码中拷贝配置文件hibernate.cfg.xml到src目录下面,而其中具体的值参考hibernate.properties文件中的内容。5.往
2012-01-15 12:38:37 673
原创 CentOS5下SQLPlus方向键无法使用
好不容易在CentOS 5.5下安装了Oracle11g R1,使用远程连接工具Xshell,SQLPlus中使用方向键显示的全是乱码。上网搜了一下,普遍反映需要安装rlwrap。网上确实有不少文章,但是自己试了一下总是不能成功。现将过程总结如下:1.软件准备 readline、readline-devel、libtermcap这三个rpm包。可以先通过rpm -qa | g
2012-01-14 22:32:49 949
转载 Windows 7 SP1无法安装oracle10g 11g的解决办法
下载正确的版本,然后修改refhost.xml文件然后解压,在目录中找到refhost.xml(有两个,我的一个是在stage\prereq\db目录下,一个是在stage\prereq\db_prereqs\db目录下)进行添加修,添加如下代码: 注:如果安装的是客户端,将路径中的db改为client即可。 而后还要修改一个oraparam.ini文件,在inst
2012-01-14 22:30:15 1042
转载 Flash Builder4.5切换语言
MyEclipse 9.0 安装了Flash Builder4.5,界面菜单都变成中文的了,完全不适应。如果不习惯中文界面, 改回英文界面吧。只需要为 flash builder 加上启动参数 " -clean -nl en_US " 完成后记得将 -clean 去掉,以免每次启动 flash builder 都执行清理动作而浪费时间。
2012-01-14 22:27:33 500
原创 jQuery常见选择器
以下内容都是我读《锋利的jQuery》的笔记,记录下来,没事多看看。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> div,span,p { width: 1
2012-01-14 22:24:43 413
原创 Ajax笔记
XMLHttpRequest的readyState:0:未初始化——创建1:初始化——open2:发送请求——send3:开始接受结果4:接收结果完毕状态每改变一次,调用一次回调函数。方法调用5次,但是前两次的readyState==1 onreadystatechange = callback绑定回调函数,不加()。
2012-01-14 22:19:21 620
原创 Java数组初始化
1.Java 数组初始化的两种方法: 静态初始化: 程序员在初始化数组时为数组每个元素赋值; 动态初始化: 数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值。public class ArrayInit { public static void main(String[] args) { //静态初始化数组:方法一 String
2012-01-14 22:17:27 54626
转载 PowerDesigner中如何添加约束
唯一约束 唯一约束与创建唯一索引基本上是一回事,因为在创建唯一约束的时候,系统会创建对应的一个唯一索引,通过唯一索引来实现约束。不过唯一约束更直观的表达了对应列的唯一性,使得对应索引的目的更加清晰,所以一般建议创建唯一约束而不是只创建唯一索引。 在PD中创建唯一约束的操作,以教室表来说,RoomID是主键,必然是唯一的,RoomName如果我们也要去必须是唯一的,那么具体操作如下:
2012-01-14 22:14:38 940
原创 基本的CSS选择器
选择器语法描述实例标签选择器E{ CSS规则}以文档元素作为选择符td{font-size:14pxwidth:120px}ID选择器#ID{ CSS规则}以文档元素的唯一标识ID作为选择符#note {
2012-01-14 22:11:57 363
转载 VMware/VirtualBox:host-only方式网络设置
一、添加本地连接的"internet 连接共享"。网络连接 --> 本地连接 --> 属性 --> “高级”选项卡 --> internet 连接共享 --> 勾选家庭网络连接 --> 选择“VMnet1”此时,VMnet1的ip地址被设为:192.168.0.1二、设置VM linux的ip。ip设为:从 192.168.0.1 到 192.168.0.254 之间的某一值
2012-01-14 22:10:44 602
原创 关于JavaWeb开发中的服务器的根路径
这个问题总是搞不明白,之前在自己的JavaEye博客中总结过,现在转过来,备忘。1.pageContext.getServletContext().getServletDispatcher("/....").forward(request,response); 在该处,"/"指的是该站点的根路径,不是指整个Tomcat服务器的根路径;2.response.setRedirect("/
2012-01-14 22:08:33 692
原创 struts2开发环境搭建
struts2开发环境的搭建主要涉及以下三个步骤:1.找到开发struts2应用需要的jar文件。2.编写struts2的配置文件。3.修改web.xml文件。具体步骤如下:1.到http://struts.apache.org/下载struts。下载完成之后将下载的zip文件解压。2.在MyEclipse中创建一个web项目,给项目命名,例如,struts2.3.进入
2012-01-14 22:06:39 535
原创 几种常见的客户端跳转
1.链接 ...2.表单提交数据3.meta标签 4.javascript:history.back(); javascript:history.forward();5.response.sendRedirect("a.jsp");6.response.setHeader("refresh","3;url=3.jsp")
2012-01-14 22:04:36 837
原创 《现代操作系统》读书笔记之——进程间通信2
7.实现进程互斥的几种方案之——TSL指令 前面介绍了几种方案,都是通过软件的方式实现互斥,下面的这种方式需要借助硬件设计的帮助来实现互斥。这一点在多CPU电脑的设计中尤其普遍。这种方案需要引进一条指令:TSL RX,LOCK 这条指令的含义是,读取内存单元LOCK中的内容到寄存器RX中,并且为内存单元LOCK重新设置一个非0值。TSL指令的操作被设计为不可分的,也就是说,
2012-01-14 20:53:22 1513
原创 《现代操作系统》读书笔记之——进程间通信1
很多时候,进程需要和其他的进程进行通信。比如shell中的管道命令:ps -ef | grep nginx,一个命令的输出,作为另一个进程的输入,这就是进程间通信(Interprocess Communication)。 进程间通信主要需要解决三个问题: 1.一个进程如何给另一个进程传递信息 2.如何确保进程之间不互相干扰、妨碍 3.当进程间出现依赖关系时,
2012-01-14 12:31:33 1286
原创 Ubuntu11.10安装node.js:Could not autodetect OpenSSL support
Ubuntu11.10安装node.js,报错提示Could not autodetect OpenSSL support,但是检查了一下,发现,系统是已经安装了openssl这个包的。最后发现其实问题出在缺少libssl-dev包,于是:sudo apt-get install libssl-dev并且,查资料的过程中,发现很多类似的与ssl缺少包有关的问题似乎都和这个包有关,因此,装完系统
2012-01-13 09:55:59 598
原创 MongoDB入门6——查询(二)
3.查询中null的处理 null的匹配非常有意思:null不仅仅会匹配到指定键的值确实等于null的文档,并且还会匹配到查询所制定键不存在的文档。例如,插入下面这三个文档:db.users.insert({"name":"Tom","age":20,"job":"Sales"});db.users.insert({"name":"Sam","age":25,"job":
2012-01-07 00:29:17 647
原创 MongoDB入门5——查询(一)
1.find()查询 在之前的学习中没我们其实已经很多次的接触过find()查询。基本上来说,find查询是比较简单明了的。find()的第一个参数决定了需要查询的文档的特征,如果该参数为空,则查询结果会匹配一个集合中所有的文档。例如:db.coll.find({});db.coll.find(); 如果要查询姓名为张三的人:db.c
2012-01-05 01:02:20 924
原创 重学数据结构008——AVL树
之前学习了二叉查找树的及相关操作。二叉查找树的大部分主要操作的复杂度都是O(logN)量级的。现在考虑这样一种情况:通过集合{3,2,4,1,0,-1,-2,-3,-4,-4}中的元素来构建二叉查找树,得到的树如图所示: 如果现在我们需要查找元素-4,那么时间复杂度还是是O(logN)吗?有个更加极端的例子,假设数据集是{6,5,3,1,0,-1,-2,-3,-4,-4}呢?再去查找
2011-12-27 18:49:42 392
原创 重学数据结构007——二叉查找树
之前的博客中提到过,我学习采用的参考书是《数据结构与算法分析——C语言描述》。这门书的组织安排与国内广泛实用的教材《数据结构——C语言版》比较不同。这本书描述了一些树和二叉树的概念,举例讲解了什么是树的三种遍历之后,就开始重点讲解二叉查找树、平衡二叉树、AVL树、伸展树、B数了。这一篇博客,重点学习二叉查找树的概念和基本操作。 大家都知道,树的定义本身就带有递归性。因此,树的很多操作都涉
2011-12-27 18:48:27 725
原创 重学数据结构006——中缀表达式转后缀表达式
我们在数学中常见的计算式,例如2+(3*4)叫做中缀表达式。表达式中涉及到了多个运算符,而运算符之间是有优先级的。计算机在计算并且处理这种表达式时,需要将中缀表达式转换成后缀表达式,然后再进行计算。 中缀表达式转后缀表达式遵循以下原则: 1.遇到操作数,直接输出; 2.栈为空时,遇到运算符,入栈; 3.遇到左括号,将其入栈; 4.遇到右括号,执行出
2011-12-27 18:44:38 543
原创 重学数据结构005——栈的应用之平衡符号
之前学习了栈的基本操作,并且学习了栈的两种实现方式:链式存储和顺序存储(数组)。现在看看栈都有哪些应用。栈的一个主要应用是平衡符号。 初学者在编写代码并且编译时,难免会因为少写了一个')'和被编译器报错。也就是说,编译器会去匹配括号是否匹配。当你输入了一个'(',很自然编译器回去检查你是否有另一个')'符号与之匹配。如果所有的括号都能够成对出现,那么编译器是能够通过的。否则编译器
2011-12-27 18:36:05 491
原创 重学数据结构004——栈的基本操作及实现(数组实现)
上文提到过栈以及栈的基本操作。上文中是基于链表做的实现。但是这种方法会出现大量的malloc()和free()操作,这种开销是非常昂贵的。 另外一种实现方式是基于数组的实现。这种实现方式需要预先制定一个栈的大小,此外还需要一个Top来记录栈顶元素下一个位置的数组索引值。如下图所示: 有的教材将Top指向栈顶元素,也就是上图中X所在的数组单元。我们这里不这么认为。
2011-12-27 18:30:19 925
原创 等值首尾和问题
问题:假设有一个数组x[],有n个元素,并且每一个都大于零;称x[0]+x[1]+x[2]+...+x[i]为前置和,而x[j]+x[j+1]+...+x[n-1]为后置和。试编写一个程序,求出x[]中有多少组前置和后置和。思路:设置两个索引变脸indexHead和indexTail,一个从前往后扫描,一个从后往前扫描。并且使用两个变量记录当前的前置和和后置和,并通过比较他们的值来决定移动哪个
2011-12-23 23:25:22 1388
原创 C语言删除字符串中的指定字符,字符串连接
1.删除字符串中的指定字符/*将字符串s中出现的字符c删除*/ void squeeze(char s[],int c) { int i,j; for (i = 0, j = 0; s[i] != '\0'; i++) { if (s[i] != c) { s[j++] = s[i]; }
2011-12-19 23:08:07 4357
原创 Java并发包中的几种ExecutorService
1.CachedThreadPool CachedThreadPool首先会按照需要创建足够多的线程来执行任务(Task)。随着程序执行的过程,有的线程执行完了任务,可以被重新循环使用时,才不再创建新的线程来执行任务。我们采用《Thinking In Java》中的例子来分析。 首先,任务定义如下(实现了Runnable接口,并且复写了run方法):package net.
2011-12-18 13:45:22 515
原创 C语言将字符串转换成对应的数字(十进制、十六进制)
问题1:讲一个十进制数字的字符串表示转换成对应的整数。举例:将“1234”转换成整数1234./*将字符串s转换成相应的整数*/ int atoi(char s[]) { int i; int n = 0; for (i = 0; s[i] >= '0' && s[i] '9'; ++i) { n = 10 * n + (s[i] - '0');
2011-12-17 23:16:55 1544
原创 两数组最小距离问题
已知两个元素从小到大排列的数组x[]和y[],请写出一个程序算出两个数组元素彼此之间差的绝对值中最小的一个,这个叫做数组的距离。 这个问题不难,可以通过一个循环嵌套循环解决。但是既然说了两个数组元素都是从小到大排列,那么肯定有别的简单的办法。 如果x[i]>y[j],对于x[i]-y[j],所有排在y[j]之前的元素计算这个式子的值都会大于x[i]-y[j],因
2011-12-17 16:21:42 1441
原创 MongoDB入门4——更新文档和修改器2
我们前面讲MongoDB的CRUD操作讲过:MongoDB的更新操作通过集合的update()函数实现。这个函数有两个参数:要更改的文档和更改后的样子。要更新文档有两种情况:更新文档和对文档某些部分更新。下面分别说说这两种情况: 1.更新整个文档 假设现在有下面的一个文档:{"name":"zhangsan","dad":"zhangyi","mom":"lisi"};
2011-12-17 16:20:46 390
原创 MongoDB入门3——更新文档和修改器1
我们前面讲MongoDB的CRUD操作讲过:MongoDB的更新操作通过集合的update()函数实现。这个函数有两个参数:要更改的文档和更改后的样子。要更新文档有两种情况:更新文档和对文档某些部分更新。下面分别说说这两种情况: 1.更新整个文档 假设现在有下面的一个文档:{"name":"zhangsan","dad":"zhangyi","mom":"lisi"};
2011-12-17 16:19:27 354
原创 MongoDB入门2——MongoDB数据类型
MongoDB的文档其实和JSON很类似,与JavaScript的对象概念也很像。但是MongoDB的数据类型更加丰富。下面我们一一介绍MongoDB的数据类型。数据类型描述举例null表示空值或者未定义的对象{“x”:null}布尔值真或者假:true或者false{“x”:true}32位整数32位整数。shell
2011-12-17 16:17:44 573
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人