自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 test

package sort;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * Created by liqiushi on 6/12/14. */// build min heappublic class HeapSort_iterative { public st

2014-06-16 03:15:14 424

原创 使用Wiser测试邮件发送

最近在做一个小项目,里面有发送邮件这一功能,本文主要是讲如何通过Spring发送邮件,已经一个邮件测试框架 --- wiser的介绍。如何使用Spring发送邮件首先主要用到的一个类是JavaMailSenderImpl,它位于Spring的org.springframework.mail.javamail包中,主要是用来发送邮件的。为了发送邮件,需要提供给它一系列的参数。这些参数我都配置

2013-03-24 19:47:24 1080

原创 git学习笔记

1. rebasegit rebase,顾名思义,就是重新定义(re)起点(base)的作用,即重新定义分支的版本库状态。要搞清楚这个东西,要先看看版本库状态切换的两种情况:我们知道,在某个分支上,我们可以通过git reset,实现将当前分支切换到本分支以前的任何一个版本状态,即所谓的“回溯”。即实现了本分支的“后悔药”。也即版本控制系统的初衷。还有另一种情况,当我们的项目有

2012-11-06 16:14:18 426

原创 JavaScript 语言精粹的笔记

在JavaScrpit中,false、null、undefined、空字符串,0及NaN返回的都是false.JavaScript中的常量有数字,字符串,对象,数组,方法,正则表达式。数组,方法,正则表达式都是对象。在JavaScript中,对象被看做属性的容器,属性由键值对组成,其中键为字符串,值能为除了undefined之外的任意值。JavaScript中对象定义的方法,其中fis

2012-10-20 20:27:58 504

原创 JavaScript Prototype对象浅谈

在JavaScript权威指南中,对prototype的定义如下:the prototype object holds methods and other properties that should be shared by each instance.    在JavaScript中,有一个所有对象都有的属性,即Prototype。Prototype自身也是对象,它也有自己的prototy

2012-10-18 23:43:17 438

原创 JavaScript对象浅谈

JavaScript这门语言学了很久了,但都是断断续续的,很快就会忘记以前学过的,所以今天决定把其记到博客上来。    JavaScript对象    JavaScript的对象定义为“属性的无序集合,每个属性存放一个原始值、对象或函数。这意味着对象是无特定顺序的值的数组。在ECMAScript中,对象由特性(Attribute)构成,特性可以是原始值,也可以是引用值。如果特性存放的是函数

2012-10-18 02:19:04 383

原创 对Java中的枚举类型的学习总结

Java中的Enum使用Enum是在Java中用来定义枚举类型的关键字。Enum一般用来表示一组相同类型的常量,如性别、日期 、颜色等.下面是一个最简单的枚举。public enum Color{RED,GREEN,BLUE}实际上在Java中枚举类型本质上就是一个类,其继承自java.lang.Enum类。通过默认提

2012-10-14 20:31:40 677

转载 Using Collections.sort and Comparator in Java

Sorting a collection in Java is easy, just use Collections.sort(Collection) to sort your values. For example:package de.vogella.algorithms.sort.standardjava; import java.util.ArrayList;import j

2012-10-12 00:01:43 553

转载 初学者对java匿名内部类构造原理的分析

学Java 虽然时间不算太长,但是对一些原理性的东西很感兴趣。今天分析了一下匿名内部类调用构造方法的原理,希望高手拍砖。  因为匿名内部类没有名字这个特殊性质,所以我们无从给它指定构造方法,构造方法必须和类名同名,类名都没有,构造方法就无从谈起了。但是匿名内部类可以通过直接调用父类的构造方法实现初始化,当然要求父类构造方法对它父类中定义的成员变量进行初始化。这里用一个例子看创建匿名内部类的时候

2012-10-11 22:40:40 727

转载 Java中Comparable和Comparator实现对象比较

当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。下面通过两个例子分别用Comparable和Comparator实现对User对象中年龄排序。 1.通过实现Comparable接口,根据User的年龄进行排序。 Java代码  import java.util

2012-10-11 22:28:50 707

原创 我在ThoughtWorks的这4个月

一眨眼,来到ThoughtWorks已经4个月了,时间过得很快,但过得却前所未有的充实,记忆总是靠不住的,所以我打算停下自己的脚步,在博客里记录下这四个月的收获和不足。    当我在回忆得到的东西时,第一时间想到的不是Spring,Java之类的技术,而是一种在思想上的改变,引领了我一些在平时生活中的行为的改变,而这又与公司很好的环境有关。公司里的同事给我的最大的感觉首先是他们对技术有着强烈的

2012-09-24 02:22:02 2029

转载 JAVA与模式之状态模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述状态(State)模式的:  状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。  状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式的结构  用一句话来表述,状态模式把所研究的对象的行为包装在不同

2012-09-23 00:42:38 558 1

转载 JDK的动态代理原理

首先,invoke方法的完整形式如下: Java代码  public Object invoke(Object proxy, Method method, Object[] args) throws Throwable      {            method.invoke(obj, args);            return null

2012-09-09 21:41:02 2240 1

原创 Java Annotation学习笔记

1. Annotation是什么    Annotation是类,方法或字段的一种注解或元数据,当程序被JVM编译的时候,annotation会和类编译在一起,作为一种元数据去描述被修饰的数据。2. Annotation的定义     package annotationApplication;import java.lang.annotation.ElementType;imp

2012-08-18 17:38:16 511

原创 Java Reflection 学习笔记

1.什么是Java的反射机制Java反射机制是在运行过程中,对于任意一个类,知道其所以的属性和方法。对于任意一个对象,能够调用其方法。这种动态调用信息,动态调用方法的功能称为Java的反射机制。总而言之,Java反射机制主要提供了以下功能:      1.在运行时判断任意一个对象所属的类      2.在运行时构造任意一个类的对象      3.在运行时判断任意一个类所

2012-08-18 15:41:33 337

原创 Spring Security学习笔记

在我的小项目中,我使用了Spring Security去验证用户登陆。它会拦截特定的URL请求,并交由Spring Security自身去处理。要使用Spring Security,需要使用以下配置:web.xml springSecurityFilterChain org.springframework.web.filter.Delegatin

2012-08-13 15:40:13 515

原创 Spring MVC 学习笔记

最近学习了Spring MVC,Spring Web Flow和Spring Security,作为三者的基石,我首先来总结Spring MVC里的东西吧1. 客户端来了一个request之后,首先会被DispatcherServlet捕获2. Dispatcher在默认的情况下(可以自行配置),会通过客户请求过来的url去和具体Controller的方法上的RequestMapping上

2012-08-13 00:36:54 499

转载 自定义对象需要重写hashcode

Java中的很多对象都override了equals方法,都知道,这是为了能比较两个对象是否相等而定义,如果不需要比较,则不需要定义equals方法。比如StringBuffer类,没有提供equals方法,则说明没有两个StringBuffer对象是相等的。再比如Collections类,全部是静态方法,根本没必要创建对象,所以也就没有提供equals方法。      我们程序中自定义的对象

2012-07-15 18:37:59 1049

转载 Java回调函数的理解

所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个

2012-06-23 16:11:43 451

转载 运行时异常和受检查异常

Exception类可以分为两种:运行时异常和受检查异常。1、运行时异常RuntimeException类及其子类都被称为运行时异常,这种异常的特点是Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try...catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过。例如,当除数为零时,就会抛出java.lang.ArithmeticExcepti

2012-06-14 10:48:39 1678

转载 详细解析Java中抽象类和接口的区别

在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两

2012-06-12 09:42:30 1031

转载 Java读取文件方法大全

public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStr

2012-06-09 22:07:08 221

转载 Java 接口 实现和继承关系

一。抽象类有时候,我们可能想要构造一个很抽象的父类对象,它可能仅仅代表一个分类或抽象概念,它的实例没有任何意义,因此不希望它能被实例化。例如:有一个父类“ 水果(Fruit)”,它有几个子类“苹果(Apple)”、“橘子(Orange)”、“香蕉(Banana)”等。水果在这里仅仅只是作为一个分类, 显然水果的实例没有什么意义(就好像一个人如果告诉你他买了一些水果但是却不告诉你是苹果还是橘

2012-05-31 10:17:50 1188 1

转载 JavaScript高级培训-自定义对象

一,概述在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类、Hashtable类等等。目前在Javascript中,已经存在一些标准的类,例如Date、Array、RegExp、String、Math、Number等等,这为我们编程提供了许多方便。但对于复杂的客户端程序而言,这些还远远不够。

2012-05-28 13:43:16 308

转载 Linux删除文件夹命令

linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。直接rm就可以了,不过要加两个参数-rf 即:rm -rf   目录名字-r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思删除文件夹实例:rm -rf /var/log/httpd/access

2012-05-25 10:10:02 418

转载 Linux 符号

一、通配符:" * ” 、" ? ”   和DOS下一样,当我们不知道确切的文件名时,可以用通配符来进行模糊操作。“*”可以代表任意长度的任意字符,“?”代表一个任意字符。二、转义字符:" \ ”   和DOS的命名规则不同的是,通配符" * ”、" ? ”是可以在文件名中使用的。  如果要操作的文件名中包含有这些特殊符号,我们可以结合“\”来表达。下面是通配符和正则表达式

2012-05-24 13:24:20 260

转载 Javascript 匿名函数的理解

代码如下:(function(){ //这里忽略jQuery所有实现 })();  半年前初次接触jQuery的时候,我也像其他人一样很兴奋地想看看源码是什么样的。然而,在看到源码的第一眼,我就迷糊了。为什么只有一个匿 名函数又没看到运行(当然是运行了……),就能有jQuery这么个函数库了?于是,我抱着疑问来到CSDN。结果相信现在很多人都很清楚了(因为在我之 后也不乏

2012-05-22 11:01:01 253

原创 杂记

1.&是位运算,即按位与运算&&是逻辑运算符,表示逻辑与and2.get方法会在IE地址栏里显示表示你提交时候所带的值post方法不会 service由Servlet引擎运行。当有http请求来的时候,Servlet引擎会将请求包装成HttpServletRequest并以其为参数调用相应servlet的service方法。在servlet的父类HttpServl

2012-03-27 12:31:30 409 1

转载 设计模式:代理模式和反射原理

代理模式:为其他对象提供一种代理以控制对这个对象的访问。Proxy和RealSubject类共同实现了Subject接口,这样一来,在任何地方使用RealSubject类的地方就可以使用Proxy类来代理。而在真正操作前可以对其进行一些其他操作。静态代理:静态代理即Proxy类为静态的,不能再程序加在到内存时动态的创建。看一下静态代理的时序图

2012-03-22 14:37:36 281

转载 Java Synchronized详解

记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。     一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。     二、然而,当一个线程访问ob

2012-03-20 23:29:55 298

转载 Java并发总结(三):中断线程

线程的状态在了解如何中断线程之前,先应该弄清楚线程的几种状态:新建状态(New):一个新的线程在被创建之后,在运行(或阻塞)之前的状态。就绪状态(Runnable):当一个线程只要拥有CPU时间片就能运行的时候,这个线程就处于就绪状态。阻塞状态(Blocked):线程还没有死亡,但是由于一些原因不能继续运行,但是还能回到就绪状态。死亡状态(Dead):当一个线程的任

2012-03-20 23:15:26 679 1

转载 Java并发总结(二):同步与原子性

每一个线程自顾自的做自己的工作固然好。但是线程之间经常会相互影响(竞争或者合作),比如多个线程需要同时操作一个资源(比如一个对象)。这个时候,如果不进行同步,就可能会引发难以预料的错误。举一个《thinking in java》第四版中的例子。有一个EvenGenerator类,它的next()方法用来生成偶数。如下:public class EvenGenerator {

2012-03-20 23:12:33 939 1

转载 Java并发总结(一):线程基础

最近复习Java并发,写点东西总结总结。好记性不如烂博客。并发什么是并发?与顺序编程不同,并发使得程序在同一时刻可以执行多个操作(宏观)。为什么需要并发?通常是为了提高程序的运行速度或者改善程序的设计。线程Java对并发编程提供了语言级别的支持。Java通过线程来实现并发编程。一个线程通常完成某个特定的任务,一个进程可以拥有多个线程,当这些线

2012-03-20 23:02:49 366

转载 Java并发编程实践之线程的基本控制

线程创建后,可以执行start()方法启动线程,根据线程任务的特性和线程之间的协调性要求,需要对线程进行控制。对线程的控制通常是通过调用Thread对象的方法实现的,主要有sleep()、suspend()、resume()、join()、interrupt()和stop方法。一般情况下方法的调用会引起线程状态的转变。1、使用Sleep暂停执行     Thread.sleep()

2012-03-20 22:41:23 348

转载 system.out与system.err

大多数操作系统都有三个标准文件描述符:标准输入,标准输出,标准出错。 三个操作系统的文件描述符映射到编程语言的标准库中,往往加了一层包装,但是名字通常还是叫标准输入,标准输出,标准出错。 在其它语言中的一般写法是:stdin,stdout,stderr(有的语言里大写,有的语言里小写)。对应Java中的System.in,System.out,System.err。 在语言

2012-03-19 22:56:01 353

转载 方法区(method) )、栈区(stack)和堆区(heap)之JVM 内存初学

JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method) 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令) 2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 栈区: 1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象

2012-03-19 22:55:17 1658

转载 深入理解abstract class和interface

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很

2012-03-18 23:44:29 365

转载 java 空字符串与null区别

" "分配了内存 ;null没有 调用null的字符串的方法会抛空指针异常。 ""是一个字符串(String).它在内存中是存在的.它可以使用Object对象中的方法(如"".toString();"".equals()) 而null它是一个空对象.在内存中是不存在的.它不可以使用Object对象中的方法 ""占内存.. 在内存中会分配一个空间. null不占内存. 为空引用.

2012-03-14 18:50:14 337

原创 方法区(method) )、栈区(stack)和堆区(heap)之JVM 内存初学

JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身栈区:1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不...

2012-03-08 21:21:03 179

原创 system.out与system.err

大多数操作系统都有三个标准文件描述符:标准输入,标准输出,标准出错。 三个操作系统的文件描述符映射到编程语言的标准库中,往往加了一层包装,但是名字通常还是叫标准输入,标准输出,标准出错。 在其它语言中的一般写法是:stdin,stdout,stderr(有的语言里大写,有的语言里小写)。对应Java中的System.in,System.out,System.err。 在语言...

2012-03-08 20:27:22 69

空空如也

空空如也

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

TA关注的人

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