自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java集合随笔之一--PriorityQueue

8月20日,终于判了,但有失公正,社会可以不公平但不能不公正--写在正文前的废话。  PriorityQueue这个东西叫啥,随便反正我不会翻译她,我只想把我N年前看过的目前还记得的东西拿出来凉凉,以免发霉了,再则也可以给自己的生活添点佐料。一、PriorityQueue的数据结构 PriorityQueue类定义里明确指出“based on a priority heap”,堆结...

2012-08-20 22:05:19 136

原创 java对象内存占用情况分析

一个对象实例占用了多少字节,消耗了多少内存?这样的问题在c或c++里使用sizeof()方法就可以得到明确答案,在java里好像没有这样的方法(java一样可以实现),不过通过jmap工具倒是可以查看出一个对象的占用内存的大小,这里介绍一种通过分析java代码计算内存使用情况的方法。注意,一下讨论的情况都是基于32位机,不适用用64位机,JVM是sun的HotSpot,不同的虚拟机实现可能会不...

2011-11-22 16:43:35 384

Integer.valueOf()和new Integer()

1、new Integer():方法会在内存中新开辟一个内存空间;2、valueOf():方法只有在传入的参数<-128或>127时,才会去调用一个new Integer()方法去创建一个新的对象,否则会使用静态类IntegerCache中的cache里的对象。程序表象:如果我们要调用50万次的new Integer(4),在不去设置jvm内存参数的情况下会outOfMem...

2011-10-30 14:21:23 391

通过Executors创建创建的线程池分析I

对于线程池主要关心的内容有:线程池的大小控制、池中的队列控制、池饱和时的策略,下面我们从这三个角度来分析一下Executors生成的不同池。1、ThreadPoolExecutor构造函数介绍:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...

2011-05-11 19:43:18 123

阻塞方法引起的任务无法结束

做一个小练习记录一个阻塞方法引起的任务无法结束。场景如下:一个生成质素的类,多个线程调用这个类生成一系列质素。质素生成类:public class PrimeGeneratorForeverRun implements Callable<BlockingQueue<BigInteger>> { private final BlockingQueue&l...

2011-04-28 14:47:06 209

定时且周期性的任务研究II--ScheduledThreadPoolExecutor

上一篇中我们看到了Timer的不足之处,本篇我们将围绕这些不足之处看看ScheduledThreadPoolExecutor是如何优化的。为了研究方便我们需要两个类:public class Task1 implements Callable<String> { @Override public String call() throws Exception { ...

2011-04-21 19:45:23 133

原创 定时且周期性的任务研究I--Timer

很多时候我们希望任务可以定时的周期性的执行,在最初的JAVA工具类库中,通过Timer可以实现定时的周期性的需求,但是有一定的缺陷,例如:Timer是基于绝对时间的而非支持相对时间,因此Timer对系统时钟比较敏感。虽然有一定的问题,但是我们还是从这个最简单的实现开始研究。 首先,我们准备一些讨论问题的类:TimerTask1和TimerLongTask,如下public class ...

2011-04-21 13:50:28 200

原创 ExecutorService生命周期

ExecutorService接口继承了Executor接口,定义了一些生命周期的方法public interface ExecutorService extends Executor {void shutdown();List<Runnable> shutdownNow();boolean isShutdown();boolean isTerminated();...

2011-04-20 19:36:07 261

原创 使用Hive读取Hbase中的数据

第一步,启动hadoop,命令:./start-all.sh第二步,启动hive,命令:./hive --auxpath /home/dream-victor/hive-0.6.0/lib/hive_hbase-handler.jar,/home/dream-victor/hive-0.6.0/lib/hbase-0.20.3.jar,/home/dream-victor/hive-0.6...

2011-03-23 11:24:44 405

原创 Hive安装

第一步,修改bin目录下的hive-config.sh文件export HIVE_HOME=/home/dream-victor/hive-0.6.0--指向自己的hive安装目录export HADOOP_HOME=/home/dream-victor/hadoop-0.20.2--指向自己的hadoop安装目录export JAVA_HOME=/home/dream-victor/...

2011-03-23 10:18:43 63

原创 HBase安装

第一步,配置hbase-env.sh:export JAVA_HOME=/home/dream-victor/jdk1.6.0_21--指向自己的JDKexport HBASE_MANAGES_ZK=trueexport HBASE_LOG_DIR=/home/dream-victor/hbase-0.20.6/logs--指向自己定义的logs文件夹 第二步,配置hbase-si...

2011-03-23 09:42:52 93

原创 hadoop单机模式安装

最近工作中要做一个小工具,使用到了hadoop,以前又没有搞过,所以简单的研究了一下,先从安装说起:本文使用的环境是:ubuntu10+hadoop-0.21第一步,先确认本机是否开启了sshd,方法很简单,用如下命令:ssh localhost若没有运行sshd,则会提示你无法登录,这时需要手动安装一下,命令如下:sudo apt-get install openssh-se...

2011-03-22 11:10:08 87

左式堆学习

今天学习了一下左式堆,总结一下。一、左式堆定义:具有,如下性质1、父节点属性值小于子节点属性值;2、堆中的任何节点,其左儿子的零路径长>=右儿子的零路径长;的二叉树。注:零路径长(npl)是指:从一个节点X开始到一个不具有两个儿子的Y节点的最短路径的长,可以看出有0个或者一个儿子的节点的npl=0,并且定义npl(null)=-1;二、左式对的节点定义:cla...

2011-03-19 17:37:54 103

Btrace系列之一:Btrace的基本原理

 写在前面的话:Btrace系列是我将平时里学习和使用Btrace的一些经验的总结,拿出来和大家一起交流一下,希望在这个过程中能找寻出自己理解或使用上的错误之处。 一、Btrace的简介:    Btrace是由Kenai开发的一个开源项目,是一种动态跟踪分析JAVA源代码的工具。它可以用来帮我们做运行时的JAVA程序分析,监控等等操作,当然,它也不是万能的,BTrace也有一...

2011-03-17 21:28:23 313

Apache服务器模块的安装

最近,想使用apache的mod_status来查看一下apache的服务器状态,就自己安装了一下mod_status,以前觉得好像很难的东西其实很简单。第一步, 去http://httpd.apache.org/下载最新的apache服务器第二步,将下载的httpd-2.2.17.tar.gz解压,如:~/tmp$ tar xvf httpd-2.2.17.tar.gz第三步,进入解...

2011-02-21 17:56:30 132

ASM系列之五:操作类方法

前面我们了解了如何使用ASM的CoreAPI来操作一个类的属性,现在我们来看一下如何修改一个类方法。场景:假设我们有一个Person类,它当中有一个sleep方法,我们希望监控一下这个sleep方法的运行时间:一般我们会在代码里这样写:public void sleep() { long timer = System.currentTimeMillis(); ...

2011-01-25 23:07:54 483

原创 ASM系列之四:操作类属性

    在上一篇文章中,我们看到了ASM中的Core API中使用的是XXXVisitor操作类中的对应部分。本文将展示如何使用ASM中的Core API对类的属性的操作。首先,我们定义一个原类Person,如下:public class Person { public String name = "zhangzhuo"; public String address = "xxxx...

2011-01-17 22:43:14 276

原创 ASM系列之三:ASM中的访问者模式

    在ASM的Core API中使用的是访问者模式来实现对类的操作,主要包含如下类:一、ClassVisitor接口:    在这个接口中主要提供了和类结构同名的一些方法,这些方法可以对相应的类结构进行操作。如下:public interface ClassVisitor { void visit(int version,int access,String name,St...

2011-01-16 16:09:39 522

原创 ASM系列之二:Java类的基本表述

    上一篇文章中我们看到了如何使用ASM生成一个简单的JAVA类,里面使用到了很多的基本概念,比如:方法描述、引用描述等,下面将一一介绍。一、类版本:    一个Java二进制的类文件,都有一个版本,因此ASM中提供了几个常量来指定一个类的版,这些常量定义在org.objectweb.asm.Opcodes接口中,如下:int V1_1 = 3 << 16 | 45;...

2011-01-16 11:43:09 167

原创 ASM系列之一:初探ASM

一、什么是ASM    ASM是一个JAVA字节码分析、创建和修改的开源应用框架。在ASM中提供了诸多的API用于对类的内容进行字节码操作的方法。与传统的BCEL和SERL不同,在ASM中提供了更为优雅和灵活的操作字节码的方式。目前ASM已被广泛的开源应用架构所使用,例如:Spring、Hibernate等。二、ASM能干什么    分析一个类、从字节码角度创建一个类、修改一个已经被编...

2011-01-13 23:07:49 668

dlwiseinstall汉化

简单的安装程序 dlwiseinstall的汉化

2007-09-07

空空如也

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

TA关注的人

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