java
文章平均质量分 74
ToBeAndNotToBe
这个作者很懒,什么都没留下…
展开
-
MD5加密以及转化为16进制
第一步:java原创 2010-08-26 21:07:00 · 9123 阅读 · 0 评论 -
java序列化
废话不多说,看实例:先新建一个java类:class ObjectSearilizeTest{ private long id =1234; private int num; private String userName; publi原创 2011-08-23 17:26:05 · 932 阅读 · 0 评论 -
Hadoop之JobTrack分析
1.client端指定Job的各种参数配置之后调用job.waitForCompletion(true) 方法提交Job给JobTracker,等待Job 完成。 public void submit() throws IOException, InterruptedException, ClassNotFoundException原创 2012-01-09 15:31:40 · 6965 阅读 · 0 评论 -
关于Hadoop的shuffle
我们知道每个reduce task输入的key都是按照key排序的。 但是每个map的输出只是简单的key-value而非key-valuelist,所以洗牌的工作就是将map输出转化为reducer的输入的过程。 在map结束之后shuffle要做的事情: map的输出不是简单的写入本地文件,而是更多的利用内存缓存和预排序工作,以提高效率。io.so原创 2012-01-09 23:34:53 · 7631 阅读 · 0 评论 -
Hadoop之TaskTraker分析
TaskTracker的工作职责之前已经和大家提过,主要负责维护,申请和监控Task,通过heartbeat和JobTracker进行通信。 TaskTracker的init过程: 1.读取配置文件,解析参数 2.将TaskTraker上原有的用户local files删除并新建新的dir和file 3. Map tasks = new HashMa原创 2012-01-10 01:48:10 · 3900 阅读 · 0 评论 -
堆排序及算法分析
写的不错,转过来了http://www.cnblogs.com/zabery/archive/2011/07/26/2117103.html前言记得在学习数据结构的时候一味的想用代码实现算法,重视的是写出来的代码有一个正确的输入,然后有一个正确的输出,那么就很满足了。从网上看了许多的代码,看了之后貌似懂了,自己写完之后也正确了,但是不久之后就忘了,因为大脑在回忆的时候,只依稀记转载 2012-01-11 10:40:27 · 3307 阅读 · 0 评论 -
HDFS之NameNode分析
大家都知道HDFS的架构由NameNode,SecondaryNameNode和DataNodes组成,其源码类图如下图所示:正如上图所示,NameNode和DataNode继承了很多的protocol用于彼此间的通信,其实nameNode还实现了RefreshUserMappingsProtocol和RefreshAuthorizationPolicyProtocol两个协议,用于权限控原创 2012-01-11 21:59:54 · 5144 阅读 · 0 评论 -
Spring AOP 实例
Spring AOP 中提供了两种PointcutAdvisor,分别是: ①org.springframework.aop.support.RegexpMethodPointcutAdvisor (需要加上完整类名,可以用Spring提供的匹配方式) ②org.springframework.aop.support.NameMatchMethodPointcutAdvisor(原创 2011-08-18 12:54:48 · 1829 阅读 · 0 评论 -
Tomcat ClassLoad加载机制
见详图转载 2012-02-03 17:02:43 · 2975 阅读 · 0 评论 -
TreeMap实现
TreeMap使用红黑二叉树实现。红黑二叉树:a. 根节点是黑色的;b. 红色节点的儿子节点是黑色的;c. 任何一个节点到空节点的所有路径上必包含相同数据的黑色节点;d. 叶子节点的子节点是黑色节点 假设一颗红黑树的黑色节点个数为R,那么这棵树的最短高度为R,最大长度为2R所以h先看插入:第一步,先原创 2012-02-04 01:21:41 · 6933 阅读 · 0 评论 -
log4f
log4j是一个非常强大的log记录api工具.下面先来看Log4J的类图Logger - 日志写出器,供程序员输出日志信息 Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去 ConsoleAppender - 目的地为控制台的Appender FileAppender - 目的地为文件的Appender Roll转载 2012-02-09 11:05:13 · 2904 阅读 · 0 评论 -
介绍JDK 动态类型语言支持
注 转自infoq Java虚拟机的字节码指令集的数量自从Sun公司的第一款Java虚拟机问世至JDK 7来临之前的十余年时间里,一直没有发生任何变化[1]。随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令。这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8转载 2012-02-10 11:48:02 · 3374 阅读 · 0 评论 -
Java并发编程之ConcurrentHashMap
转自http://www.goldendoc.org/2011/06/juc_concurrenthashmap/ConcurrentHashMapConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Has转载 2011-08-18 09:33:45 · 1092 阅读 · 0 评论 -
hadoop code analyze-first try
原创 2011-08-08 17:51:01 · 825 阅读 · 0 评论 -
Java EE 6 Web层综述:Servlet获得异步支持、扩展性改善
转自infoq作者 Charles Humble 译者 张龙 发布于 2010年1月19日很多Java Web应用都是基于某个框架的,如Apache Wicket、Java ServerFaces、Struts或是Spring MVC等等。要想使用框架,开转载 2011-08-08 11:39:51 · 808 阅读 · 0 评论 -
DBCrawler 使用
DBCrawler是一个纯java编写的轻量级面向数据库结构的爬虫工具.最近,DBCrawler发布了其1.4版本,主要支持的数据库包括Apache Derby,H2 Database,HSQLDB,IBM DB2,MySQL,PostgreSQL,同时支持试图操作.其最大的特点就是可以无视数据库类型,轻易获取数据库表结构并以POJO方式返回给用户,使用实例:1.加入maven库:在你工程的pom文件中project下一级别加入库:dbcrawler-repodbcrawler Maven2 Reposit原创 2010-09-20 15:21:00 · 1564 阅读 · 0 评论 -
Lucene 合并倒排表算法之交集
lucene在搜索时,需要对多个倒排表进行merge操作:计算两者间的交集 并集和差集.原创 2010-09-25 10:16:00 · 5383 阅读 · 0 评论 -
Lucene 合并倒排表算法之并集
上一篇中讲到lucene在合并倒排表时候的交集算法操作.本文继续对倒排表求并集的算法:lucene处理交集时采用的数据结构是一个倒排表的数组,数组的元素是一个个的迭代器来表现每个倒排表.而在求并集的时候则是采用了队列数据结构.在DisjunctionSumScorer类的构造函数中对队列进行了初始化操作: Iterator si = subScorers.iterator(); scorerDocQueue = new ScorerDocQueue(nrScorers); while原创 2010-09-25 13:39:00 · 3938 阅读 · 0 评论 -
正则入门
<br />注明:转自infoQ<br /> <br />【编者按】正则表达式一直是开发者工具箱中趁手的利器,但很多人对此仍是一知半解。这次InfoQ中文站有幸邀请到来自盛大创新院的余晟,开辟《正则表达式》的专栏,为读者讲解正则表达式的一些技巧和概念。他还是《精通正则表达式》和《技术领导之路》的译者。<br />用过正则表达式的人都知道,正则表达式中有一类叫做“元字符(meta-character)”的特殊符号,它们并不匹配自身对应的字符,而具有其他的含义。比如脱字符『^』表示“定位到字符串/行的开头”转载 2011-01-25 11:51:00 · 893 阅读 · 0 评论 -
BTrace使用指南,转自javaeye
BTrace(https://btrace.dev.java.net/) 是一个非常不错的java诊断工具, 最近试着用了一下, 文档比较少, 主要是看例子吧. BTrace 中的B表示bytecode, 表明它是在字节码层面上对代码进行trace 用来在运行中的java类中注入trace代码, 并对运行中的目标程序进行热交换(hotswap) 术语 Probe Point 在何处执行trace语句, 这里的"何处"可以是具体的跟踪地点和执行事件, 在BTrace中通过各种注解来指定 Trace Actio转载 2011-02-14 11:32:00 · 2642 阅读 · 0 评论 -
Servlet总结笔记1
<br />一.Servlet生命周期:1.加载,通常在web服务器启动时加载该类;2,实例化:与一般普通对象无异;3.初始化,调用init()方法;4.调用service方法,处理post or get 请求;5.结束:destory();<br />二.Servlet不同于一般对象:每个Servlet拥有一个ServletConfig对象,保存部署时信息(比如web.xml里面的init-parameter);用于访问ServletContext;每个web应用只拥有一个ServletContext对象原创 2011-03-27 23:26:00 · 709 阅读 · 0 评论 -
Yui Compressor Java压缩实践
最近在做一个项目,需求大概是将公司每个应用的js/css统一管理,更新和发布到cdn上。本文只分享在对js/css进行压缩处理时遇到的经验和问题,其他内容不多做介绍。 首先,因为每个应用的css/js都在svn库中保存,需要将其“checkout”到本地或者db中。然后使用者根据需要再选择相关文件发布。发布过程大概是生成本地文件,然后使用一些优秀的×nix工具将其同步到cdn上面。本文需原创 2011-06-24 16:06:00 · 7925 阅读 · 0 评论 -
关于Web应用API设计的一些想法和实践
最近在做项目,因为需求变动,需要修改多个API接口,因而对此有了一些想法,在同事的建议和讨论下,对API的设计理念有了重新的思考和认知,谨以此文记之。 Api设计要点: 个人认为API设计的几个核心要素在于:简单适用,安全,统一。 简单适用:涉及几个方面,开发过程简单化,使用者用起来的时候不会费劲。假如你的API接口实现起来极其困难(需求之外的因素导致的),那你就需要原创 2011-06-24 16:09:00 · 1871 阅读 · 0 评论 -
性能调优实践总结
上次和大家介绍了使用YUI者compressor框架进行自动压缩工作中遇到的问题和技巧. 本次,继续压缩的话题,谈谈压缩过程中的优化.上次提到在对js/css文件进行压缩之前,需要做一步转码工作.需要使用java自带的native2ascii工具将GBK/utf8格式原创 2011-07-31 00:47:26 · 715 阅读 · 0 评论 -
java7 新特性
文章转载自:开源中国社区 [http://www.oschina.net]官方说是 7月28日 正式发布 Java 7 ,正常的话我们应该在 7月29日 看到这个版本。很快了,就两天时间。发布之前让我们先来看看 Java 7 都有什么新特性吧。Java转载 2011-07-31 01:46:02 · 932 阅读 · 0 评论 -
系统调优小技巧&规则
理解你应用的关键路径及关键路径消耗的资源,然后查看该资源的利用率第一步:从系统层开始,主要包括以下命令:vmstat,iostat,sar,top,netstat,sysctlvmstat指令可以查看linux系统性能情况:系统内核线程,虚拟内存,磁盘io,陷阱和cpu活动的统计信息等,如下所示:songjing@songjing ~ $ vmstatprocs ---原创 2011-06-30 12:39:00 · 1050 阅读 · 0 评论 -
Java 程序员应该了解的 10 个面向对象设计原则
面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程转载 2012-03-13 09:07:54 · 2539 阅读 · 0 评论