自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (1)
  • 收藏
  • 关注

原创 判断一个链表是空链表还是循环链表

原文:http://blog.163.com/shi_shun/blog/static/237078492010355211500/ 使用快慢指针判断的好处是:可以防止如果链表是类似“6”的,形状,也就是说尾指针不是直接连到头指针,而是它之后的指针,那么这种情况下传统的以头指针作为基准判断是否有循环的方法就可能陷入死循环。    给定一个链表,它可能是以NULL结尾的非循环链...

2011-03-30 17:20:07 359

原创 选择排序

每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。 基本思想:n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:  ①初始状态:无序区为R[1..n],有序区为空。  ②第1趟排序  在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录...

2011-03-29 16:04:20 48

原创 插入排序

有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元...

2011-03-29 15:31:38 75

原创 “封装类”“装箱”“拆箱”“自动装箱”

在Java中,所有您要处理的东西「几乎」都是对象(Object),例如您之前所使用的Scanner是对象,字符串(String)是对象,您之后还会看到更多的对象。然而有些是异常,基本(Primitive)数据类型不是对象,也就是您使用int、double、boolean等宣告的变量,以及您在程序中直接写下的字面常量。使用Java有一段时间的人都知道,有些时候您需要将基本类型转换为对象,例如使用Ma...

2011-03-29 13:08:31 113

原创 Java设计模式之装饰模式

说明:装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。装饰模式的特点;(1) 装饰对象和真实对象有相同的接口。这样客户端对象就可以以和真实对象相同的方式和装饰对象交互。(2) 装饰对象包含一个真实对象的索引(reference)(3) 装饰对象接受所有的来自客户端的请求。它把这些请求转发给真实的对象。...

2011-03-28 17:44:50 65

原创 Java与模式 不变模式 Immutable pattern

不变模式可增强对象的强壮性(robustness)。不变模式允许多个对象共享某一对象,降低对该对象进行并发访问的同步化开销。如果需要修改一个不变对象的状态,就需要建立一个新的同类型对象,并在创建时将这个新的状态存储在新对象里。不变模式之设计一个类。一个类的内部状态创建后,在整个生命期内都不会发生变化时,这个类被称为不变类。这种使用不变类的做法叫作不便模式。弱不变模式:一个类的实例状态不...

2011-03-28 14:22:55 83

原创 解释器模式

一、引子   其实没有什么好的例子引入解释器模式,因为它描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中;在实际应用中,我们可能很少碰到去构造一个语言的文法的情况。  虽然你几乎用不到这个模式,但是看一看还是能受到一定的启发的。  二、定义与结构  解释器模式的定义如下:定义语言的文法,并且建立一个解释器来解释该语言中的句子。它属于类的行为模式。这里的语言意思是使用规定格...

2011-03-28 14:01:34 58

原创 什么是开闭原则

☆ 开闭原则指的是一个软件实体应对对扩展开发,对修改关闭(Software entities should be open for extension, but closed for modification)。这个原则是说在设计一个模块的时候,应对使这个模块可以在不被修改的前提下被扩展,换言之,应对可以不必修改源代码的情况下改变这个模块的行为。  ☆ 满足开闭原则的软件系统的优越...

2011-03-27 14:16:37 340

原创 迪米特法则

法则定义  迪米特法则(Law of Demeter)又叫作最少知识原则(Least KnowledgePrinciple 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD. 来源历史  1987年秋天由美国NortheasternUniversity的Ian Holland提出,被UML的创始者之一Booch...

2011-03-27 14:08:50 102

原创 灵活控制 Hibernate 的日志或 SQL 输出

 本文链接 http://unmi.cc/hibernate-log-sql-log4j-slf4j, 来自 隔叶黄莺 Unmi Blog 我们在使用 Hibernate 时一般只会关注是否显示生成的 SQL 语句,不过有些时候还不够。默认时 Hibernate 执行的 SQL 语句是打印在控制台上的,它也可以配置为输出给 Log4J 或是 Log4Back,还能显示出更详细的参数...

2011-03-25 12:37:41 138

原创 游标解释_百度百科

 数据库  主语言是面向记录的,一组主变量一次只能存放一条记录。仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求。嵌入式SQL引入了游标的概念,用来协调这两种不同的处理方式。在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标...

2011-03-25 10:39:35 180

原创 sql语句查询结果合并union 和union all用法

 sql语句查询结果合并union 和union all用法--合并重复行select * from Aunionselect * from B--不合并重复行select * from Aunion allselect * from B按某个字段排序--合并重复行select *from (select * from A...

2011-03-25 09:36:36 350

原创 REST是什么?

概述     REST是英文Representational State Transfer的缩写,中文翻译:表述性状态转移。     他是由Roy Thomas Fielding博士在他的论文 《Architectural Styles and the Design of Network-based Software Architectures》中提出的一个术语。     REST本身只是为分布式...

2011-03-24 13:34:24 111

原创 Servlet 工作原理解析

http://www.ibm.com/developerworks/cn/java/j-lo-servlet/

2011-03-24 13:02:07 86

原创 与基于锁的方案相比稍显复杂非阻塞算法

阻塞算法介绍   目前,很多关于并发算法的研究都聚集在非阻塞算法(nonblocking algorithms)上,这种算法使用低层原子化的机器指令取代锁,比如compare-and-swap,从而保证数据在兵法访问下的一致性。非阻塞算法广泛应用于操作系统和JVM的线程和进程调度、垃圾回收以及实现所和其他的并发数据结构。   与基于锁的方案相比,非阻塞算法的设计和实现都要复杂一些,但是它们在可伸缩...

2011-03-24 11:26:47 83

原创 Hibernate二级缓存攻略(转)

我的经验主要来自hibernate2.1版本,基本原理和3.0、3.1是一样的。hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了。二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache、oscache等,需...

2011-03-23 15:48:51 73

原创 js 闭包

先从闭包特点解释,应该更好理解.闭包的两个特点:1、作为一个函数变量的一个引用 - 当函数返回时,其处于激活状态。2、一个闭包就是当一个函数返回时,一个没有释放资源的栈区。其实上面两点可以合成一点,就是闭包函数返回时,该函数内部变量处于激活状态,函数所在栈区依然保留.我们所熟知的主流语言,像C,java等,在函数内部只要执行了return,函数就会返回结果...

2011-03-21 21:12:46 72

原创 闭包原理

最近在网上查阅了不少Javascript闭包(closure)相关的资料,写的大多是非常的学术和专业。对于初学者来说别说理解闭包了,就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。一、什么是闭包?“官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。相信很少有人能...

2011-03-21 21:08:22 105

原创 java I/O 类图

java I/O 类图:

2011-03-20 17:55:25 114

原创 java异常 类图

java类图: 检查异常 和 未检查异常 的划分 在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。 Throwable 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类...

2011-03-20 17:29:06 910

原创 struts2:类似struts1中动态form的使用

在struts1中,我们知道,需要定义一个form类,来对应jsp页面,进行页面数据的传输和交换,在开放的过程中可以使用struts1提供的方便的动态form进行开发,比较方便,那么在struts2中同样也可以使用类似struts1中的动态form,请看如下的例子:    我们实现一个登陆功能来展示动态form的使用,首先定义一个Action类:    public class LoginActi...

2011-03-20 16:57:14 96

原创 查看现有项目的struts和hibernate和spring版本

找到项目包含SSH的包,通常是在WEB-INF下的lib里面。1.struts版本:查看 struts.jar\META-INF\MANIFEST.MFManifest-Version: 1.0Ant-Version: Apache Ant 1.6.1Created-By: 1.3.1_04-b02 (Sun Microsystems Inc.)Extension-Name: Struts...

2011-03-19 12:25:24 352

原创 什么是OpenSessionInView

  一、什么是OpenSessionInView  在hibernate中使用load方法时,并未把数据真正获取时就关闭了session,当我们真正想获取数据时会迫使load加载数据,而此时session已关闭,所以就会出现异常。 比较典型的是在MVC模式中,我们在M层调用持久层获取数据时(持久层用的是load方法加载数据),当这一调用结束时,session随之关闭,而我们希望在V...

2011-03-15 14:56:00 79

原创 java并发编程实践

1, 保证线程安全的三种方法: a, 不要跨线程访问共享变量b, 使共享变量是final类型的c, 将共享变量的操作加上同步 2, 一开始就将类设计成线程安全的, 比在后期重新修复它,更容易.3, 编写多线程程序, 首先保证它是正确的, 其次再考虑性能.4, 无状态或只读对象永远是线程安全的.5, 不要将一个共享变量裸露在多线程环境下(无同步或不可变性保护)6, 多线程环境下的...

2011-03-14 13:28:27 62

原创 Memcached 学习

1        Memcache 是什么 Memcache 是danga.com 的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO 。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable ,Memcached 自管理这些HashTable 。 ...

2011-03-14 13:25:39 82

原创 JDBC调用存储过程

 JDBC调用存储过程 一:无返回值的存储过程存储过程为:create or replace procedure insert_user(       username in varchar2,userpassword in varchar2) asbegin  insert into userInfo values(wepull_books.nextval...

2011-03-11 16:20:58 76

原创 关于“抽象类是否可继承实体类”的辨析

一道java 常见面试题,网上找到的几乎每个 java 面试笔试题大全或集锦里都能找到这道题。 题目如下:  问:  抽象类是否可继承实体类 (concrete class) 答: 抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数   -------------------  答案很明确,可以继承。其实从Object就是个实体类,java的API文档里,每...

2011-03-11 15:50:05 62

原创 linux下2种定时执行任务方法

(1)at命令  假如我们只是想 要让特定任务运行一次,那么,这时候就要用到at监控程序了。  设置at命令很简单,指示定运行的时间,那么就会在哪个时候运行。at类似打印 进程,会把任务放到/var/spool/at目录中,到指定时间运行它 。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序。at now + time命令可以在指示任务。...

2011-03-11 10:30:41 221

原创 Java NIO简介

引子 自从JDK 1.4以后,我们迎来了java.nio这个包。那这个包有什么奥妙和作用呢?下面我们就来简单介绍一下。 I/O 简介  I/O或者输入/输出指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的。单独的程序一般是让系统为它们完成大部分的工作。...

2011-03-10 17:15:38 63

原创 Java NIO原理和使用(转)

Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。Java NIO非堵塞技术实际是采取Rea...

2011-03-10 13:55:11 63

原创 面向对象设计原则,用于面试忽悠

原则如下:           n 单一职责原则(SRP)   就一个类而言,应该仅有一个引起它变化的原因。   n 开放-封闭原则(OCP)   软件实体应该是可以扩展的,但是不可修改。   n Liskov替换原则(LSP)   子类型必须能够替换掉它们的基类型。   n 依赖倒置原则(DIP)   抽象不应该依赖于细节。细节应该...

2011-03-10 11:33:47 103

原创 MongoDB入门简介

有关于MongoDB的资料现在较少,且大多为英文网站,以上内容大多由笔者翻译自官网,请翻译或理解错误之处请指证。之后笔者会继续关注MongoDB,并翻译“Developer Zone”和“Admin Zone”的相关内容,敬请期待下期内容。MongoDB是一个基于分布式文件存储的数据库开源项目。由C++语言编写。旨在为WEB应用提供可护展的高性能数据存储解决方案。它的特点是高性能、易部署、...

2011-03-09 13:56:44 49

原创 高并发web开发资料收集(2):高并发的Web网站需要注意的

以前经常在网上看到web网站设计需要注意事项。但实际操作性很低,因为他们只是给了一个结论,如果自己稍微有点想法,就很难去相信这些结论。出于眼见为实的目的,正好在一个项目里,我们需要对项目做大压力并发测试。。。1、ab只能是初步的做初步的压力测试。很简单的道理。。我们用ab能压到最高5万的并发请求。服务器也没啥事。但是,这是真的吗?于是我们开始监控服务器的各项资源。发现仅仅是CP...

2011-03-09 13:31:33 109

原创 高并发web开发资料收集(1):Memcached在大负载高并发网站上的应用

Memcached在大负载高并发网站上的应用作者:王泽宾 大家可能对memcached这种产品早有了解,或者已经应用在自己的网站中了,但是也有一些朋友从来都没有听说过或者使用过。这都没什么关系,本文旨在从各个角度综合的介绍这种产品,尽量深入浅出,如果能对您现在或以后的工作有所帮助,笔者将感到无比荣幸。 我要介绍的内容包括以下几个方面:1、memcached的简介2、memcache...

2011-03-09 13:08:11 103

原创 创建Java多线程的多种方法(转)

前言:编写多线程程序是为了实现多任务的并发执行,从而能够更好地与用户交互。    概念:          多进程:面向操作系统的多任务,即一个操作系统运行多个任务。          多线程:面向程序的多任务,即一个程序运行多个任务。    创建多线程的方法如下:    1、通过实现Runnable接口来创建Thread线程:       其中,Runnable接口(只有...

2011-03-08 16:06:36 58

原创 SQL执行顺序

一、sql语句的执行步骤: 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。 2) 语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。 3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。 4)表达式转换, 将复杂的 SQL 表达式转换为较简单的等效连接表达式。 5)选择优化器,不同的优化器一般产生不同的“执行计划” 6)选...

2011-03-08 10:41:21 64

原创 初中英语十二种常见句型

  句型(一)  such+名词性词组+that…  So+形容词/副词+that…——如此……以致……  例如:(1)She is such a good teacher that we all love her.她是一个好老师,我们都爱她。  (2)It was such a hot day that they didn’t go out for a walk as usual...

2011-03-05 19:15:45 260

原创 高中英语基本句

英语基本句型㈠英语基本句型-1主系表结构/S (主)+ V(谓)(lv)( 系动词)+ P(表) 本结构是由主语+系动词+表语组成,主要用以说明主语的特征,类属,状态,身份等。系动词有:1.表示特征和存在状态的:be, seem, feel, appear, look, smell, taste, sound;2.表示状态延续的:remain, stay, keep, continue, st...

2011-03-05 19:01:02 438

原创 初中英语重要句型

初中英语重要句型 as soon as as…as… as…as possible ask sb. for sth. ask/tell sb. (how) to do sth. ask/tell sb. not to do sth. be afraid of doing sth./ that… 初中英语重要句型 8. be busy doing sth. 9. be famous/ late/ r...

2011-03-05 18:58:53 6762

原创 英语五大基本句型精讲

英语五大基本句型精讲                          英语五种基本句型列式如下:基本句型一: S V (主+谓)基本句型二: S V P (主+系+表)基本句型三: S V O (主+谓+宾)基本句型四: S V o O (主+谓+间宾+直宾)基本句型五: S V O C (主+谓+宾+宾补)基本句型 一此句型的句子有一个共同特点,即句子的谓语动词都能表达完整的意...

2011-03-05 18:43:39 513

Linux系统管理员手册

经典书籍,看完后可了解linux启动过程,各个目录的作用。

2007-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除