- 博客(142)
- 资源 (11)
- 收藏
- 关注
转载 guava 学习笔记1---使用瓜娃(guava)的选择和预判断使代码变得简洁
1,本文翻译自 http://eclipsesource.com/blogs/2012/06/06/cleaner-code-with-guava-optionals-and-preconditions/,有说的不对的地方,欢迎斧正。2,我开发软件的时候,朝着干净代码发展是我的特权,有一段时间,我曾在我几乎所有的项目中使用谷歌瓜娃(Google Guava),理由很简单,guava为我编写漂亮
2014-10-31 17:13:38
539
转载 guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用
1,大纲让我们来熟悉瓜娃,并体验下它的一些API,分成如下几个部分:IntroductionGuava Collection APIGuava Basic UtilitiesIO APICache API2,为神马选择瓜娃?瓜娃是java API蛋糕上的冰激凌(精华)高效设计良好的API.被google的开发者设计,实现和使用。遵循高效的java这本书的好的语法实践
2014-10-31 17:11:33
702
转载 PowerMock介绍
一、为什么要使用Mock工具 在做单元测试的时候,我们会发现我们要测试的方法会引用很多外部依赖的对象,比如:(发送邮件,网络通讯,远程服务, 文件系统等等)。 而我们没法控制这些外部依赖的对象,为了解决这个问题,我们就需要用到Mock工具来模拟这些外部依赖的对象,来完成单元测试。 二、为什么要使用PowerMock 现如今比较流行的Mock
2014-10-31 16:54:46
556
转载 Java 静态方法是线程安全的
静态方法是线程安全的先看一个类public class Test{public static String hello(String str){ String tmp=""; tmp = tmp+str; return tmp;}}hello方法会不会有多线程安全问题呢?没有!!
2014-10-31 15:06:56
1822
转载 linux shell 数组 遍历
在Linux下使用shell的时候,为方便起见,偶尔会用到一下数组。数组的申明方式是:[java] view plaincopyprint?array=(element1 element2 element3 .... elementN) 也就是直接用圆括号包数组元素包起来,数组元素之间用空格隔开就行了。 数据
2014-10-31 14:53:01
465
转载 linux文件合并、去重
(1)两个文件的交集,并集前提条件:每个文件中不得有重复行1. 取出两个文件的并集(重复的行只保留一份)cat file1 file2 | sort | uniq > file32. 取出两个文件的交集(只留下同时存在于两个文件中的文件)cat file1 file2 | sort | uniq -d > file33. 删除交集,留下其他的行cat file1 fil
2014-10-30 21:39:02
591
转载 LINUX与UNIX SHELL编程指南--(5)shell输入与输出 管道
shell的输入与输出在shell脚步中,可以用几种不同的方式读取数据:可以使用标准输入--缺省为键盘,或者指定一个文件作为输入。同样,对于输出,如果不指定某个文件作为输出,标准输出总是和终端屏幕相关联。 --echo使用echo命令可以显示文本行或者变量,或者把字符串输入到文件。它的一般形式为:echo stringecho命令有很
2014-10-30 21:21:44
938
转载 ConcurrentHashMap原理分析
集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅
2014-10-21 11:56:04
407
原创 修改原来为GBK的项目为UTF-8的经验分享
2、Eclipse升级步骤 a、下载最新的项目代码; b、修改eclipse的默认设置 1) 点击eclipseàWindowàPreferences,打开设置页面; 2) 左侧选择GeneralàContent Types,右侧页面选择 Text;3) 设置文件文件默认编码UTF-8,点击“Update”,如下图;4) 右侧页面选择
2014-10-10 16:45:43
1139
转载 maven与findbugs集成
链接:http://blog.csdn.net/kongxx/article/details/7757567今天说说maven findbugs插件集成,首先修改工程的pom.xml文件,添加findbugs-maven-plugin插件,如下:[html] view plaincopybuild> plugins
2014-09-19 14:36:46
592
转载 maven与checkstyle集成
链接:http://blog.csdn.net/kongxx/article/details/7750015最近在整理maven工程,打算加入一次对代码检查和测试覆盖率检查的功能,因此想到了maven集成一些常用检查工具的插件,下面就来介绍几个常用插件的用法。首先是介绍Checkstyle插件的集成,要添加Checkstyle插件,需要修改工程的pom.xml文件,添加以下插件配置
2014-09-19 14:35:55
585
转载 如何用Maven创建web项目(具体步骤)
使用eclipse插件创建一个web project首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 war的形式 由于packing是war包,那么下面也就多出了webapp的目录
2014-09-05 10:38:32
622
转载 Mongodb集群搭建的三种方式
Mongodb是时下流行的NoSql数据库,它的存储方式是文档式存储,并不是Key-Value形式。关于Mongodb的特点,这里就不多介绍了,大家可以去看看官方说明:http://docs.mongodb.org/manual/ 今天主要来说说Mongodb的三种集群方式的搭建:Replica Set / Sharding / Master-Slaver。这里只说
2014-08-28 11:16:25
517
原创 面试--超大文件取交集
如果仅仅只是要取两个文件中都存在的数字,而不用管这个数字在两个文件中出现的次数的话,用BitSet就行了。这个昨天有人讨论过,说给40亿个整数排序。用数组显然是不行的,太大了,一个整形使用4Byte,1亿个int就会花400M左右的内存,10亿就是4G内存。因为int的最大数是2^32 - 1 == 约43亿,用一个二进制的下标来表示一个int值,大概需要43亿个bit位,
2014-08-20 18:47:16
3568
2
转载 Lucene 范例
Lucene 软件包的发布形式是一个 JAR 文件,下面我们分析一下这个 JAR 文件里面的主要的 JAVA 包,使读者对之有个初步的了解。Package: org.apache.lucene.document这个包提供了一些为封装要索引的文档所需要的类,比如 Document, Field。这样,每一个文档最终被封装成了一个 Document 对象。Package: org.apac
2014-08-18 19:48:09
479
转载 徐小平:初创团队 合伙人比商业模式更重要
徐小平:今天的中国绝对是创新的黄金时代,如果大家勇敢的启动创业,加上两三个伙伴一起同行,大家一定会实现自己的创业梦。 今天下午在朝阳规划艺术馆由TechCrunch主办的国际创新峰会,邀请到了新东方创始人之一,真格基金合伙人徐小平,发表了关于初创企业需要合伙人的主题演讲。 以下为演讲原文:今天的主题是“论初创企业合伙人”。它指的是创始阶段
2014-08-18 19:45:29
1012
转载 SonarQube代码质量管理平台安装与使用
Sonar简介Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测sonarQube能带来什么?Developers' Seven Deadly Sins1.糟糕的复杂度分
2014-08-18 16:05:50
527
转载 快速排序 java
快速排序作为一种高效的排序算法被广泛应用,SUN的JDK中的Arrays.sort 方法用的就是快排。快排采用了经典的分治思想(divide and conquer): Divide:选取一个基元X(一般选取数组第一个元素),通过某种分区操作(partitioning)将数组划分为两个部分:左半部分小于等于X,右半部分大于等于X。Conquer: 左右两个子数组
2014-08-15 15:24:22
495
转载 二分查找 java
二分查找又称折半查找,它是一种效率较高的查找方法。 【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。[java] view plaincopy/** * 二分查找又称折半查找,它是一种效率较高的查找方法。 【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。 * @
2014-08-15 15:12:52
411
转载 经典排序算法(Java版)
1、冒泡排序 Bubble Sort最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻
2014-08-15 13:47:19
399
原创 Scala系列-2-初探HelloWorld例子
一时兴起函数式语言scala,那就开门见山,见识一下我的scala版得helloWorld吧! 1、配环境变量啥的我就不说了,下个scala的eclipse Plugins。地址http://www.scala-ide.org/2.那就看看我的helloWorld4scala 呵呵 Java代码 package com.taobao.m
2014-08-06 16:57:14
679
转载 scala系列-1--Win7安装Scala 2.9.3
1. 下载Scala 2.9.3由于最新的Scala 2.10稳定版还没完成,所以最好是下载最新的Scala稳定版:2.9.3版。下载地址:http://www.scala-lang.org/downloads/distrib/files/scala-2.9.3.msi下载msi版本的好处在于,环境变量自动配置,否则你需要手动设置两个环境变量。SCALA_HOME环境变量,指向Sc
2014-08-06 16:22:08
755
原创 ubuntu 安装gcc pcre
sudo apt-get updatesudo apt-get install libpcre3 libpcre3-dev你可能还需要安装sudo apt-get install openssl libssl-dev
2014-07-28 11:50:14
1919
原创 nginx高性能web服务器详解(1)--安装nginx
1. 下载本次使用nginx-0.1.2.3 版本,下载地址http://nginx.org/en/download.html 新发布版本http://nginx.org/download 历史版本2.上传到linux服务器sz -bey nginx-0.1.2.3.tar.gz3.解压3.1 建立目录 mkdir nginx_1233.2
2014-07-26 11:09:27
1186
转载 linux 安装pcre
1.下载PCRE包首先去官网下载pcre的安装包如果通过FTP的方式,下载地址为:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/如果通过http的方式,下载地址为:http://sourceforge.net/projects/pcre/files/pcre/目前最新的版本为8.32,linux对应的安装
2014-07-26 11:00:31
1620
转载 Linux下几种文件传输命令 sz rz sftp scp
最近在部署系统时接触了一些文件传输命令,分别做一下简单记录:1.sftpSecure Ftp 是一个基于SSH安全协议的文件传输管理工具。由于它是基于SSH的,会在传输过程中对用户的密码、数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性。在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列
2014-07-26 10:30:09
568
转载 Java 8 特性教程
允许在接口中有默认方法实现Java 8 允许我们使用default关键字,为接口声明添加非抽象的方法实现。这个特性又被称为扩展方法。下面是我们的第一个例子: Java代码 interface Formula { double calculate(int a); default double sqrt(int a) {
2014-07-24 15:04:47
457
转载 KAFKA分布式消息系统
Kafka是linkedin用于日志处理的分布式消息队列,linkedin的日志数据容量大,但对可靠性要求不高,其日志数据主要包括用户行为(登录、浏览、点击、分享、喜欢)以及系统运行日志(CPU、内存、磁盘、网络、系统及进程状态)。 当前很多的消息队列服务提供可靠交付保证,并默认是即时消费(不适合离线)。高可靠交付对linkedin的日志不是必须的,故可通过降低可靠性来提高性能,同
2014-07-15 17:28:12
484
转载 深入研究B树索引(五)续
深入研究B树索引(五)续 2008-05-30 19:55:51分类: Linux5.3 重建B树索引对于查询性能的影响 最后我们来看一下重建索引对于性能的提高到底会有什么作用。假设我们有一个表,该表具有1百万条记录,占用了100000个数据块。而在该表上存在一个索引,在重建之前的pct_used为50%,高度为3,分支节点块数为40个,再加一个根节点块,叶
2014-07-15 14:01:53
471
转载 深入研究B树索引(四)续
4.2 B树索引的对于删除(DELETE)的管理 上面介绍了有关插入键值时索引的管理机制,那么对于删除键值时会怎么样呢?在介绍删除索引键值的机制之前,先介绍与索引相关的一个比较重要的视图:index_stats。该视图显示了大量索引内部的信息,该视图正常情况下没有数据,只有在运行了下面的命令以后才会被填充数据,而且该视图中只能存放一条与分析过的索引相关的记录,不会有第二条记
2014-07-15 14:00:38
562
转载 深入研究B树索引(三、四)
3. B树索引的访问我们已经知道了B树索引的体系结构,那么当oracle需要访问索引里的某个索引条目时,oracle是如何找到该索引条目所在的数据块的呢? 当oracle进程需要访问数据文件里的数据块时,oracle会有两种类型的I/O操作方式:1) 随机访问,每次读取一个数据块(通过等待事件“db file sequential read”体现出来)。2
2014-07-15 13:59:54
456
转载 深入研究B树索引(五)
5. 重建B树索引5.1 如何重建B树索引重建索引有两种方法:一种是最简单的,删除原索引,然后重建;第二种是使用ALTER INDEX … REBUILD命令对索引进行重建。第二种方式是从oracle 7.3.3版本开始引入的,从而使得用户在重建索引时不必删除原索引再重新CREATE INDEX了。ALTER INDEX … REBUILD相对CREATE INDEX有以下好处
2014-07-15 13:58:37
647
转载 深入研究B树索引(二)
B树索引的内部结构我们可以使用如下方式将B树索引转储成树状结构的形式而呈现出来:alter session set events 'immediate trace name treedump level INDEX_OBJECT_ID'; 比如,对于上面的例子来说,我们把创建在goodid上的名为idx_warecountd_goodid的索引转储出来。SQL> sel
2014-07-15 13:56:42
600
转载 深入研究B树索引(一)
摘要:本文对B树索引的结构、内部管理等方面做了一个全面的介绍。同时深入探讨了一些与B树索引有关的广为流传的说法,比如删除记录对索引的影响,定期重建索引能解决许多性能问题等。1.B树索引的相关概念索引与表一样,也属于段(segment)的一种。里面存放了用户的数据,跟表一样需要占用磁盘空间。只不过,在索引里的数据存放形式与表里的数据存放形式非常的不一样。在理解索引时,可以想象一本书,
2014-07-15 11:52:50
447
转载 两阶段提交协议(two phase commit protocol,2PC)
2PC:可以保证数据的强一致性,许多分布式关系型数据管理系统采用此协议来完成分布式事务。它是协调所有分布式原子事务参与者,并决定提交或取消(回滚)的分布式算法。同时也是解决一致性问题的一致性算法。该算法能够解决很多的临时性系统故障(包括进程、网络节点、通信等故障),被广泛地使用。但是,它并不能够通过配置来解决所有的故障,在某些情况下它还需要人为的参与才能解决问题。参与者为了能够从故障中恢复,它们都
2014-07-15 11:50:54
488
转载 B树、B-树、B+树、B*树
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关
2014-07-15 11:03:17
427
转载 Spring Batch入门教程及其框架搭建
Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供大量的,可重复的数据处理功能,包括日志记录/跟踪,事务管理,作业处理统计工作重新启动、跳过,和资源管理等重要功能。业务方案:批处理定期
2014-07-10 16:20:34
2474
转载 Sonar及其eclipse插件的安装
本文档用于帮助您安装Sonar和Eclipse的Sonar插件,并利用Sonar分析您的项目,动态地清理代码中的问题,提高代码质量。目录Sonar安装Sonar下载解压和安装运行SonarSonar控制台访问您的Sonar生成Sonar报告POM中增加Sonar配置例子Sonar中访问您的项目Eclipse集成SonarEclipse
2014-07-04 14:23:58
1026
原创 一个新人入职2个月的感悟
入职新公司快2个月了,昨天去听了下新人中期高管助我成长的讲座。总结如下:公司提供的资源:1.学习文档梳理,学习视频资源2.各种知识讲座3.锻炼身体的设施4.锻炼能力的环境个人能力:1学习能力:学习了OSGI技术,对模块化开发有了更深层次的认识2沟通能力:与同事沟通和领导沟通的认识3主动做事:组内有事情自己主动完成4.主动分享:将自己所学和所思分享给大家5
2014-06-27 14:56:42
2110
转载 Alibaba Dubbo框架同步调用原理分析-2
接上一篇,看一下Dubbo的相关代码关键代码:com.taobao.remoting.impl.DefaultClient.java//同步调用远程接口public Object invokeWithSync(Object appRequest, RequestControl control) throws RemotingExcep
2014-06-19 16:12:32
529
Spring+MVC+3.0.5+Spring+3.0.5+MyBatis3.0.4全注解实例详解
2014-01-26
高可用架构(第一卷)高清目录
2018-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅