摘要:虽然很早以前就只有Eclipse和IDEA都支持远程调试功能的,但是基本没怎么使用过,今天因为紧急处理一个问题,而本地环境搭建起来比较麻烦,所以就使用了IDEA的远程调试功能。因此写一篇文章记录一下。步骤:1. 首先在IDEA中check出来你要调试的工程的代码,假设工程的名字为A。然后在IDEA... 阅读全文
看实习生需求文档有感
2014-06-03 22:01 by Rollen Holt, 3872 阅读, 9 推荐, 收藏, 编辑
摘要:最近我呆的公司来了一批实习生,在公司培训了几个礼拜之后公司决定对他们进行一些测试。就是给他们出了一些可选的题目,比如《xxx租房网》、《xxx档案管理系统》、《xxx图书馆》...等一些公司缺少的系统。公司主要有以下几个目的: 1. 检查实习生的培训效果 2. 通过一个完整的应用来测试同学们,同... 阅读全文
企业应用系统设计分享PPT
2014-06-03 21:30 by Rollen Holt, 1277 阅读, 2 推荐, 收藏, 编辑
摘要:因今天上午需要为团队做一个分享,所以昨晚连夜写了一个《企业应用系统设计》的PPT,因为时间比较短,写的比较急。现在把PPT贴出来,做一个记录。同时也希望对大家有用。文件我上传到了百度网盘上面,下载地址为:http://pan.baidu.com/s/1o6hXpME如果下载遇到问题的话,可以留言或者... 阅读全文
tmux/screen里面如何用鼠标滚轮来卷动窗口内容
2014-05-15 11:47 by Rollen Holt, 1952 阅读, 0 推荐, 收藏, 编辑
摘要:tmux里面用鼠标滚轮来卷动窗口内容在 tmux里面,因为每个窗口(tmux window)的历史内容已经被tmux接管了,所以原来console/terminal提供的Shift+PgUp/PgDn所显示的内容并不是当前窗口的历史内容,所以要用C-b [进入copy-mode,然后才能用PgUp/... 阅读全文
程序员学习能力提升三要素
2014-05-11 00:24 by Rollen Holt, 1061 阅读, 0 推荐, 收藏, 编辑
摘要:IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。 阅读全文
Error: cannot find a valid baseurl for repo: rpmfusion-free 解决办法
2014-05-06 20:10 by Rollen Holt, 5985 阅读, 0 推荐, 收藏, 编辑
摘要:今天在玩CentOS的时候出现了:Error: cannot find a valid baseurl for repo: rpmfusion-free这个问题真到好恶心啊,以前一直使用到是ubuntu,最近切换到CentOS以后,各自小白啊。最后搜索到到答案是:You seem to have a... 阅读全文
pom中定义某jar包的依赖,但并不使用该jar包,那最后部署的应用中会有这个jar包么?
2014-05-06 12:11 by Rollen Holt, 2785 阅读, 0 推荐, 收藏, 编辑
摘要:关于这个问题,首先得明确这个jar包的依赖是怎么定义的,我们知道在maven的pom文件中,会有:dependencymanagement和dependency2个部分一般我们说在dependencymanagement中叫声明,放在dependencies下面的就是引用了。也就是说,不管你代码中有... 阅读全文
U盘容量减少的解决办法
2014-05-04 15:17 by Rollen Holt, 3584 阅读, 0 推荐, 收藏, 编辑
摘要:今天是使用以前的U盘的时候发现原来4G的U盘容量居然只剩下了700M,不是说u盘的可用空间是700M,而是在电脑上面显示的总空间为700M。在电脑上面格式化之后也没起作用。 经过Google找到了在windows系统上的解决办法:以管理员身份运行cmd。首先键入‘diskpart’命令;然后输... 阅读全文
使用注解属性绑定
2014-04-29 19:28 by Rollen Holt, 4725 阅读, 1 推荐, 收藏, 编辑
摘要:大家应该知道在Spring中有一个注解@Value,他可以帮助我们来讲Spring加载的配置文件(*.perperties)文件中的信息自动的注入到我们的非静态属性中的。一般情况下我们会这样使用:1. 首先在Spring的配置文件中加载属性文件:然后在Java代码中使用@Value注解就可以注入值... 阅读全文
RESTful的理解
2014-04-27 01:16 by Rollen Holt, 29117 阅读, 7 推荐, 收藏, 编辑
摘要:REST(Representational State Transfer ),有中文翻译为"具象状态传输"(也有:"代表性状态传输")。是由 Roy Thomas Fielding博士 在2000年就读加州大学欧文分校期间在学术论文中提出的一个术语。他首次系统全面地阐述了REST的架构风格和设计思想... 阅读全文
Spring 文件上传功能
2014-04-26 23:18 by Rollen Holt, 47338 阅读, 5 推荐, 收藏, 编辑
摘要:本篇文章,我们要来做一个Spring的文件上传功能:1. 创建一个Maven的web工程,然后配置pom.xml文件,增加依赖: org.springframework.boot spring-boot-starter-web 1.0... 阅读全文
使用Spring Boot来加速Java web项目的开发
2014-04-26 22:57 by Rollen Holt, 121684 阅读, 13 推荐, 收藏, 编辑
摘要:我想,现在企业级的Java web项目应该或多或少都会使用到Spring框架的。回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用gradle来构建的话基本也一样)然后新建Spring相关的xml文件,而且往往那些xml文件还不会少... 阅读全文
select 1 from dual 中的1表示的含义
2014-04-26 15:48 by Rollen Holt, 8330 阅读, 0 推荐, 收藏, 编辑
摘要:select 1 from dual 在这条sql语句中的1代表什么意思?查出来是个什么结果?其实:select 1 from table;select anycol(目的表集合中的任意一行) from table; -- (目的表集合中的任意一行)select * from table 上... 阅读全文
提高SQL的查询效率
2014-04-26 15:39 by Rollen Holt, 1528 阅读, 2 推荐, 收藏, 编辑
摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以... 阅读全文
资料推荐--Google Java编码规范
2014-04-26 00:11 by Rollen Holt, 32430 阅读, 5 推荐, 收藏, 编辑
摘要:之前已经推荐过Google的Java编码规范英文版了:http://google-styleguide.googlecode.com/svn/trunk/javaguide.html虽然这篇文章的英文很简单,但是最近发现有人翻译了这篇文章,所以专门写一篇文章推荐一下:http://hawstein.... 阅读全文
google-styleguide
2014-04-25 23:58 by Rollen Holt, 485 阅读, 0 推荐, 收藏, 编辑
摘要:本期文章推荐一些资源:Google的编程规范,欢迎大家访问:..Rguide.xmlangularjs-google-style.htmlcppguide.xmlcpplint/eclipse-cpp-google-style.xmleclipse-java-google-style.xmlgoog... 阅读全文
书籍推荐-《高性能网站建设指南》
2014-04-16 22:57 by Rollen Holt, 1104 阅读, 0 推荐, 收藏, 编辑
摘要:《高性能网站建设指南》这本书很不错,这几天刚刚在亚马逊上淘到的。书里面的内容不算太多,而且书籍也不算太厚,但是内容真心不错。推荐给大家。另外推荐@Fenng的一篇文章:http://dbanotes.net/web/high_performance_web_site.html 阅读全文
[转]开源项目学习方法ABC
2014-04-13 22:49 by Rollen Holt, 393 阅读, 0 推荐, 收藏, 编辑
摘要:学习各种开源项目,已经成为很多朋友不可回避的工作内容了。笔者本人也是如此。在接触并学习了若干个开源项目之后,笔者试图对自己工作过程中的若干体会加以总结,以期对一些希望借鉴的朋友有所裨益。 需要说明的是,笔者本人接触的开源项目大多属于计算机系统领域,例如Linux kernel,KVM,QEMU,Op... 阅读全文
Google Guava vs Apache Commons for Argument Validation
2014-04-10 00:07 by Rollen Holt, 5732 阅读, 0 推荐, 收藏, 编辑
摘要:It is an established good practice to validate method arguments at the beginning of the method body. For example you could check that the passed value is not negative before doing some calculation:123456public int doSomeCalculation(int value) {if (value = 0, "negative value");More recently 阅读全文
Fluent interface
2014-04-09 23:39 by Rollen Holt, 1099 阅读, 0 推荐, 收藏, 编辑
摘要:Insoftware engineering, afluent interface(as first coined byEric EvansandMartin Fowler) is an implementation of anobject orientedAPI that aims to provide for more readable code.A fluent interface is normally implemented by usingmethod cascading(concretelymethod chaining) to relay the instruction con 阅读全文
使用Guava来计算笛卡尔积
2014-03-27 15:02 by Rollen Holt, 3908 阅读, 0 推荐, 收藏, 编辑
摘要:以前做项目的时候计算笛卡尔积的时候,总是使用各种for循环来嵌套,最后往往在Sonar代码检查的时候总是会报警说for循环嵌套过深。今天才知道Guava原来已经为我们提供了优雅的计算笛卡尔积的方法。比如我们要计算3个List的笛卡尔积,每个list的内容都是['a', 'b', 'c'], 请看下面的代码:public class CartesianProductUtil { public static void main(String[] args) { ImmutableSet charList = ImmutableSet.of(' 阅读全文
有关Java的日期处理的一些杂记
2014-03-25 17:01 by Rollen Holt, 1253 阅读, 2 推荐, 收藏, 编辑
摘要:在企业应用开发中,经常会遇到日期的相关处理,说实话JDK自带的日期方法很难用。就我个人而言我一般都会采用joda-time来替代JDK自身的日期。这篇文章是杂记,所以写的比较零散,希望大家不要见怪。SimpleDateFormat先来说说JDK自带的SimpleDateFormat类吧。SimpleDateFormat 是 Java 中一个非常常用的类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步 阅读全文
maven 检查依赖冲突和版本冲突
2014-03-19 21:50 by Rollen Holt, 11824 阅读, 0 推荐, 收藏, 编辑
摘要:在项目发布的时候,一般都需要进行依赖冲突检查或者重复类的检查,这个时候我一般会使用下面的两个命令:mvn -U clean package -Dmaven.test.skip=true enforcer:enforce -DcheckDeployRelease_skip=true -Denforce... 阅读全文
当spring 容器初始化完成后执行某个方法
2014-03-19 21:47 by Rollen Holt, 96045 阅读, 3 推荐, 收藏, 编辑
摘要:在做web项目开发中,尤其是企业级应用开发的时候,往往会在工程启动的时候做许多的前置检查。 比如检查是否使用了我们组禁止使用的Mysql的group_concat函数,如果使用了项目就不能启动,并指出哪个文件的xml文件使用了这个函数。 而在Spring的web项目中,我们可以介入Spring的启动 阅读全文
jackson处理boolean类型的注意点
2014-03-19 21:41 by Rollen Holt, 10498 阅读, 1 推荐, 收藏, 编辑
摘要:在使用jackson处理boolean类型的时候,比如你的java bean有一个boolean类型的字段:isTitle, 默认把这个Java bean转换为json的时候,这个字段就变成了title,因此如果想在转换转换的json中保持原始的字段名称的话,可以在java bean中采用下面的例子进行处理:也就是使用@JsonProperty和@JsonIgnore注解public class User { private int id; @JsonProperty("isMale") private boolean isMale; private String na.. 阅读全文
分布式存储数据库的Key的随机分布(RP)和顺序分布(OPP)
2014-02-26 13:21 by Rollen Holt, 1256 阅读, 0 推荐, 收藏, 编辑
摘要:在分布式存储数据库的世界中,无论是基于Key/Value的数据库还是Column Base(比如HBase)的数据库,都有一个重要的因子------Key,或者叫RowKey。我们总是根据Key来快速的获取存储的数据。毫不夸张的说,Key是读数据的基础。对于Key的存储,有两种截然不同的分布方式,我们称之为:随机分布(RP)和顺序分布(OPP)RP和OPP之间并没有绝对的优劣,不能直接断定谁比谁好,只能说是否适合当前的业务场景。在这篇文章中我们希望能够讨论一下两种方式的优劣:OPP我们先来讨论OPP,因为我们可能更喜欢这种方式,而且这种存储方式思想比较传统和简单。*OPP的意思是顺序分布,Ke 阅读全文
SSH login without password
2014-02-25 01:38 by Rollen Holt, 649 阅读, 0 推荐, 收藏, 编辑
摘要:Your aimYou want to use Linux and OpenSSH to automize your tasks. Therefore you need anautomaticlogin from host A / user a to Host B / user b. You don't want to enter any passwords, because you want to callsshfrom a within a shell script.How to do itFirst log in on A as user a and generate a pai 阅读全文
【转】程序员开发大型应用程序的技巧
2014-02-23 02:37 by Rollen Holt, 682 阅读, 1 推荐, 收藏, 编辑
摘要:假如你是一名Java开发者,正在开发和维护包含2000个类并使用了很多框架的应用程序。你要如何理解这些代码呢?在典型的Java企业项目小组中,大部分能够帮你的高级工程师看起来都很忙,文档也很少。你需要尽快交付成果,并向项目组证明自己的能力。你会如何处理这种状况呢?这篇文章为开始开发新项目的Java开发者提供了一些建议。1. 不要试图一下子搞懂整个项目仔细考虑一下,为什么你会想要先理解项目代码呢?大部分情况是有人要求你修复一个bug,或者增强系统已有功能。你要做的第一件事情不是理解整个项目的架构。当对项目进行维护时,这样做(理解整个项目架构)可能会对你造成巨大的压力。即便是有10年编程经验的Ja 阅读全文
Guava的异常工具类--Throwables
2014-01-20 23:22 by Rollen Holt, 2401 阅读, 0 推荐, 收藏, 编辑
摘要:Guava为我们提供了一个非常方便并且实用的异常处理工具类:Throwables类。这个类的API可以参见:http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/base/Throwables.html这个类的官方英文简述:https://code.google.com/p/guava-libraries/wiki/ThrowablesExplained下面是本人的一些简要总结:我们在日常的开发中遇到异常的时候,往往需要做下面的几件事情中的一些:1. 将异常信息存入数据库 阅读全文
企业开发中选择logback而不是log4j的理由
2014-01-19 12:03 by Rollen Holt, 7142 阅读, 0 推荐, 收藏, 编辑
摘要:不知道看到这篇文章的Java工程师有没有考虑过这个问题:为什么在企业开发中会选择logback来记录日志,而不是log4j呢?如果你以前没有考虑过这个问题,那么现在如果让你考虑一下,你可能觉的会是因为什么原因呢?本文就来为你回答这个问题。无论从设计上还是实现上,Logback相对log4j而言有了相... 阅读全文
Google的Java开发规范
2014-01-03 10:27 by Rollen Holt, 2484 阅读, 0 推荐, 收藏, 编辑
摘要:长期以来,Google一直有针对各种语言的规范,例如C++, Python等等。惟独对于Java语言,Google一直没有给出相应的规范(传说中是因为Google Java首席构架师Joshua Bloch写的那本《Effective Java 》本身就足以当作规范了)。不过最近,Google官方的Java语言规范出炉了!地址:http://google-styleguide.googlecode.com/svn/trunk/javaguide.html#s1.1-terminology 阅读全文
2013
2014-01-02 00:01 by Rollen Holt, 659 阅读, 0 推荐, 收藏, 编辑
摘要:也许这注定是一个漂泊的年代,注定有些人正在路上,有些人准备登程,而另外一些人尽管已经停下,但关于漂泊的记忆已经融入了血脉,成为了生命的一部分。 我们有一千多个理由走向远方,比如不满足于家乡的现状,比如求学,比如想谋求一份更像样的生活...... 为了这些理由,我们开始四处漂泊,漂泊使得我们拥有一个共同的生活背景--异乡,在异乡的土地上,我们曾经欢笑过,我们曾经泪流满面过。曾经的青春换来的只是如今的漂泊,曾经的岁月换来的只是无限的感叹。 异乡的城市承载着你、我、他的光荣梦想,屈辱的挣扎,甚至是刻骨铭心的爱。我们只是把一部分美好的青春遗留在异乡。也许无人留意,也许无人在乎,但是总有一部分... 阅读全文
ConurrentHashMap和Hashtable的区别
2013-12-03 18:07 by Rollen Holt, 2339 阅读, 0 推荐, 收藏, 编辑
摘要:转自:http://www.importnew.com/7166.html集合类是Java API的核心,但是我觉得要用好它们是一种艺术。我总结了一些个人的经验,譬如使用ArrayList能够提高性能,而不再需要过时的Vector了,等等。JDK 1.5引入了一些好用的并发集合类,它们对于大型的、要求低延迟的电子商务系统来说非常的有用。这篇文章中将会看看ConcurrentHashMap和Hashtable之间的区别。这篇文章是HashMap的工作原理以及HashMap和Hashtable的区别的后续。如果你已经读过的话,那么我相信你读完本篇之后会有所收获。为什么我们需要ConcurrentH 阅读全文
IDLE快捷键
2013-12-03 17:58 by Rollen Holt, 6517 阅读, 2 推荐, 收藏, 编辑
摘要:Ctrl + Space完成类、方法、变量名称的自动输入,这个快捷键是我最经常使用的快捷键了,它可以完成类、方法、变量名称的自动录入,很方便.(不过在我的电脑上和输入法冲突)Ctrl + N快速跳转到执行的类。Ctrl + Shift + N跳转到指定的文件Ctrl+Shift+Alt+N可以快速打开符号Ctrl + B (ctrl+点击)跳转到定义处Ctrl + Alt + B跳转到方法实现处Ctrl + Alt + T用*来围绕选中的代码行( * 包括if、while、try catch等)这个功能也很方便,Ctrl + W按一个word来进行选择操作在IDEA里的这个快捷键功能是先选择光 阅读全文
网站架构设计的误区
2013-11-25 23:19 by Rollen Holt, 1143 阅读, 0 推荐, 收藏, 编辑
摘要:在大型网站架构设计的过程中,比较容易出现几个误区1. 一味的追求大公司的解决方案 一些公司遇到一些网站架构设计的问题的时候往往会参考大公司的成熟的技术架构,这点本身是没错的,但是一味的追求大公司的解决方案,有时候会“邯郸学步”。 由于大公司的光环,再加上一些公司从大公司挖来的技术高手的影响,有时候会出现在讨论技术架构的生活,往往能够听到“Google, Amazon就是这么搞的,所以我们也应该这么做”…之类的言论。 大公司的成熟的经验和模式固然很重要,值得我们借鉴和学习,但是千万不要盲从。2. 不要为了技术而技术 任何的技术都是为了解决现实生活中的一些问题而存在的。所以在技术选型的生活,不要脱 阅读全文
Guava集合-BiMap
2013-11-10 23:20 by Rollen Holt, 1286 阅读, 0 推荐, 收藏, 编辑
摘要:在本篇文章中我们将介绍Guava集合中的BiMap这个接口.com.google.common.collectInterface BiMapBiMap接口的父接口是Map。而BiMap接口的实现类有:EnumBiMap,EnumHashBiMap,HashBiMap,ImmutableBiMap这四个。我们可以通过源码可以看到BiMap接口的定义为:@GwtCompatiblepublic interface BiMapextends Map如果我们用一句话来介绍BiMap的话,那就是:“它就是一个双向映射的Map”。我们可以通过key找到value,反之也能够根据value找到对应的key。 阅读全文
由浅入深探究mysql索引结构原理、性能分析与优化
2013-11-06 20:54 by Rollen Holt, 761 阅读, 0 推荐, 收藏, 编辑
摘要:【由浅入深探究mysql索引结构原理、性能分析与优化】本文作者历时一个月完成,详细介绍了MySQL索引的知识,强烈推荐! (分享自@MySQL)http://ourmysql.com/archives/1171 阅读全文
Guava 集合框架
2013-10-29 23:33 by Rollen Holt, 5452 阅读, 0 推荐, 收藏, 编辑
摘要:在本系列中我们首先来学习一些Guava的集合框架,也就是这个package:com.google.common.collect 在这个包下面有一些通用的集合接口和一些相关的类。 集合类型: BiMap 它是java.util.Map接口的一个扩展,它的特性就是它的key和value都是唯一的并且是一一对应的。也就是说“可逆”。简单的描述就是根据key能拿到唯一的value,根据... 阅读全文
Guava 学习计划
2013-10-29 22:50 by Rollen Holt, 1276 阅读, 0 推荐, 收藏, 编辑
摘要:Guava这个框架,我想参加过工作了Java程序员都应该不会陌生,这个框架甚至比Apache Commons Lang3框架更受Java程序员的喜欢。但是遗憾的是怎么优秀和成熟的框架,在国内我居然没有找到中文的文档。有时候也仅仅是对一些类的使用进行介绍,也就说并没有一个完整的中文文档。而且说实话,我对Guava其实并不是太熟悉,但是最近工作中一直在使用它,所以我觉得与其等别人翻译个完整的(不知道得等到猴年马月),所以还不如自己动手,丰衣足食。所以我会在每天下班之后抽时间翻译一篇Guava文档。这对我来说是一个巨大的挑战,但是也充满乐趣。同时在翻译的过程中我也会加入一些我经常遇到的问题以及如何使 阅读全文
程序员面试什么最重要?
2013-10-28 23:15 by Rollen Holt, 1116 阅读, 3 推荐, 收藏, 编辑
摘要:文章转载自:http://www.kuqin.com/job/20130521/334444.html程序员面试一直是社区乐于讨论的热门话题。我自己从06年实习以来,先后经历了4家软件公司,全部是外企,其中有世界500强的通信企业,有从事期权期货交易的欧 洲中等规模的金融公司,也有为大型汽车制造商开发Android智能汽车的新兴公司。跨入IT行业以来,我在求职过程中经历过多次面试,最近两年也有过多 次面试别人的经验。我感觉现在到了对这个问题发表自己看法的时候,这篇文章是我站在面试官角度对于程序员面试问题的一个阶段性反思和经验总结。目标相信和不少朋友一样,有了几年工作经验成为Senior后就开始 阅读全文