自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

i am me,haha,么么哒。。。

关注高性能服务器架构

  • 博客(46)
  • 资源 (3)
  • 收藏
  • 关注

原创 java知识点

final, finally, finalize的区别。   final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

2013-05-28 16:23:09 649

原创 BinarySearchTree

package com.zhuyu_deng.test;public class BinarySearchTree>{// 结点 private static class BinaryNode { T element; BinaryNode left; BinaryNode right; BinaryNode(final T x, final

2013-05-28 15:17:43 719

原创 Iterator接口

boolean hasNext()判断游标右边是否还有元素 Object next()返回游标右边的元素,并将游标移动到该元素后 void remove()删除游标左边的元素,通常在next方法之后执行,只执行一次。

2013-05-28 13:05:20 745

转载 java内部类的作用分析

提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class),关于这两者的区别与联系,在下文中会有对比。内部类从表面上看,就是在类中又定义了一个类(下文会看到,内部类可以在很多地方定义),而实际上并没有那么简单,乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了解,你会发现Java的

2013-05-27 19:48:40 768

转载 java中内部类与外部类的区别

静态的内部类称嵌套类(Nested Class),如:class Outer {  class Inner { } //Inner class  static class Nested { }  //Nested class}补充一下:区别: 1.内部类的对象隐含一个外部类的对象引用,可以直

2013-05-27 19:32:18 1382

转载 java学习:iterator

迭代器(Iterator)  迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。  Java中的Iterator功能比较简单,并且只能单向移动:  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一

2013-05-27 18:34:23 697

原创 ArrayList的实现

package com.zhuyu_deng.test;import java.util.Iterator;public class Test{ public static void main(String args[]) { MyArrayList list = new MyArrayList(); for (int i = 0; i < 10; ++i) li

2013-05-27 18:33:25 655

转载 java泛型

在Java中,Object[]数组可以是任何数组的父类,或者说,任何一个数组都可以向上转型成它在定义时指定元素类型为其父类的数组,这个时候如果我们往里面放不同于原始数据类型,但是满足有相同父类的数据时,编译不会有问题,但是在运行时会检查加入数组的对象的类型,于是会抛ArrayStoreException: String[] strArray = new String[20];

2013-05-27 17:43:54 772

转载 cannot create a generic array

public class test { public E[] r; public test() {  r = ne w E[3]; }}  #1楼 得分:0回复于:2010-09-03 20:10:58没有泛型数组#2楼 得分:0回复于:2010-09-03 20:40:11Java的泛型在编译时会擦除类型信息。Java中的数组是通过反射动态建立的。没有了类型信

2013-05-27 17:28:47 2565

转载 属于我们人生中那一次次的成长瓶颈

现在都流行叫“公司人”?每每看到《第一财经周刊》杂志对公司人的文章,感觉现在比较流行叫公司人,而且好像大多数白领一族都是公司人?    以前叫“公司男”,意思是指一个职场男士他属于公司,按公司的要求着装,他的观点和态度由公司塑造,并代表公司形象与利益。他通常面目模糊,因为他的脸是公司的脸。因而就感觉这类职场男士真可怜,就这样把自己的灵魂卖给了公司,而且现在不能再叫“公司男”了,因为有性别歧视之

2013-05-27 10:34:16 849

转载 java多线程

摘要:很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程

2013-05-24 17:18:10 657

原创 精确计算

需要精确计算的地方,不能用float类型或者double类型。对于货币的计算要用int,long或者Decimal。Decimal要使用String类型构造器。package com.zhuyu_deng.test;import java.math.BigDecimal;public class Test{ public static void main(Str

2013-05-24 16:55:34 654

原创 1.java判断负数

public static boolean isOdd(int n) { // 不能用 n % 2 == 1; %这个操作符返回%左操作符符号相同的余数,i是负数,则i%2=-1,不是1;// return n % 2 != 0; return (n & 1) != 0; }

2013-05-24 16:29:35 5058

转载 eclipse导入nutch源代码

1.首先下载nutch的最新版本, http://apache.etoak.com/nutch/ 本文写作时nutch的最新版本为1.1。所以本文以下所述均针对nutch1.1。(注意笔者在下载时发现该版本的src包有问题。换成bin包后正常)2.在eclipse中新建立一个Java Project. 名字自己定义(Nutch). 选择"Create project from existing

2013-05-22 06:37:56 976

转载 eclipse导入nutch

Nutch导入eclipse    最近在开始研究nutch刚把它在eclipse中跑起来,方便研究源码吧。本文针对的是nutch1.1版本。如有不对的地方欢迎指证。 直接导入eclipse.1.首先下载nutch的最新版本, http://apache.etoak.com/nutch/ 本文写作时nutch的最新版本为1.1。所以本文以下所述均针对nutch1.1。(注意笔者在下载时

2013-05-22 06:37:08 813

转载 request.getHeader("referer")的作用 .

在开发web程序的时候,有时我们需要得到用户是从什么页面连过来的,这就用到了referer。它是http协议,所以任何能开发web程序的语言都可以实现,比如jsp中是:request.getHeader("referer");php是$_SERVER['HTTP_REFERER']。其他的我就不举例了(其实是不会其他的语言)。js的话就是这样做:javascript:documen

2013-05-20 09:58:37 584

原创 Thread(1)

线程的生命周期:线程将处于下列4种状态之一。newly created:当我们new Thread()时,线程所处的状态就是新创建的状态(newly created),但是此时系统并不分配资源;给线程发送消息start()时,才分配资源。runable:给线程发送start()消失时,进入runable状态。此时抢到cpu的线程开始执行run()方法

2013-05-19 15:59:08 665

转载 properties文件

随便创建一个文本类型的文件,扩展名改为.properties就可以了。 通俗的说properties和xml都是用来按一定结构保存数据的(废话),一般用于资源文件、配置文件,xml也多用于数据传输。具体干什么用要看你的业务需求。 其实很多情况下用.properties和还是用xml只是你个人爱好问题。 (比如log4j就即可以用.properties配置也可以用xml配置。)

2013-05-16 10:43:03 630

转载 newInstance()和new

在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态加载类。在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作。因此,单单使用Class.forName( )是动态加载类是没有用的,其最终目的是为了实例化对

2013-05-15 16:41:15 582

转载 Class.forName()

Class.forName(xxx.xx.xx) 返回的是一个类首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。 至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。 A a = (A)Class.forName("pac

2013-05-15 16:36:33 583

转载 java中serializable是什么

一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。而实际上,Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。追问那进行序列化有什么好处呢?回答什么情况下需要序列化 a)当你想把的内存中的对象写入

2013-05-14 13:12:05 572

转载 关于编程

3. 编程模型     各个编程模型的计算能力是等价的,但是对问题抽象层次是不同的。汇编语言在表示程序的结构方面显得比较笨拙,但是使用C语言就将程序的设计结构显式的表现出来了。使用C语言进行数据封装和多态处理显得很笨拙,使用C++就能很好地处理这个问题。使用关系数据库在解决大规模数据问题上显得很笨拙,使用Map-Reduce就能很好的处理某些问题。非线程代码不能显式的表达操作的同步性,使用线程

2013-05-13 22:39:32 506

转载 初入职场

1.如果你想要领先这个世界上的绝大多数人,就必须要学会观察;2.学会聆听——不要随意卖弄你的见识,如果你光说不听,那你什么也学不到;3.突破固有的思维,即使它已经根深蒂固;4.认真对待你的同事,让他们喜欢你,他们将是你最好的资源;5.尽一切可能帮助你的老板,提升他/她的状态;6.为每一个分配给你的任务制定一份商业计划书,分配好你的时间和资源;7.你现有的的一切是你最重要的财

2013-05-13 22:31:41 655

转载 我们通过下面这个天气数据处理的例子来说明Hadoop的运行原理.

我们通过下面这个天气数据处理的例子来说明Hadoop的运行原理.1、Map-Reduce的逻辑过程假设我们需要处理一批有关天气的数据,其格式如下:·        按照ASCII码存储,每行一条记录·        每一行字符从0开始计数,第15个到第18个字符为年·        第25个到第29个字符为温度,其中第25位是符号+/-00670119909

2013-05-11 20:57:14 867

转载 巧用MapReduce+HDFS,海量数据去重的五大策略

摘要:随着收集到数据体积的激增,去重无疑成为众多大数据玩家面对的问题之一。重复数据删除在减少存储、降低网络带宽方面有着显著的优势,并对扩展性有所帮助。在存储架构中,删除重复数据的常用方法包括哈希、二进制比较和增量差分;而本文专注的是使用MapReduce和HDFS对数据进行去重。随着存储数据信息量的飞速增长,越来越多的人开始关注存储数据的缩减方法。数据压缩、单实例存储和重复数据删除等都

2013-05-11 11:29:07 869

转载 提高TOMCAT并发处理性能

1. 加大tomcat连接数在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100enableL

2013-05-11 11:27:21 1024

转载 谷歌核心技术(三)Google BigTable中文版

Bigtable:一个分布式的结构化数据存储系统译者:alex  摘要Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据。Google的很多项目使用Bigtable存储数据,包括Web索引、Google Earth、Google Finance。这些应用对Bigtable提出的要求差异非常大,无论是在

2013-05-11 11:24:52 1474

转载 谷歌核心技术(一)Google File System中文版

The Google File System中文版译者:alex摘要我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。 虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我

2013-05-11 11:23:38 1269

转载 谷歌核心技术(二)Google MapReduce中文版

Google MapReduce中文版    译者: alex 摘要MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于key/value pair的数据集合,输出中间的基于key/value pair的数据集合;然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值。

2013-05-11 11:14:03 1369

转载 ant学习(4)

首先介绍一下Ant.Ant是一种基于Java的build工具。理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷。得益于Java的跨平台性,Ant也是一个跨平台的工具。1。Ant详细介绍请参考http://ant.apache.org/2。Ant的下载,http://jakarta.apache.org/builds/jakarta-ant/release3

2013-05-10 20:49:58 684

转载 Ant学习总结

一、Ant介绍Ant是Java的生成工具,是Apache的核心项目;直接在apache官网下载即可;Ant类似于Unix中的Make工具,都是用来编译、生成;Ant是跨平台的,而Make不能;Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了javac、java、创建目录、复制文件等功能,所以可以直接点击Ant文件,即可编译生

2013-05-10 20:43:45 745

转载 Ant(1)

1.在我们刚学JAVA的时候,我们编译后的产生的.class文件,都是在编译的源文件所在的文件夹生成的,由于是初学,编译成功后基本上来说就不用再维护了,所以编译生成的.class文件放在源文件夹所在目录也无所谓。但是,在实际项目中,一个项目有很多个程序,多个子程序组成一个大的程序。而且这些程序编译成功以后,在以后的不确定的时间里面,还有可能需要重新修改,这就涉及一个问题,例如:一个大程序中由10个

2013-05-10 20:06:49 810

转载 Filter的作用

你可以在两种情况下使用本文:·学习过滤器的功用,·作为你写过滤器时的辅助。我将从几个简单的例子开始然后继续更多高级的过滤器。最后,我将向你介绍我为了支持多路请求而写的一个文件上传过滤器。 Servlet 过滤器也许你还不熟悉情况,一个过滤器是一个可以传送请求或修改响应的对象。过滤器并不是servlet,他们并不实际创建一个请求。他们是请求到达一个servlet前的预处理程序

2013-05-10 10:52:48 1011

转载 Eclipse下调试solr (2012-08-08 14:25:52)

1、下载solr源码并使用ant构建eclipse环境#> cd #> ant eclipse2、在eclipse中创建solr项目3、Open Type找到StartSolrJetty 这个类,修改main方法里面的参数。比如:connector.setPort(8983); // 端口号......

2013-05-09 23:19:36 682

转载 java2web

经常在eclipse中导入web项目时,出现转不了项目类型的问题,导入后就是一个java项目。解决步骤:1、进入项目目录,可看到.project文件,打开。2、找到...代码段。3、在第2步的代码段中加入如下标签内容并保存:org.eclipse.wst.common.project.facet.core.natureorg.eclipse.wst.co

2013-05-09 21:19:48 682

转载 导入开源项目出现问题

刚开始一直遇到这个问题,工程前面一个大大的红色感叹号,然后里面包也不显示错误,但是运行的时候就会出错。一直不知道这是什么原因。在网上查了查,找到两种方法: (1) library里导入了多余的包,删除后就可以了(我试了一下,删除了刚引进的包,还真是可以了,但是下次再打开问题又出现了,于是找了第二种方法)。 (2) 把java build path里面的libraries全部remove掉,

2013-05-09 20:59:09 740

转载 先进的框架Spring(5)

五、 应用Spring中的切面Spring生来支持AOP,首先来看几个概念:1、 切面(Aspect):切面是系统中抽象出来的的某一个功能模块,上文已经有过介绍,这里不再多说。2、 通知(Advice):通知是切面的具体实现。也就是说你的切面要完成什么功能,具体怎么做就是在通知里面完成的。这个名称似乎有点让人费解,等后面看了代码就明白了。3、 切入点(Pointcut):切入点定义了通知应该应用到

2013-05-09 15:01:36 794

转载 先进的框架Spring(4)

四、    面向接口的编程看了这么多,也许你并没有觉得Spring给开发带来了很多便利。那是因为我举的例子还不能突出Spring的优越之处,接下来我将通过接口编程来体现Spring的强大。假如现在要求扩展Greeting的功能,要让Speaker用不同的语言来问候,也就是说有不同的Speaker,比如ChineseSpeaker, EnglishSpeaker。那么对上文提到的三种编码方式

2013-05-09 15:01:10 654

转载 先进的框架Spring(3)

三、    Spring初体验这一节我用一个具体的例子Greeting,来说明使用Spring开发的一般流程和方法,以及Spring配置文件的写法。首先创建一个Speaker类,你可以把这个类看做是POJO。代码片段5:public class Speaker {     public void sayHello()    {         System.out.prin

2013-05-09 14:59:38 732

转载 先进的框架Spring(2)

二、    几个核心概念在我看来Spring的核心就是两个概念,反向控制(IoC),面向切面编程(AOP)。还有一个相关的概念是POJO,我也会略带介绍。1、POJO我所看到过的POJO全称有两个,Plain Ordinary Java Object,Plain Old Java Object,两个差不多,意思都是普通的Java类,所以也不用去管谁对谁错。POJO可以看做是简单的Jav

2013-05-09 14:58:50 678

json以及json依赖的包

Json-lib requires (at least) the following dependencies in your classpath: jakarta commons-lang 2.4 jakarta commons-beanutils 1.7.0 jakarta commons-collections 3.2 jakarta commons-logging 1.1.1 ezmorph 1.0.6

2013-12-14

jsoup解析网页

jsoup解析网页,在做信息提取方面很有用的。

2013-10-23

hadoop-1.2.1-eclipse-plugin.jar

整合hadoop于eclipse开发,相信对大家很有用的。

2013-10-21

空空如也

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

TA关注的人

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