`
jameswxx
  • 浏览: 776390 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
      最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣。已经拟好了提纲,大概分为这几个主题: java线程安全,java垃圾收集,java并发包详细介绍,java profile和jvm性能调优 。慢慢写吧。本 ...
该文章我转自IBM开发者社区                 Hadoop 是一个受到 Yahoo!、Google 和 IBM 等公司支持的 Apache 项目。 本文将介绍 Hadoop 框架,并展示它为什么是最重要的基于 Linux® 的分布式计算框架之一。Hadoop 由 Apache Software Foundation 公司于 2005 年秋天作为 Lucene 的子项目 Nutch 的一部分正式引入。它受到最先由 Google Lab 开发的 MapReduce 和 Google File System 的启发。2006 年 3 月份,MapReduc ...
          真正的分布式计算实验需要好多台服务器,因此我暂时只在本机做了1和2两种模式,这里做个笔记,发表是最好 的记忆嘛。 apahce的网站上有hadoop的安装文档,非分布式计算安装文档说明:http://hadoop.apache.org/common/docs/current/single_node_setup.html hadoop的运行模式有三种: 1 单节点模式 2 伪分布式模式 3 分布式模式 关于hadoop配置文件的使用说明和常用命令,这里有篇文章,是中文的哦: http://www.iteye.com/topic/28484 ...
         java.util.HashMap是很常见的类,前段时间公司系统由于对HashMap使用不当,导致cpu百分之百,在并发环境下使用HashMap而没有做同步,可能会引起死循环,关于这一点,sun的官方网站上已有阐述,这并非是bug。 HashMap的数据结构          HashMap主要是用数组来存储数据的,我们都知道它会对key进行哈希运算,哈系运算会有重复的哈希值,对于哈希值的冲突,HashMap采用链表来解决的。在HashMap里有这样的一句属性声明: transient Entry[] table; Entry就是Hash ...

CountDownLatch

    博客分类:
  • java
      java的并发包真是很好玩,有很多很有意思的东西。我比较懒,下面直接将jdk doc 对CountDownLatch的描述直接翻译过来。       CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个 ...
 一:ThreadPoolExecutor           从 Java 5 开始,Java 提供了自己的线程池。线程池就是一个线程的容器,每次只执行额定数量的线程java.util.concurrent.ThreadPoolExecutor 就是这样的线程池。它很灵活,但使用起来也比较复杂。 首先是构造函数。以最简单的构造函数为例: public ThreadPoolExecutor(    int corePoolSize,    int maximumPoolSize,    long keepAliveTime,    Ti ...
      这两天给系统加了一个基于hessian的远程服务,本来很简单的一个东西,却因为种种原因,发布过程颇为坎坷,确实系统业务和流程非常庞大复杂,我刚开始来,也确实对系统不熟悉,但是不管怎样,我应该反思。     ...
        很久以前写了基于rmi的分布式java程序,现在基本都忘记了,只有一个大概印象。今天写了个小例子复习了下,比较简单,主要在于使自己熟悉下api和部署过程。一共有4个java文件。    TestRemote.java import java.rmi.Remote; import java.rmi.RemoteException; public interface TestRemote extends Remote { public String add(String a, String b) throws Rem ...
      业界有很多强大的java profile的工具,比如Jporfiler,yourkit,这些收费的东西我就不想说了,想说的是,其实java自己就提供了很多内存监控的小工具,下面列举的工具只是一小部分,仔细研究下jdk的工具,还是蛮有意思的呢 ...
        5月30日,办妥了离职手续,纠结了一年多,终于结束了。我下楼后,回头望了下这家公司,在这里呆了三年,有很多的欢喜,有更多的郁闷,这里太压抑,没有感情,只有压榨。如果我是一匹千里马,那我就去寻找广袤的原野吧,接受血与火的洗礼,宁愿带着伤口痛苦的奔跑;如果我是一只白天鹅,那我就去寻找美丽的天空吧,接受风和雨的考验,宁愿孤单笨拙的飞着。            我走了,我选择了离开,深圳,再见,这个我喜欢的城市。我没有选择飞机,而是选择了火车,我喜欢这种在路上的感觉,在一个靠窗位置,静静的坐了下来,我需要内心的宁静,看着窗外,想了很多,想了好多好多,过去,现在,将来,悲伤,高兴,家人 ...
        cglib是一个强大的高性能的代码生成包,他广泛的被许多的AOP框架使用,例如Spring AOP 和dynaop ,为他们提供方法的拦截(interception),最流行的OR Mapping 工具hibernate也使用CGLIB来代理单端single-ended(多对一和一对一)关联。在 ...
        jdk的动态代理是基于接口的,必须实现了某一个或多个任意接口才可以被代理,并且只有这些接口中的方法会被代理。看了一下jdk带的动态代理 api,发现没有例子实在是很容易走弯路,所以这里写一个加法器的简单示 ...
       先说一下java class的加载机制和与class文件的关系:Java 程序的工作机制: Java 对象都以单独的 class 文件存在, java 虚拟机将其载入并执行其虚拟机指令。     class 的加载与实例化 java 虚拟机根据 class path 来查找 java 对象,而虚拟机的 class path 又分为三层: ...
       这几天又捧了放下好久的书,很长一段时间,都没有安静坐下来,好好的看看书。这几天看了算法设计和数据结构。仿佛回到大学时代的课堂,那个青涩的时光,已经远去,真是有些感概,这几年,同学群似乎越来越沉默了,人还是那些人,可已不是当初的模样,假如大家再相聚在一起,想必社会的熏陶已让我们失去了当年的纯真。青春,真的好宝贵,年轻,真的很美好,当然,我也是很年轻的。           看了下堆排序算法,看来真的放下好久了,居然苦苦的思考了半天,才明白它的要义,想当年,我的数据结构和算法可是学得非常好的,考高程的时候,算法设计题目用了不到5分钟,得了满分。不过基础还在,也不是很费劲,后面陆续 ...
       前几天有个同事问我,String a="123",String b=new String("123");它们的hashcode相等吗?我当时愣了一下,首先它们的equals肯定是true的,“==”是false的,但是还真没注意到两个的hashcode是否相等。        后来我查了一下jdk文档,发现对String的hashcode是这样描述的: hashCode public int hashCode() 返回此字符串的哈希码。String 对象的哈希码按下列公式计算: s[0]*31^(n-1) + s[1]* ...
Global site tag (gtag.js) - Google Analytics