- 博客(52)
- 收藏
- 关注
Mac OS X 支持Noppoo mini 84键盘
刚刚入手一个Noppoo Choc mini 84青轴键盘,有没有买之前没做功课,发现mac尽然无法识别这款键盘。google了一下,发现github上有一个项目专门来解决这个问题,按照这个项目给出的方法,就能够让mac支持Noppoo Choc mini 84键盘了,地址记录下来,方便后面用:[url]https://github.com/thefloweringash/iousbhid...
2013-01-12 14:23:43
813
原创 通过Map-Reduce实现Join系列之四
在本系列的前面几篇文章中,主要介绍了利用Map-Reduce任务来完成两个或者多个文件的Join操作的一些算法和思路。基于的前提是对这些文件在相同的列上进行Join,本文将要讨论如何通过Map-Reduce任务来完成对多个文件在不同列上进行Join。由于需要在不同的列上进行Join,涉及到的文件个数至少会是三个,比如有三个文件T1(A,B)、T2(B,C)、T3(C,D),T1和T2基于B列进行J...
2012-12-15 20:32:09
216
原创 通过Map-Reduce实现Join系列之三
在这个系列的前两篇中,介绍了基本的Join算法以及在Hadoop环境中,如何利用Map-Reduce过程来完成Join。而前面的介绍都是基于两个集合的Join,本文将会介绍利用Map-Reduce来完成2个以上文件的Join的相关算法(Multi-way join algorithms)。基本的思路与第二篇文章中介绍的Map-Reduce Join类似,根据将这个算法扩展到多个文件的方式,可以分为...
2012-12-15 20:26:17
214
原创 通过Map-Reduce实现Join系列之二
在本系列的第一篇中,介绍了几种在数据库应用中常见的Join算法,本文将会介绍两种使用Map-Reduce实现对两个数据集合进行Join的算法,其中的一种会用到第一篇中提到的哈希Join算法。这里将这两种方法分别命名为Map-Reduce Join和Map-Only Join。[b]1. Map-Reduce Join[/b]这种Join方法,需要在hadoop上执行一个完整的Map-Red...
2012-12-15 20:22:24
206
原创 通过Map-Reduce实现Join系列之一
本系列的开篇在提到使用Map-Reduce实现Join之前,先来看看目前在数据库中应用比较广泛和流行的集中Join算法。它们分别是嵌套循环Join(Nested Loops Join)、排序合并Join(Sort-Merge Join)和哈希Join(Hash Join)。[b]1.嵌套循环Join[/b][code="java"]for R中的每一条记录r do for S...
2012-12-15 20:18:00
270
原创 Dremel对现有map-reduce的改进
Google在2010年的时候对外公布了其使用的一个大数据交互式分析系统,名字叫Dremel。同时还发布了相关的论文,[url]http://research.google.com/pubs/pub36632.html[/url]。从论文中看,Dremel有两个方面的重大创新点,[list=1][*]以面向列的结构存储记录[*]并行聚合计算[/list][b]以面向...
2012-08-22 17:49:31
202
原创 Change Mac OS X user Limits
如何修改max os x关于用户的配额限制,主要是进程数和文件句柄数。I always had a process limitation problem on OSX. You may encounter this when you open too much applications. In my case, using iTerm, I easyily open far too much ...
2012-08-14 16:29:00
176
Java对象初始化详解
在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的。本文试图对Java如何执行对象的初始化做一个详细深入地介绍(与对象初始化相同,类在被加载之后也是需要初始化的,本文在最后也会对类的初始化进行介绍,相对于对象初始化来说,类的初始化要相对简单一些)。[size=large][b]1.Java对象何时被初始化[/b][/size]Java对象在其被创建时初始...
2012-07-18 00:43:34
438
原创 利用Filter进行HBase查询
在HBase中,我们可以利用其Scan接口对数据进行扫描,具体方式如下,[code="java"]Scan scanConfig = new Scan();ResultScanner scanner = table.getScanner(scanConfig);for (Result result : scanner) {//ResultScanner实现了Iterator接口...
2012-07-11 00:14:33
437
原创 Java中Enum类型的序列化
在Java中,对Enum类型的序列化与其他对象类型的序列化有所不同,今天就来看看到底有什么不同。下面先来看下在Java中,我们定义的Enum在被编译之后是长成什么样子的。Java代码:[code="java"]public enum FruitEnum { APPLE, ORAGE}[/code]上面的代码定义了一个FruitEnum类型,是最简单形式的,下面我们来看看...
2012-07-07 21:53:52
3568
原创 Java final关键字详解
在java中,final关键字可以有如下的用处:[list=1][*]final关键字可以被加到类的声明中,final类是不允许继承的;[*]final关键字可以被加到方法声明中,final方法是不允许重写的(override),这个效果同私有方法一样;[*]final关键字可以被家到属性或者变量的声明中,final属性或者变量一旦赋值之后就不允许再发生变化。对于基本类型(prim...
2012-07-07 16:27:13
169
原创 利用线程隔离简化并发控制
在Java中,为了限制多个不同线程对共享变量或者状态的访问,利用语言提供的同步或者加锁机制是最简单有效的办法。通过加锁或者同步,我们可以控制同一时间只有一个线程能够访问共享变量或者转台,从而保证变量或者状态的在多个线程之间的一致性和完整性。加锁或者同步的方式对于所有需要限制线程对其进行访问的变量或者状态来说都是有效的,但是对于有些场景来说并不是最好的。也就是说,在某些场景下,通过加锁或者同步确实可...
2012-06-28 01:18:55
217
原创 Java内存模型能给我们什么
首先,为什么需要有内存模型?因为我们的程序(不管是什么程序)在运行的时候,数据和代码都是放在内存中的,在一个程序的执行过程中,都需要读取和写入数据的。在java中,可以是对本地变量的读写、对对象后属性的读写、或者是对类变量的读写等等。这些读写操作都是需要与内存进行交互的(这一点是由计算机的体系结构决定的),那么在与内存进行交互的过程中,对一个语言来说,哪些交互是合法的?语言本身又对这些读写操作...
2012-06-24 15:07:21
112
原创 java方法调用过程解析和执行--编译器的处理
本文尝试对java在编译器和运行期如何处理程序代码中的方法调用表达式进行描述,本文的大部分内容来自于java语言规范3.0.由于java动态语言的特性,因此它在编译期和运行期都需要对程序代码中的方法调用表达式进行处理。其中对方法调用表达进行处理的大部分工作是在编译期完成的,而运行期的大部分工作则是对编译完成的方法调用表达式进行有效性检查。[b][size=medium]编译期完成的处理[/...
2012-06-02 15:24:44
394
1
原创 maven杂记
[*]单独部署一个文件到repo有时候我们会需要单独部署一个文件到maven的本地库或者远程库中,一般来说会是一个比较高层的pom文件,可以使用如下命令:[code="java"]mvn install:install-file -Dfile=[your file] -DgroupId=[xxxx] -DartifactId=[xxxx] -Dversion=[xxxx] -Dpackag...
2012-03-02 00:32:33
210
原创 Servlet 3.0新特性
Servlet 3.0中最主要的两个新特性总结如下:[list][*]改变了之前Servlet版本中为每个请求分配一个线程的线程模型,用异步模型予以替换。这样做可以让Servelt线程尽快释放持有的资源并且返回,把耗时的操作留给其他线程,从而提高了Servlet容器处理请求的能力。[*]提供了Servlet、Filter和Listener的可插拔机制,支持Servlet、Filter、...
2011-03-11 13:12:31
132
原创 浅谈Java泛型中的extends和super关键字
泛型是在Java 1.5中被加入了,这里不讨论泛型的细节问题,这个在Thinking in Java第四版中讲的非常清楚,这里要讲的是super和extends关键字,以及在使用这两个关键字的时候为什么会不同的限制。 首先,我们定义两个类,A和B,并且假设B继承自A。下面的代码中,定义了几个静态泛型方法,这几个例子随便写的,并不是特别完善,我们主要考量编译失败的问题:[code=...
2010-12-25 21:06:07
259
原创 TCP的状态变迁
TCP的状态变迁图,做个记录,以待查阅。[img]http://dl.iteye.com/upload/attachment/369228/d17f0943-a88b-35d8-a6d3-31e5397a6e13.jpg[/img] 这个图中所说的服务器和客户其实是相对来说的,也就是说TCP的两端都既可以是服务器也可以是客户端,图中所说的只不过是作为服务器和客户端的时候正常的状态...
2010-12-16 21:36:29
142
原创 Java xml处理概述
在Java中,对xml的处理模型主要有两种,一种DOM,一种是SAX。DOM是w3c提出的一个xml处理模型,需要在内存中保存整个XML文档的相关信息,好处是灵活性强,可以对XML文档的任何部分以任何顺序进行处理,缺点是耗内存。SAX是开源社区提出的一套API,与DOM不同,它不是规范,但是由于其使用的广泛性,可以把SAX看作是一个事实上的规范。SAX把XML文档当作一个流来处理,而不是把整个XM...
2010-12-14 18:21:42
128
原创 mina概述
Apache mina基本上可以看成是一个基于java nio的web通信框架,特点是编程接口简单,但是功能完善,性能也不错。mina可以提供基于TCP、UDP、符合RS232的顺序通信以及vm内部的基于管道的通信,这些通信方式都以一致的接口暴露,通过接口的不同实现完成。首先来看一下这些接口已经他们之间的交互关系。主要的接口包括以下几个:IOService:IOAcceptor和IOC...
2010-12-14 18:20:02
197
原创 Java中wait与notify方法的使用
在java多线程编程中,最被经常用到的便是wait与notfiy方法,这两个方法可以用来更加精确地控制被同步的代码,从而使得被同步的代码最小化,提高并发效率。 当某个类的某个方法被标记为synchronized时,这个方法在同一时间只能被一个线程访问。此时这个方法中的所有代码都是被同步的,只有当一个线程执行完所有的代码之后,下一个线程才能开始执行。当被同步的方法代码量比较小,而且每一...
2010-05-22 14:09:15
260
MySql批量插入数据
在实际的开发过程中,特别是大型的分布式应用系统,往往会涉及到大批量的数据。那么在测试的时候就需要准备足够多的数据以便进行测试。 为了提高插入数据的效率,我们可以利用MySql的批量插入数据能力。其实,从本质来说也就是取消JDBC中事务的自动提交,改为手动提交。 如果没有关闭JDBC事务的自动提交,那么JDBC驱动会在每次执行了一条SQL语句之后,自动提交,并且关闭连接。而我们...
2010-04-05 15:55:42
191
字符集与编码-概念区分
在这里主要记录一下字符集与编码这两个概念,因为在日常编程当中很容易把这两个概念弄混掉。对这两个概念做澄清也有利于在编程当中对乱码问题的解决。 首先来说一下什么字符集。其实字符集是一个抽象的概念,例如我们可以把所有的英文字母称为一个字符集,同样的,所有的中文字符也可以称为一个字符集,或者将人类所有语言中的所有字符称为一个字符集。之所以称之为是抽象的,是因为同一个字符可能有很多中不同的表现形...
2010-03-23 13:50:50
152
原创 Sun的apt工具及Mirrors包学习
最近看来一些有关Java Annotation的东西,主要是翻了一下Thinking in Java这本书。算是对Java的Annotation有了一个大致的了解。在看Thinking in Java的时候,书里面有一段代码,专门介绍如何利用Java 1.5之后自带的apt(Annotation Processing Tool)工具来处理Annotation的。代码如下:[code="ja...
2010-01-05 00:02:10
504
原创 去掉对Spring BeanFacotry的getBean方法的依赖
在使用Spring时,有时会碰到这种情况: [quote]需要在一个类中使用一个非Singlton类型的Bean,比如每次方法调用都需要new一个新的Bean。但是,由于Spring的依赖注入是在Bean初始化完成之后进行的,而且只进行一次,因此就无法在每次方法调用时注入新的Bean。[/quote] 那么如何解决这个问题呢,一般的做法可能是实现Spring的Application...
2009-12-27 23:52:48
124
原创 Inversion of Control Containers and the Dependency Injection pattern
One of the entertaining things about the enterprise Java world is the huge amount of activity in building alternatives to the mainstream J2EE technologies, much of it happening in open source. A lot o...
2009-12-02 23:02:59
113
原创 通过HttpServletRequestWrapper解决Tomcat请求乱码问题
应用一:解决tomcat下中文乱码问题(先来个简单的) 在tomcat下,我们通常这样来解决中文乱码问题: 过滤器代码:[code="java"] package filter; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import w...
2009-11-16 23:08:07
221
原创 Java中Soft,Weak,Phantom应用的区别和使用
Java 1.2版本之后加入的这三个引用类型其实是对java中对象生命周期的一个增强,使得java对象的生命周期更加丰富。这三个引用类型主要在Java虚拟机的垃圾收集阶段发挥作用。 垃圾收集器对待软、弱和影子对象的方法不同,因为每一种都被设计用来为程序提供不同的服务。软引用使你可以创建内存中的缓存。它与程序的整体内存需求相关。弱引用使你可以创建规范映射,比如哈希表,它的关键字和值在没有其...
2009-10-29 13:20:49
495
java 反射实例化内部类
内部类的初始化同一般类的初始化基本相同,只是内部类的类名全称有些区别。下面定义了一个Outer类和一个Inner类:[code="java"]public class Outer{ public class Inner{ }}[/code] 通过如下方法可以得到Inner类的类名:[code="java"]public class Outer{...
2009-08-25 13:51:26
206
相对路径获取Tomcat Web容器中的资源
最近做项目碰到个问题,我需要利用velocity模版来渲染一些文本内容出来。也就是用vm来做模版,设置参数,然后我用程序动态产生的参数点进去,最后把渲染好的模版作为String输出。 项目里面vm模版是一起打包到war包里面的,而我用的是apache的velocity引擎,这个velocity引擎有方法支持vm渲染,但是要给出vm在文件系统中的绝对路径。考虑到灵活性,将模版的绝对路径写到...
2009-08-20 21:36:45
320
Jboss是数据源配置
配置Jboss的数据源非常简单,可以从$JBOSS_HOME\docs\examples\jca这个目录下面找到jboss对各种数据库提供的数据源配置文件。拿MS SQLServer来说,就有两个,一个是mssql-ds.xml,一个是mssql-xa-ds.xml。后一个文件时用来配置两阶段提交数据源的,一般来说我们只使用第一个配置文件就可以了。将与你的数据库类型匹配的数据源文件复制一份到$...
2009-08-16 15:38:04
122
Jboss 4.x 端口及其修改
[color=red]注:本文中所述内容适合于Jboss 4.x系列应用服务器。[/color]为了在同一台服务器上能够运行多个Jboss服务器,或者同时运行Jboss和Tomcat服务器,我们需要修改Jboss的各种端口。[b]Why configure JBoss's Ports? [/b] Configuring port numbers in JBoss can ...
2009-08-07 14:49:31
599
原创 JBOSS共享安装
[color=red]本文内容适合于Jboss 4.x系列应用服务器。[/color]在项目中,我们可能会碰到有多个开发人员共用一个服务器,每个人都需要有单独的开发环境来运行项目程序。如果每个人都安装一个自己的Jboss,这样会浪费很多磁盘空间。另外,还有可能需要在一个服务器上运行多个不同的Jboss项目,或者我们对远程机器上的Jboss目录没有写权限,因此就没有办法把我们的项目放到远程服...
2009-08-07 14:36:28
534
java 泛型-erasure
Java的泛型实现采用了擦除(erasure)机制,这给获取泛型的类型信息带来了一点麻烦。比如下面的代码(摘自Thinking in Java):[code="java"]import java.util.*;class Frob {}class Fnorkle {}class Quark {}class Particle {}public cl...
2009-07-30 12:42:49
241
原创 Java语言深入:深入研究Java equals方法
equals方法的重要性毋须多言,只要你想比较两个对象是不是同一对象,你就应该实现equals方法,让对象用你认为相等的条件来进行比较. 下面的内容只是API的规范,没有什么太高深的意义,但我之所以最先把它列在这儿,是因为这些规范在事实中并不是真正能保证得到实现.[list=1][*]对于任何引用类型, o.equals(o) == true成立. [*]如果 o.equal...
2009-07-28 11:43:01
105
Tomcat热部署
使用过tomcat的人都知道,为了在tomcat启动时能够加载你的Web工程,我们需要将Web工程打包成.war文件放到tomcat指定的目录下,也就是%CATALINA_HOME%/webapps目录。这样Tomcat在启动的时候就回去加载这个Web工程。这样做有两个不好的地方:[list=1][*]不能实现热部署。也就是当你修改了你的web工程中的某个类时,必须要重新打包才能反应出变化...
2009-06-24 20:33:33
103
原创 Improved Session Tracking
Improved Session TrackingSeptember 22, 2006I recently discovered a better way to handle session tracking in web applications while dealing with complaints from the users of our application about...
2009-06-24 01:23:04
168
jsessionid存在的问题及其解决方案
jsessionid是Java Web Server(即Servlet/JSP Server)中为了防止客户端屏蔽cookie而在URL中放置的sessionid的统称。支持Servlet标准的Web容器,例如Tomcat,都支持以URL重写的方式在URL中加入jsessionid。目前在大量的网站中都有用到,但是其存在的一些问题被越来越多的人认为是有害的,并且建议不适用jsessionid。...
2009-06-24 00:29:45
2379
原创 tomcat数据库连接池设置
1.Tomcat中的设置[img]http://p.blog.youkuaiyun.com/images/p_blog_youkuaiyun.com/mysun0129/1.bmp[/img]2.我的工作目录在c:\eclipse\workspace\chocolate\cho[img]http://p.blog.youkuaiyun.com/images/p_blog_youkuaiyun.com/mysun0129/2.bmp[...
2009-06-23 16:56:16
118
ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
1. 首先查看tnsnames.ora,路径如下:oracle安装目录\product\10.2.0\db_1\NETWORK\ADMIN\。看其中是否包含了你的连接描述符中的服务,也就是你请求的服务。如果没有,则可以手动添加,比如:[code="sql"]service_ex = (DESCRIPTION = (ADDRESS_LIST = (ADDRES...
2009-06-23 16:47:06
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人