- 博客(40)
- 收藏
- 关注
原创 Jurisdiction Policy Files
全名叫Unlimited Strength Java(TM) Cryptography Extension (JCE) Policy Files for the Java(TM) Platform。本质是Java的policy文件(Java policy 相关请参见我的其他博文)。一般JDK内置的policy文件会对加密算法所使用的KEY的长度有所限制,一般限制在128bits(Triple-...
2014-05-05 14:52:09
463
原创 【转】 Nobody Needs Reliable Messaging
http://www.infoq.com/articles/no-reliable-messaging Author: Marc A received view in SOA and Web Services is the need for reliable messaging. Reliable messaging is the guarantee that a messa...
2013-11-13 15:20:58
239
原创 Java实现四则混合运算
使用栈来实现,可以处理运算优先级。使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2。无需把表达式先转换为逆波兰等形式。 package com.joshua.cal;import java.util.Collections;import java.util.HashMap;import java.util.HashSet;import java.u...
2013-09-25 13:45:53
495
原创 WOW! LZ4, 超越Snappy的压缩算法
Wow, LZ4 is fast!I’ve been doing some experiments with LZ4 recently and I must admit that I am truly impressed. For those not familiar with LZ4, it is a compression format from the LZ77 family. Com...
2013-08-22 16:49:33
576
原创 Stanford University --- Machine Learning
Google Brain之父,斯坦福大学教授Andrew Ng带来的机器学习课程。另注:Andrew同时也是coursera的创始人。https://www.coursera.org/course/ml About the CourseMachine learning is the science of getting computers to act without be...
2013-07-30 09:05:06
187
原创 使用Policy文件控制Applet权限
本文介绍在Java平台上如何访问受限资源,比如读写一个文件。我们通过配置policy文件来使得一个未签名的applet访问系统的受限资源。本文主要由以下内容组成:对于Applet的限制如何配置Policy文件如何使Policy生效 对于Applet的限制Java插件使用Security Manager来防止病毒通过applet侵入你的系统。如果未签名的applet想...
2013-07-12 09:25:19
286
原创 Presentations
Architecting for High Availabilityhttp://www.infoq.com/presentations/architecting-high-availability The Fundamentals of JVM Tuninghttp://www.infoq.com/presentations/jvm-tuning Large-Scal...
2013-07-10 16:07:06
154
原创 Apache Hadoop YARN – ResourceManager (From Hortonworks)
Apache Hadoop YARN – ResourceManagerAs previously described, ResourceManager (RM) is the master that arbitrates all the available cluster resources and thus helps manage the distributed application...
2013-07-02 15:43:12
202
原创 Apache Hadoop YARN – NodeManager (From Hortonworks)
Apache Hadoop YARN – NodeManagerThe NodeManager (NM) is YARN’s per-node agent, and takes care of the individual compute nodes in a Hadoop cluster. This includes keeping up-to date with the Resource...
2013-07-02 15:42:08
191
原创 常见的 Kerberos 错误消息 (N-Z)
本节按字母顺序 (N-Z) 列出了 Kerberos 命令、Kerberos 守护进程、PAM 框架、GSS 接口、NFS 服务和 Kerberos 库的常见错误消息。 No credentials cache file found原因:Kerberos 无法找到凭证高速缓存 (/tmp/krb5cc_uid)。解决方法:请确保该凭证文件存在并且可以读取。否则,请再次尝...
2013-06-27 16:26:50
411
原创 常见的 Kerberos 错误消息 (A-M)
本节按字母顺序 (A-M) 列出了 Kerberos 命令、Kerberos 守护进程、PAM 框架、GSS 接口、NFS 服务和 Kerberos 库的常见错误消息。 All authentication systems disabled; connection refused原因:此版本的 rlogind 不支持任何验证机制。解决方法:请确保调用的 rlogind ...
2013-06-27 16:25:57
872
原创 TPC-H on Hive
TPC-H是数据库/数据仓库选型决策用的benchmark。它是世界公认的benchmark,由一套面向业务的数据查询和并发数据更新组成。百度文库里有个文档写的还不错。 Jia, Yuntao在HIVE-600中提交了TPC-H的hive driver。Driver由shell脚本作为bootstrap,由一系列HQL文件组成,总共22个benchmark。Driver中并不包含原始数据...
2013-06-10 20:37:54
142
Java Makefile【转】
Java MakefileA simple replacement for AntVersion 4.4, January 2011Geotechnical Software ServicesCopyright © 1999 - 2011 This document is available at http://geosoft.no/development/javamake.h...
2013-05-31 13:16:27
213
Linux,如何看性能
摘自Brendan Gregg(Lead Performance Engineer of joyent)的PPT。joyent公司可能很多人没听说过,但是提到node.js,相信很多人都知道。joyent公司正是node.js的主要开发者 ...
2013-05-22 10:48:05
119
原创 HDFS v2 HA方案对比
Apache提供了两种HDFS v2 的HA方案。HA的具体实现和使用方式本文就不赘述了,可以参考以下链接:HA with NFS HA with QJMCDH(Cloudera的Hadoop发行版)在早期的版本中只支持HA with NFS方案。自CDH4.1起,增加对HA with QJM的支持。QJM由Cloudera设计,并已经merge到Hadoop的TRUNK(HDFS...
2013-05-02 11:33:44
297
原创 License 【摘录】
GPL & LGPLGPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式;LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Public License (GNU 库通用公共许可证);GFDL 是 GNU Free D...
2013-04-08 19:54:39
145
原创 ParSeq in Action
近年来,rest架构风格火了起来,源于越来越多的人在SOA的实践中厌倦了SOAP之流,于是rest api终于抬头。LinkedIn 也于半年前开源了其rest + json的架构:rest.li,着实为rest加了把火。 什么是ParSeqrest.li允许资源异步地返回结果。这个机制由LinkedIn的另外一个开源项目ParSeq来支撑。ParSeq是轻量级的Java异步操作框...
2013-03-22 16:38:04
376
IDE导入rest.li源码
rest.li使用gradle来自动构建其代码。 下载rest.lirest.li的源码维护在GitHub上:https://github.com/linkedin/rest.li。可以直接zip方式下载,也可以通过Github客户端下载。下载后解压 Eclipse Juno本博文介绍的是插件的网络安装方式,请确认你的网络环境。如有必要,请为Eclipse设置网...
2013-03-21 13:13:39
173
原创 Eclipse导入spring-framework-3.2.*源码
下载spring-framework源码Springsource在github上维护源码。https://github.com/SpringSource/spring-framework*本文使用spring-framework-3.2.*源码。 检查安装环境检查网络环境,如果使用代理上网,需要配置代理信息:Windows用户打开gradlew.bat。linux用...
2013-03-15 15:10:54
161
原创 单例模式那些坑
作为GOF黄道23宫的白羊宫,单例模式是所有设计模式初学者首先要跨过的坎。本文不赘述单例模式和它的诸多变种(比如懒加载单例,单例工厂模式等等)的用法,而是想和大家聊聊单例背后的那些坑。 第一坑 并发之坑这个坑相信大部分童鞋都是知道的,毕竟大部分人闭着眼单手也能蹂单例。懒加载是件好事,但是一不小心就犯错了,比如:public class Foo { private st...
2013-03-07 16:03:16
176
原创 【Java小技巧】避免过多的构造器参数
我们假设用户类有数十个属性,比如:姓名,性别,年龄等等。 如果使用单一的构造器,会造成构造器参数过多的问题。过多的构造器参数不但降低了代码的可读性,而且大大增加了程序员出错的几率。 比较普遍的解决方案有两个:重叠构造器和Java Bean。我们将介绍并分析这两种方式的优劣并在最后给出一种更合理的解决方案。 重叠构造器重叠构造器的构建首先需要分析所有属性。把属性非为必...
2013-03-07 13:27:21
526
Java i18n的简单实现
package com.joshua.code.sample.i18n.bundle;import java.util.Locale;import java.util.ResourceBundle;public class I18NUtils { private static final String ENGLISH_LANGUAGE = Locale.ENGLIS...
2013-03-07 09:48:51
166
原创 版本信息那些事
在做产品时,我们经常会遇到这样的需求:打Jar包时,需要压入产品的版本信息,甚至还有版权信息。在运行时,程序需要读取版本信息来做显示或者做分支处理。向下兼容的一种实现方式是读取版本信息来做分支处理...Lucene是这种方式的代表之一。版本信息的运行时获取的实现手段非常有限,大多使用 java.lang.Package来实现。 一、最简单的实现方式 - mani...
2013-03-04 21:33:41
166
Eclipse编译JMeter-2.9源码
1. 解压:apache-jmeter-{version}_src.zip 2. src的lib内不提供工程依赖的jar包,所以需要手工下载a. 确认系统已经安装并配置Antb. 如果是代理上网的机器需要为Ant配置代理信息: Windows用户请修改$ANT_HONE\bin\ant.bat, Linux用户修改$ANT_HOME\bin\ant.sh 在文件内增加一条命令:s...
2013-03-04 14:38:32
142
原创 从零开始,创建GitHub团队开发环境
GitHub提供免费的团队环境,不过免费仓库容量是300MB,请大家注意。 申请GitHub个人账号1. 使用浏览器访问GitHub主页。如果使用IE,尽量不使用IE9以下的版本。2.1. 没有申请过GitHub账号,请点击绿色的【Sign up for free】按钮填写用户名、邮箱、密码后,点击绿色的【Create an account】按钮。 2.2 如...
2013-02-27 15:19:10
562
原创 【趣味题】Java实现文件拷贝最少需要多少行代码
相信JAVA程序员都写过文件拷贝程序。不考虑诸多健壮性因素,诸如校验逻辑(也可以暂时忽略关闭流)。我们只是实现功能,那么需要多少行JAVA代码来实现这个简单的功能呢? 参考答案: FileChannel in = new FileInputStream("in.txt").getChannel(),...
2013-02-25 15:37:14
114
原创 事件驱动模型的简单Java实现
事件驱动模型的原理不再赘述,Swing是不错的实现。别人也有不错的博文来说明原理。本文的目的是提供一种简单的,可供参考的简短代码,用来帮助理解该模型。 Project Navigator Event 事件通用接口:package org.joshua.event.events;public interface Event {} ...
2013-02-23 00:09:35
185
原创 smartgwt绘制graph
在有些情况下,网页制作者会有需要用到“绘制图表”功能,smartgwtee提供了一组优秀的 graph控件 供使用者快速画出好看的图表。 首先,值得注意的是,并非所有版本的smartgwt都提供了graph功能,免费版(LGPL)并不提供,此外的Full-featured、Pro、Power、Enterprise版本都有提供,具体可参考SmartClient官网上的产品介绍页http://ww...
2013-02-22 15:40:29
190
原创 【smartgwt】修改进度条Progressbar颜色
在项目中遇到了修改进度条(Progressbar)颜色的需求,smartgwt中,并非简单使用setBackgroundColor("...")方式即可实现,所以在此留一文,供大家及自己日后参考。 1. 首先,创建一个Progressbar对象,将其放置在HLayout容器中(为了有效控制Progressbar的宽度,需要在HLayout容器外再套一个VLayou...
2013-02-22 15:05:28
195
原创 动态加载类
大家应该都听过热部署。热部署可以使应用程序在不全部重新编译,不停止服务的情况下,增加新功能,修复bug。使用Java如何实现这样的功能呢?动态加载类功不可没。 先给出一段简单的代码。该程序会修改classpath来增加运行时的jar包,并使用URLClassLoader来加载指定的类,以达到热部署的效果。 p.s. 简化处理的代码片段,不能处理UNC URL,获取home...
2013-02-22 09:00:55
127
原创 Java实现Dijkstra算法
Dijkstra算法:用于计算图中某一点到其他各点的最短路径。关于Dijkstra算法的说明可以参考 数据结构相关书籍。 为Dijkstra算法设计的类: 1. Node 节点类2. Edge 边类 3. Graph 图类 4. Dijkstra Dijkstra算法类-----------------------------------...
2013-02-21 15:39:13
343
java 实现百度语言翻译机
百度语言翻译机题目来源于http://www.programfan.com/acm/,题目如下:时限 1s百度的工程师们是非常注重效率的,在长期的开发与测试过程中,他们逐渐创造了一套 独特的缩略语。他们在平时的交谈、会议,甚至在各种技术文档中都会大量运用。 为了让新员工可以更快地适应百度的文化,更好地阅读公司的技术文档,人力资源部决 定开发一套专用的翻译系统,把相关文档中的缩略语和专有名词...
2013-02-21 15:33:22
1080
原创 A星算法原理【转】- 下篇
在A星算法的上一篇,我们已经大致明白了该算法的过程,现在让我们看看它具体是怎么运作的。我们最初的9格方格中,在起点被切换到关闭列表中后,还剩8格 留在开启列表中。这里面,F值最低的那个是起始格右侧紧邻的格子,它的F值是40。因此我们选择这一格作为下一个要处理的方格。在紧随的图中,它被用蓝色 突出显示。 [图4] 首先,我们把它从开启列表中取出,放入关...
2013-02-21 15:25:05
291
原创 A星算法原理【转】-上篇
这篇文章并不试图对这个话题作权威的陈述。取而代之的是,它只是描述算法的原理,使你可以在进一步的阅读中理解其他相关的资料。 最后,这篇文章没有程序细节。你尽可以用任意的计算机程序语言实现它。如你所愿,我在文章的末尾包含了一个指向例子程序的链接。 压缩包包括C++和Blitz Basic两个语言的版本,如果你只是想看看它的运行效果,里面还包含了可执行文件。 我们正在提高自己。让我们从头开始。。。...
2013-02-21 15:23:45
224
A星算法的JAVA实现
A星算法A*搜寻算法,俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。该算法像Dijkstra算法一样,可以找到一条最短路径;也像BFS一样,进行启发式的搜索。 Dijkstra的Java实现可以参照《Java实现Dijkstra算法》。 具体A星算法的理论部分已经在《A星算法—...
2013-02-21 14:43:02
290
原创 Hello~ Flume
导读:如想直接获知配置agent的方法,请阅读Setting up an agent小节。 Overview概述Apache Flume是一个高可靠、高可用的分布式的海量日志收集、聚合、传输系统。它可以从不同的日志源采集数据并集中存储。 Flume也算是Hadoop生态系统的一部分,源于Cloudera,目前是Apache基金会的顶级项目之一。Flume有两条产品线,0...
2013-02-17 15:31:00
115
原创 HTTP协议速查手册
前言HTTP – Hypertext Transfer Protocol (超级文本传输协议)。HTTP协议位于应用层,建立在TCP/IP协议的基础上。HTTP协议使用可靠的TCP连接,默认端口是80。 HTTP 1.1对应RFC2068, URL1. HTTP RequestHTTP请求由3部分组成:n First line请求方法、URI...
2013-02-16 16:42:51
199
原创 Java Security 总纲
导读:这是一篇介绍Java Security能做什么的文章。很遗憾,它不会告诉你怎么去做。本文相关的JDK版本是JDK7,当然,仍适用于JDK6。 Java平台(Java运行时环境,即JVM + Java API) 在多个层面上提供了security机制。 Java Language Security and Bytecode VerificationJava语...
2013-02-16 14:40:55
1114
提升HBase写性能
最后更新于: 2013/7/1---------------------------------------------------------------------------------------------------------------本文主要介绍软件层面的性能调优。故,在此之前,请检查硬件状况。硬盘推荐SSD,一般SATA即可。网络千兆以上。可以安装Ganglia等工...
2013-02-16 08:12:36
332
原创 Java 冷门关键字
native 修饰对象:方法 作用: 1) 允许运行在JVM上的代码调用本地程序或者类库。这些程序或类库可以是非Java语言编写的,如C等。 原定义如下:"A native method is a Java method whose implementation is provided by non-java code." ...
2011-04-08 10:16:08
250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人