自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rainnnbow

快乐的秘密不在于“成就卓越”,而在于“不断成长”。做一个乐于学习的,追求优雅的,与时俱进的理想程序员

  • 博客(120)
  • 资源 (3)
  • 收藏
  • 关注

原创 使用maven执行单元测试总结

maven本身没有单元测试框架,但是maven的default生命周期的test阶段绑定了maven-surefire-plugin插件,该插件可以调用Junit3、Junit4、TestNG等Java流行测试框架完成单元测试。在pom中加入Junit依赖<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId>

2015-12-29 10:04:53 21877 3

原创 Linux中查看文本文件内容命令cat/tac/nl/more/less/head/tail/vi总结

概述在Linux系统下,有很多命令可以查看文本文件的内容,如cat/tac/nl/more/less/head/tail等命令,当然还有vi/nano等文本编辑器。在这里,我只介绍其中自己常用的一部分命令和操作。 cat:从第一行开始显示全部的文本内容; tac:从最后一行开始,显示全部分文本内容,与cat相反; nl:显示文本时,可以输出行号; more:按页显示文本内容; less:与

2015-12-28 22:30:03 24737

原创 Linux下文件和文件夹操作命令详解

花了两个小时的时间,把文件和文件夹相关的常用命令:创建、删除、移动、复制、查找、重命名等在linux上测试了一把,总结下来。文件夹的这些基本操作是要多注意的,一不小心就达不到你想要的效果。文件夹操作:1. 新建目录mkdir warehouse/config (warehouse目录已经存在时,创建config目录) mkdir -p warehouse/config (warehouse目录不存在

2015-12-28 18:24:34 3473

原创 Maven仓库概述

什么是Maven仓库在Maven世界中,任何一个依赖、插件或项目构建的输出,都可以称为构建。由于Maven引入了坐标机制,任何一个构建都可以由其坐标唯一标识。坐标是一个构建在Maven世界中的逻辑表示方式,而构建的物理表示方式是文件。Maven通过仓库来统一管理这些文件。 在没有Maven的时候,我们管理构建依赖的方法一般是在每一个项目中创建一个lib文件夹,把需要的jar包都放入lib文件夹中。

2015-12-25 15:47:36 1759

原创 Maven坐标机制

Maven为所有的项目引入了坐标,基于坐标机制可以唯一定位一个项目。坐标详解以spring-core-2.5.6.jar的坐标定义为例,说明组成坐标的所有元素:groupId、artifactId、version、packaging、classifier。如下所示: <groupId>org.springframework</groupId> <artifactId>spring-co

2015-12-25 15:44:35 1652 1

翻译 Maven简介(Maven是什么)

简介Maven,在意第绪语中意为对知识的积累。Maven最初用来在Jakarta Turbine项目中简化该项目的构建过程。Jakarta Trubine项目有多个工程,每个工程都有自己的多个Ant构建文件。每个工程的这些构建文件都只有一小部分不同,并且所有的Jar文件被使用CVS纳入了版本管理。我们想要实现一种标准方式去构建这些工程、明确定义这些工程的组成部分、简单的发布工程信息以及多个工程间共享

2015-12-25 14:32:39 1815

原创 java泛型总结(类型擦除、伪泛型、陷阱)

JDK1.5开始实现了对泛型的支持,但是java对泛型支持的底层实现采用的是类型擦除的方式,这是一种伪泛型。这种实现方式虽然可用但有其缺陷. 《Thinking in Java》的作者 Bruce Eckel也曾撰文《这不是泛型》批评过JDK1.5中的泛型实现。看了部分Java编程思想中泛型一章的内容,现在很晕,越看越觉得晕,这篇文章先欠着吧,等我再看一遍深入理解Java虚拟机JVM高级特性与最佳实

2015-12-24 10:53:39 2607

原创 Eclipse中配置javap命令

Run→External Tools→External Tools Configurations…进入如下图二所示的Program配置界面。也可以通过如下图一所示的工具栏按钮进入Program配置界面。图一: 图二: 如上图二所示的“Program”处第一次打开时是空的,右键单击选择”new”。配置如上图二右侧红框中的三处。Location为当前使用的jdk中javap.exe的位置; Wor

2015-12-22 11:15:29 2240

原创 javap反编译命令详解&Eclipse中配置javap命令

javap命令所有参数如下图所示: 内容回家补充 Eclipse中配置javap命令,请参考我的另一篇博客:Eclipse中配置javap命令

2015-12-21 17:45:36 2246

原创 java.util.Arrays类详解(源码总结)

概述Arrays类位于java.util包下,是一个对数组操作的工具类。今天详细的看了看Arrays类的4千多行源码,现将Arrays类中的方法做一个总结(JDK版本:1.6.0_34)。Arrays类中的方法可以分为八类:sort(对数组排序)binarySearch(二分法查找数组中的元素)equals(比较两个数组是否相等)fill(对数组中的指定位置填充相同的内容)copyOf(数

2015-12-21 14:48:57 3438

转载 sybase isql命令参数详解

isql 实用工具使您得以输入 Transact-SQL 语句、系统过程和脚本文件. 语法 isql [-?] | [-L] | [ { {-U login_id [-P password]} | -E } [-S server_name] [-H wksta_name] [-d db_name] [-l time_out] [-t time_out] [-

2015-12-09 14:39:25 8972

原创 VIM编辑器操作命令积累

开始学习VIM编辑器了,计划着每周尝试着学习几个新命令,记录在本篇博客中。vi demo.txt 进入Normal模式查看文本 i 进入Insert模式插入内容,编辑文本 nG n代表行号,在Normal模式输入nG则定位到第n行 :set number 在Normal模式输入则显示文本行号,空行也会显示行号 ESC 退出Insert模式至Normal模式 :wq 在Normal模式下保存

2015-11-26 17:56:18 1411

原创 linux下的清屏命令

Linux下有两个清屏命令:clear这个命令将会刷新屏幕,系统的操作是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。一般都会使用这个命令。reset这个命令将完全刷新终端屏幕,之前的终端输入操作信息将都会被清空,因为是清空全部的终端输入操作信息,所以整个命令过程速度会慢一些,一般不用。

2015-11-13 09:59:14 2321

原创 linux中exec和xargs命令的区别和优劣分析

find的exec及ok命令exec命令的格式为: exec command {} \; exec后面跟着的是操作命令,然后跟着{}表示每一个参数,然后空格,然后“\;”。{}之后一定要跟一个空格,exec命令以;作为结束,为了表名;只是一个结束符,使用转义字符\加在;前面。ok命令和exec作用相同,唯一的区别在于ok是exec命令的安全模式,在执行command之前会给出提示。xargs

2015-11-12 12:58:02 2987

原创 not in 前面/后面存在null值时的处理

表声明order_header表中有ship_method列; ship_method_map表中ship_method为主键列。需求找出order_header表中所有ship_method不在ship_method_map表中的列。SQLnot in实现:select count(*) from order_header a where a.ship_method not in (select

2015-11-09 13:18:46 1493

原创 Maven插件详解

(声明:本文是学习了大牛徐晓斌的Maven3 in Action之后的总结,仅用于学习交流。)插件与插件目标Maven定义了三套相互独立的生命周期,每套生命周期都有多个生命周期阶段,而这些阶段都是抽象的,不做任何工作。真正完成工作的是绑定在生命周期阶段的插件目标。插件以独立的构件形式存在,一个插件可能有一个或多个插件目标。生命周期的某个阶段可以绑定一个或多个插件目标;一个插件目标也可以绑定到一个或多

2015-11-02 12:41:03 2324

原创 Maven生命周期详解

maven生命周期概述Maven的生命周期是抽象的,maven生命周期本身不做任何实际的工作。生命周期的每个阶段的具体工作都是由绑定的插件的插件目标来完成。生命周期和插件两者协同工作,密不可分。在maven中,关键的生命周期阶段都有默认的差价目标绑定。三套生命周期maven有三套相互独立的生命周期,分别为clean、default和site。

2015-10-29 13:29:34 4336

原创 maven跳过单元测试的两个参数区别

maven在打包过程中需要执行单元测试。但有些时候单元测试已经通过只是想打包时,想跳过测试。maven提供了两个参数跳过测试:maven.test.skip=true 和skipTests。例子mvn clean install -Dmaven.test.skip=truemvn clean package -DskipTests两个参数的区别如下: maven.test.skip=true: 跳

2015-10-29 11:11:43 2372 3

原创 maven的UnsupportedClassVersionError

问题描述我安装了maven3.3.3,配置好了M2_HOME和path环境变量之后,执行mvn -v报错:java.lang.UnsupportedClassVersionError: …. : Unsupported major.minor version 51.0问题解决网上查了下原因,是因为我的jdk版本太低,maven3.3需要1.7或以上的jdk的支持。我的jdk版本为1.6.0_34。因

2015-10-27 17:24:35 1222

原创 与markdown的第一次接触

markdown的认识与入门

2015-10-22 17:06:01 798

原创 Java的多态及注意事项

什么是多态: 多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序。在Java中,所有的方法都是通过动态绑定实现多态的。将一个方法调用同一个方法主体关联起来被称作绑定。动态绑定的含义是在运行时根据对象的类型进行绑定。动态绑定也叫作后期绑定或运行时绑定。Java中除了static方法和final方法(private方法属于final方法)之外,其他所有的方法都是后期绑定。这意味着通常情

2015-10-22 13:32:25 1459 1

原创 Java继承时的初始化顺序

Java程序在启动和运行时,需要首先完成初始化的工作。在涉及到继承、static成员变量等因素时,初始化的顺序就复杂起来。下面以一个例子说明继承时的Java初始化顺序。例子:class Insect{ private int i = 9; protected int j; Insect(){ System.out.println("i = "

2015-10-22 11:14:48 1125

转载 定时任务 Crontab命令 详解

前言crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比较高,一个要求你的程序是24X7小时不宕机,一个是 要求你的调度程序比较可靠,实际工作中,90%的程序都没有必要花这么多时间和精力去解决上面的两个问题的,只需要写好自己的业务逻辑,通过crond

2015-10-13 10:55:16 923

原创 dos2unix批量转换的一种方法

Linux本身提供了dos2unix和unix2dos两个命令来实现Windows和Linux文件的转换。少量文件转换:对于单个或少量的文件转换,可以直接使用命令,如:dos2unix filename1, filename2大量文件转换:当需要转换的文件非常多的时候,使用上述方式书写起来非常麻烦;还有就是当参数过长的时候,dos2unix命令可能会出现参数过长,无法解析的错误

2015-10-13 10:38:34 7156

转载 Hibernate通过SQL查询常量时只能返回第一个字符的解决方法

在Hibernate中如果通过[java] view plaincopysession.createSQLQuery("select '合计' as name from dual").list()  查询,返回值中只会有一个“合”字。经查,常量在数据库中被认为是CHAR类型的,Hibernate取值时将其保存为Char

2015-10-08 16:41:19 1557

原创 史上最昂贵的代码(大众欺骗代码)

这可能是史上最昂贵的三行代码了,价值180亿美金。大众汽车可能因为这三行代码面临严重的危及,甚至整个德国经济也会受到影响。(代码大体意思:当前面两个驱动轮转动并且后面的两个非驱动轮不转的时候,启动欺骗模式。)

2015-09-29 14:05:41 1663

转载 一个Java对象到底占用多大内存

最近在读《深入理解Java虚拟机》,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存?在网上搜到了一篇博客讲的非常好:http://yueyemaitian.iteye.com/blog/2033046,里面提供的这个类也非常实用: View Code大家可以用这个代码边看边验证,注意的是,运行这个程序需要通

2015-09-22 16:24:08 2014 1

转载 JVM基础知识GC

在网上看到一篇很不错的讲解JVM GC的文章,看完之后觉得可以留着以后多看几遍便转载了下来。但是找了半天也没有找到原作者地址。抱歉不能标明原文地址了。以下是文章内容。几年前写过一篇关于JVM调优的文章,前段时间拿出来看了看,又添加了一些东西。突然发现,基础真的很重要。学习的过程是一个由表及里,再由里及表的过程,所谓的“温故而知新”。而真正能走完这个轮回的人,也就能称为大牛或专家

2015-09-18 15:17:06 828

转载 Java反射详解

一、什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提 出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中 LEAD/LEAD++ 、OpenC++ 、MetaXa和OpenJava等就是基于反射机制的语言。最近,反射机制也被应用到了视

2015-09-18 13:26:48 607

转载 Java异常的深入研究与分析

今天上午做完了公司的工作,下午暂时没有工作任务,想到关于Java的异常处理机制和框架的认识还有待提高,看了两篇相关的文章,分享出来。先看了网名为“真实的归宿”的一篇博文:http://blog.csdn.net/hguisu/article/details/6155636,里面有一个例子如下:public class TestException { public TestExc

2015-09-16 17:37:08 1139

原创 Java的LinkedList详解,看源码之后的总结

1. LinkedList实现了一个带表头的双向循环链表;2. LinkedList是线程不同步的;3. LinkedList中实现了push、pop、peek、empty等方法,因此LinkedList实现了所有栈的操作,可以被当作栈来使用;4. LinkedList中实现了offer、peek、element、poll、remove等方法,因此LinkedList实现了所有队列的操

2015-09-16 13:59:32 1179

转载 Java集合类: Set、List、Map、Queue使用场景梳理

本文主要关注Java编程中涉及到的各种集合类,以及它们的使用场景 相关学习资料http://files.cnblogs.com/LittleHann/java%E9%9B%86%E5%90%88%E6%8E%92%E5%BA%8F%E5%8F%8Ajava%E9%9B%86%E5%90%88%E7%B1%BB%E8%AF%A6%E8%A7%A3%28collection%E3%80

2015-09-16 13:37:23 1422

原创 Eclipse打jar包,资源文件的读取

最近的工作中需要将java程序打一个jar包,然后在Linux中供调用。程序中需要读取一个配置文件。遇到了三个问题。第一个是依赖的第三方Jar包打成Jar包后找不到;第二个问题是资源文件所在的文件夹打jar包时没有一起打入Jar包中;第三个问题是找不到资源文件,无法读取到指定的文件。下面给出我对三个问题的解决方法:第三方jar包找不到针对这个问题,我没有按照网上一般的方法自己写MANIFI

2015-09-15 14:11:29 3368

转载 不想写歌的码农,不是个好电影人

今天看到图灵社区的一个访谈,一位台湾著名音乐人兼码农陈志翰的快乐生活。他关于生活、创业、感恩的看法还有他的生活态度对我有很大的触动。做自己喜欢的事。陈志翰(@Sir阿怪),来自台湾,他是唱片制作人,为张惠妹、范逸臣写过主打歌;他还是码农,每周都要去参加“嘿嘿星期四”的coding聚会。关于他,我们有无数的问号,但是在访谈结束后,他的跨界生活似乎又变得顺理成章,不紧不慢。“写歌和

2015-09-11 16:06:38 2236 2

转载 Java HashMap并发死循环

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的HashMap是非线程安全的,所以在并发下必然出现问题。但是,我发现近几年,很多人都经历过这个事(在网上查“HashMap Infinite Loo

2015-09-10 16:39:48 998

转载 程序员技术练级攻略

本文转载至陈皓老师的个人博客网站酷壳,分享与大家。原文链接:陈皓老师月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他

2015-09-09 17:29:37 974

原创 ArrayList、HashMap、HashSet源码总结

ArrayList:1. ArrayList是List接口的大小可变数组的实现,此实现是不同步的。2. ArrayList内部使用类型为Object[]的数组存储元素。3. ArrayList默认的数组长度为10, 当需要扩大容量时,扩大后的容量为:newCapacity = (oldCapacity * 3)/2 + 1;4. ArrayList的clone方法为浅拷贝(shal

2015-09-09 14:33:25 1109

原创 Java遍历时删除List、Set、Map中的元素(源码分析)

在对List、Set、Map执行遍历删除或添加等改变集合个数的操作时,不能使用普通的while、for循环或增强for。会抛出ConcurrentModificationException异常或者没有达到删除的需求。在遍历时删除元素,需要使用迭代器的方式,代码示例如下:public class CollectionRemoveDemo { public static void mai

2015-09-07 18:12:13 2378

转载 JVM的GC(概念与深入)

深入浅出了解什么是GC:http://my.oschina.net/xianggao/blog/86985GC策略详解:http://blog.csdn.net/winniepu/article/details/4829087

2015-09-02 12:25:49 652

转载 JVM虚拟机结构

JVM的主要结构如下图所示,图片引用自舒の随想日记。方法区和堆由所有线程共享,其他区域都是线程私有的程序计数器(Program Counter Register)类似于PC寄存器,是一块较小的内存区域,通过程序计数器中的值寻找要执行的指令的字节码,由于多线程间切换时要恢复每一个线程的当前执行位置,所以每个线程都有自己的程序计算器。这一个区域不会有OutOfMemer

2015-09-02 10:11:58 731

JUnitGuide

JUnit单元测试教程配套例子。教程网址:http://blog.csdn.net/Rainnnbow/article/details/52212957

2016-08-15

jar文件中文件的移动

使用JarEntry实现移动和更改jar文件中的内容

2013-10-31

struts2.1.2_ALLlib

struts2.1.2版本的所有的jar包

2013-10-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除