`
vipcowrie
  • 浏览: 350910 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
1167aa84-228b-38f8-88a0-4733613efdef
让Java跑起来
浏览量:64340
文章分类
社区版块
存档分类
最新评论
文章列表
“米卡多”方法 你有没有考虑过对一个软件进行一个较大的修改?或者做一些在一天之内很难完成的事情?你在这种变更面前退缩或者放弃了么?或者你是不是会在夜里为这事做恶梦?想起来合并这些代码或者做影响分析就头疼不已。 如果你遇到过这些情况,请继续阅读。我想你应该会希望学会这种米卡多方法的。 米卡多方法,实际来源于一个游戏。游戏说明如下: IKADO SPIEL(“米卡多游戏棒”)1936年源于匈牙利,传到美国,而后盛行全世界,是一种适合儿童和成人玩的游戏,游戏人数2人或以上,游戏工具是31根不同颜色的竹签组成,具体组成如下:1支带螺旋的“米卡多”游戏棒,每支20分;5支中间红两边蓝的游戏棒, ...
西安对我们外地人来说,就是古都,有秦始皇、唐朝,有长长的城墙,有贾平凹,有陈忠实。但是住一段时间后,你会发现,这里最吸引你的,不是刚说的那些人文辉煌历史,而是小吃。 说到小吃,我想起了南京夫子庙,那里是南京的小吃集散地,在那里,有长长的小吃一条街,天南海北的人们聚在这里海吃海喝,说起来倒也不错,只是太集中,在南京城里其他地方你想找到这样的小吃的地方太难。而西安的小吃,是入到骨子里的,在西安城里,基本大街小巷都有小吃店或者小摊,也不需要什么特别的店面、多大的面积、多么豪华的装修、多么美丽的服务小姐,最简单的,只要一个三轮车,上面架一个带玻璃的橱柜,里面放上各种调料,就齐了。 西安的小吃品种很多 ...
如何解决NoClassDefFoundError--第二部分 第一部分请看:http://vipcowrie.iteye.com/blog/1561291 本文面向的是JAVA初学者,建议你们自己编译和运行例子程序。 本文包含了NoClassDefFoundError的原因分析和例子程序,并且给出了建议的处理策略。 NoClassDefFoundError 问题原因1:缺少jar包 首先最常见的原因是classpath的配置问题。例子程序: 本例子程序尝试创建一个新的CallerClassA实例,然后执行他的一个方法,此方法引用了类ReferencingClassA,本例子演示了cl ...
还在写代码注释么?你Out了 如果把开发过程比作开车,那么代码的注释就相当于路边的指示牌。注释是辅助的信息,并不影响程序的最终执行结果。 一个好的代码注释会减少开发周期,比如帮助下一个接手的开发人员快速熟悉 ...
在JAVA开发中,main线程中抛出java.lang.NoClassDefFoundError是一个非常普遍且比较难解决的问题。解决这个问题的复杂性主要取决于你的软件大小和中间件部署情况,尤其要考虑在应用中出现的数量众多的classloader的情况。 本文将从一 ...
在面试么?放松点,傻瓜! 如果你正在或者马上要参加一个面试,那么请用心看我的建议,这是一个非常有用的面试法则。 一些人喜欢在面试的时候吹嘘他们的技能: “我是一个JAVA开发大师” “我精通在云中的NOSQL系统中进行大数据量分析” “我喜欢设计,这些是我最喜欢的设计模式,我一直在用它们” 上面这些例子可能会和你的想法不谋而合、、、但是请你注意,这些和你希望获得的职位有没有什么关系?如果职位仅仅需要你能够写普通的业务代码,那么你不需要在面试者面前显摆你实现map reduce算法的能力或者设计模式的技能。 当然,能够使用好的设计模式、能够进行单元测试、能够写出扩展性好的代码,这些能 ...
oracle 发布JAVA SE的14个重要补丁 (其中一些补丁涉及到严重的安全问题) Oracle在周二发布了14个JAVA标准版(JAVA SE)的补丁程序,包括一些在CVSS登记的高等级的安全补丁。 oracle申明:“由于发现了一些利用JAVA漏洞造成的有效攻击,oracle强烈的希望大家尽快更新这些安全补丁” 这次补丁影响了一系列的JAVA产品,包括JDK/JRE 7,JDK/JRE 6(update 32以下)以及JavaFX 2.1以下。 oracle表示,这14个漏洞可能被黑客远程利用,不需要账号密码。有的漏洞竟然在CVSS中 评分高达10分(最高等级),但是oracle ...
OSGi vs Jigsaw:Kirk Knoernschild访谈 Kirk Knoernschild是OSGi领域的专家,DZone最近有机会对他做了一次关于2012年模块开发思想的访谈,kirk最近出了一本书《java应用架构:使用osgi模块化模式》,这本书介绍了18中模式,帮助你开发模块化的软件。 问题:模块化为何很重要,有什么好处? Kirk:模块化的软件很容易扩展,重用、维护和使用,也很容易理解修改的影响范围。所以,当你修改一些有大量依赖的代码的时候,你会非常确切的知道会发生什么。从大的方面说,模块化能够帮助你快速响应需求,因为你会很容易知道变更会有哪些影响。但是模块化开发并 ...
Google Guava:函数式编程 在guava中存在一个com.google.common.base.Functions和com.google.common.base.Function类,利用他们,可以为集合类的转换提供自定义的转换函数。 首先我们看第一个例子,简单的自定义一个函数,然后用于一个简单的list对象的转换,代码如下: 初始化的代码: static class School { public String name; public String location; public static School newSchool(String name ...
Google Guava快速入门 众所周知,Apache commons提供了一系列强大的功能库,对JDK提供了很好的补充,但是这里不介绍commons,这里介绍给大家的是Google Guava,一个被多数人遗忘的英雄。他是一个独立的库,为大家提供了日常开发经常 ...
Google guava 集合的创建特性和只读特性 现在,让我们一起看看guava集合的创建模式,再看看guava提供的一些只读的集合类型。 如果你还不了解guava集合,那么可以参考我之前写的文档: Guava集合1:MultiMap http://vipcowrie.iteye.com/blog/ ...
BiMap BiMap是一个有用的集合类型,很简单,它就是一个双向的映射。 反向转换一个Map 一个普通的map是一个key/value的集合,你可以使用key来查询 value,例如,我来创建一个字段: Map<String,String> britishToAmerican = Maps.newHashMap(); britishToAmerican.put("aubergine","egglant"); britishToAmerican.put("courgette","zuc ...
Multimap是guava中一个有用的工具类,下面我来介绍一下。 由来: 你是不是经常需要一个这样的数据结构: Map<String,List<MyClass>> myClassListMap test2 = new HashMap<String,List<MyClass>>() 自己实现太麻烦,你需要检查key是否存在,否则创建一个,最后代码成为这个样子: void putMyObject(String key, Object value) { List<Objec ...
Google Guava: Multisets 我们继续研究Guava,这次我将介绍Multiset,虽然这个不经常使用,但是还是有必要介绍一下。 Multiset是什么? 顾名思义,Multiset和Set的区别就是可以保存多个相同的对象 它和List有什么区别? 在JDK中,List和Set有一个基本的区别,就是List可以包含多个相同对象,且是有顺序的,而Set不能有重复,且不保证顺序(有些实现有顺序,例如LinkedHashSet和SortedSet等) 所以Multiset占据了List和Set之间的一个灰色地带:允许重复,但是不保证顺序。 注意:这种集合在a ...
Guava Splitter vs StringUtils 最近写了关于apache commons的StringUtils提供的常用功能介绍,见链接(http://vipcowrie.iteye.com/blog/1513017),但是我们知道google的guava也提供了一些字符串处理的常见功能,所以,我在本文将对两者的字符串分割函数做一次比较详细的对比(结果比较surprise)。 区别 首先看基本的使用方法: // Apache StringUtils... String[] tokens1= StringUtils.split("one,two,three&q ...
Global site tag (gtag.js) - Google Analytics