
Java
文章平均质量分 89
iteye_5053
这个作者很懒,什么都没留下…
展开
-
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 · 252 阅读 · 0 评论 -
smartgwt绘制graph
在有些情况下,网页制作者会有需要用到“绘制图表”功能,smartgwtee提供了一组优秀的 graph控件 供使用者快速画出好看的图表。 首先,值得注意的是,并非所有版本的smartgwt都提供了graph功能,免费版(LGPL)并不提供,此外的Full-featured、Pro、Power、Enterprise版本都有提供,具体可参考SmartClient官网上的产品介绍页http://ww...原创 2013-02-22 15:40:29 · 193 阅读 · 0 评论 -
事件驱动模型的简单Java实现
事件驱动模型的原理不再赘述,Swing是不错的实现。别人也有不错的博文来说明原理。本文的目的是提供一种简单的,可供参考的简短代码,用来帮助理解该模型。 Project Navigator Event 事件通用接口:package org.joshua.event.events;public interface Event {} ...原创 2013-02-23 00:09:35 · 185 阅读 · 0 评论 -
【趣味题】Java实现文件拷贝最少需要多少行代码
相信JAVA程序员都写过文件拷贝程序。不考虑诸多健壮性因素,诸如校验逻辑(也可以暂时忽略关闭流)。我们只是实现功能,那么需要多少行JAVA代码来实现这个简单的功能呢? 参考答案: FileChannel in = new FileInputStream("in.txt").getChannel(),...原创 2013-02-25 15:37:14 · 114 阅读 · 0 评论 -
版本信息那些事
在做产品时,我们经常会遇到这样的需求:打Jar包时,需要压入产品的版本信息,甚至还有版权信息。在运行时,程序需要读取版本信息来做显示或者做分支处理。向下兼容的一种实现方式是读取版本信息来做分支处理...Lucene是这种方式的代表之一。版本信息的运行时获取的实现手段非常有限,大多使用 java.lang.Package来实现。 一、最简单的实现方式 - mani...原创 2013-03-04 21:33:41 · 166 阅读 · 0 评论 -
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 阅读 · 0 评论 -
【Java小技巧】避免过多的构造器参数
我们假设用户类有数十个属性,比如:姓名,性别,年龄等等。 如果使用单一的构造器,会造成构造器参数过多的问题。过多的构造器参数不但降低了代码的可读性,而且大大增加了程序员出错的几率。 比较普遍的解决方案有两个:重叠构造器和Java Bean。我们将介绍并分析这两种方式的优劣并在最后给出一种更合理的解决方案。 重叠构造器重叠构造器的构建首先需要分析所有属性。把属性非为必...原创 2013-03-07 13:27:21 · 529 阅读 · 0 评论 -
单例模式那些坑
作为GOF黄道23宫的白羊宫,单例模式是所有设计模式初学者首先要跨过的坎。本文不赘述单例模式和它的诸多变种(比如懒加载单例,单例工厂模式等等)的用法,而是想和大家聊聊单例背后的那些坑。 第一坑 并发之坑这个坑相信大部分童鞋都是知道的,毕竟大部分人闭着眼单手也能蹂单例。懒加载是件好事,但是一不小心就犯错了,比如:public class Foo { private st...原创 2013-03-07 16:03:16 · 176 阅读 · 0 评论 -
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 阅读 · 0 评论 -
【smartgwt】修改进度条Progressbar颜色
在项目中遇到了修改进度条(Progressbar)颜色的需求,smartgwt中,并非简单使用setBackgroundColor("...")方式即可实现,所以在此留一文,供大家及自己日后参考。 1. 首先,创建一个Progressbar对象,将其放置在HLayout容器中(为了有效控制Progressbar的宽度,需要在HLayout容器外再套一个VLayou...原创 2013-02-22 15:05:28 · 195 阅读 · 0 评论 -
动态加载类
大家应该都听过热部署。热部署可以使应用程序在不全部重新编译,不停止服务的情况下,增加新功能,修复bug。使用Java如何实现这样的功能呢?动态加载类功不可没。 先给出一段简单的代码。该程序会修改classpath来增加运行时的jar包,并使用URLClassLoader来加载指定的类,以达到热部署的效果。 p.s. 简化处理的代码片段,不能处理UNC URL,获取home...原创 2013-02-22 09:00:55 · 128 阅读 · 0 评论 -
Java实现Dijkstra算法
Dijkstra算法:用于计算图中某一点到其他各点的最短路径。关于Dijkstra算法的说明可以参考 数据结构相关书籍。 为Dijkstra算法设计的类: 1. Node 节点类2. Edge 边类 3. Graph 图类 4. Dijkstra Dijkstra算法类-----------------------------------...原创 2013-02-21 15:39:13 · 343 阅读 · 0 评论 -
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 · 298 阅读 · 0 评论 -
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 · 214 阅读 · 0 评论 -
使用Policy文件控制Applet权限
本文介绍在Java平台上如何访问受限资源,比如读写一个文件。我们通过配置policy文件来使得一个未签名的applet访问系统的受限资源。本文主要由以下内容组成:对于Applet的限制如何配置Policy文件如何使Policy生效 对于Applet的限制Java插件使用Security Manager来防止病毒通过applet侵入你的系统。如果未签名的applet想...原创 2013-07-12 09:25:19 · 286 阅读 · 0 评论 -
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 · 497 阅读 · 0 评论 -
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 · 466 阅读 · 0 评论 -
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 · 1115 阅读 · 0 评论 -
A星算法的JAVA实现
A星算法A*搜寻算法,俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。该算法像Dijkstra算法一样,可以找到一条最短路径;也像BFS一样,进行启发式的搜索。 Dijkstra的Java实现可以参照《Java实现Dijkstra算法》。 具体A星算法的理论部分已经在《A星算法—...2013-02-21 14:43:02 · 290 阅读 · 0 评论 -
java 实现百度语言翻译机
百度语言翻译机题目来源于http://www.programfan.com/acm/,题目如下:时限 1s百度的工程师们是非常注重效率的,在长期的开发与测试过程中,他们逐渐创造了一套 独特的缩略语。他们在平时的交谈、会议,甚至在各种技术文档中都会大量运用。 为了让新员工可以更快地适应百度的文化,更好地阅读公司的技术文档,人力资源部决 定开发一套专用的翻译系统,把相关文档中的缩略语和专有名词...2013-02-21 15:33:22 · 1081 阅读 · 0 评论 -
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 阅读 · 0 评论