Java Journeyman/Master
文章平均质量分 73
Keep track of good articles on Java.
unauthorized401
这个作者很懒,什么都没留下…
展开
-
多启动U盘制作流程
看多了网上的一键制作U盘启动盘的工具,有没有想过自己动手熟悉一下U盘启动盘的制作过程呢?这篇文章将告诉你如何一步一步制作「多系统启动U盘」。原创 2017-02-07 18:24:06 · 5099 阅读 · 0 评论 -
Linux下的神器介绍之Tmux分屏器
前言我们为什么需要分屏器呢?对于这个问题,我想大家肯定都有自己的看法。主流的观点是这样的,对于生活在Linux下的人(开发人员、运维人员、普通爱好者)都不可避免的使用终端模拟器(比如,gnome-terminal)去执行一些命令或者脚本。但是,通常一个终端是不够用的。比如,你想一边观察着系统的运行状态一边用vim写个脚本,当你运行了个top命令后,你发现这个终端被占用了,你不能够再用这个终端去干其他原创 2017-01-23 20:18:12 · 2092 阅读 · 0 评论 -
浮点数进行精确计算的问题
在计算机科学中,浮点(英语:floating point,缩写为FP)是一种对于实数的近似值数值表现法,由一个有效数字(即尾数)加上幂数来表示,通常是乘以某个基数的整数次指数得到。以这种表示法表示的数值,称为浮点数(floating-point number)。原创 2016-12-28 16:59:51 · 2461 阅读 · 0 评论 -
持续集成进阶篇
在前一篇文章持续集成入门篇中我大概介绍了下持续集成的概念及工具(抱歉,在前一篇文章中我查的资料不够与时俱进,工具介绍的都比较老,目前流行的工具应该就属Jenkins和Travis CI 了)。这篇文章我将就持续集成的话题继续深入地探讨一番。持续集成的四个步骤『代码级别的集成』 『集成 Workflow』『持续部署与交付』『并行多workflow集成以及个性化集成』原创 2016-12-19 23:17:04 · 2039 阅读 · 0 评论 -
Linux终端模拟器常见快捷键
本人常用的几个快捷键 ctrl+k 剪切文本直到行的末尾 ctrl+u 剪切文本直到行的起始 ctrl+w 剪切光标前的单词 alt+d 剪切光标后的单词 ctrl+y 粘贴最近剪切的文本 ctrl+c 删除整行 ctrl+f 向前移动一个字符 ctrl+b 向后移动一个字符 alt+f 向前移动一个单词 alt+b 向后移动一个单词原创 2016-12-27 17:34:52 · 3054 阅读 · 0 评论 -
持续集成入门篇
持续集成(英语:Continuous integration,缩写为 CI),一种软件工程流程(即,开发流程),将所有工程师对于软件的工作复本,每天集成数次到共用主线(mainline)上。这个名称最早由葛来迪•布区(Grady Booch)在他的布区方法中提出,但是他并没有提到要每天集成数次。之后成为极限编程(extreme programming,缩写为XP)的一部分。在测试驱动开发(TDD)的作原创 2016-12-07 23:50:46 · 2421 阅读 · 0 评论 -
HashMap和HashTable的选择
关于编程中HashMap和HashTable的选择问题,我们可以先看看下面这些问题。历史问题:Hashtable是个过时的集合类,是基于陈旧的Dictionary类的,并且存在于Java API中很久了。在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java集合框架中的一部分,而HashMap是Java 1.2引进的Map接口的一个实现。同步问题:HashMap是非synchronize原创 2016-11-09 20:50:51 · 763 阅读 · 0 评论 -
生产者和消费者问题
生产者和消费者是操作系统中的一个经典问题,这个问题是在讲“进程同步”时的一个例子,下面我就用Java语言中的notify和wait关键字实现这个算法。生产者/** * Description: 生产者. * * @author: crane-yuan * @date: 2016年11月5日 下午3:27:46 */public class Producer extends Thread原创 2016-11-06 14:24:14 · 1053 阅读 · 0 评论 -
怎样判断Array(无序)中是否包含某个值呢?
怎样去判断Array(无序)中是否包含某个值呢?这是一个在Java中经常被问到的问题。它也是Stack Overflow上投票前几的一个问题。下面将展示投票前几的几个回答,这些回答使用不同的方式解决了这个问题,但是,时间复杂度也是各有不同的。四种解决方法使用List public static boolean useList(String[] arr, String targetValue) {翻译 2016-11-05 12:21:12 · 1520 阅读 · 0 评论 -
Maven+Nexus+Myeclipse集成
Maven 是一个基于项目对象模型(POM)的,提倡约定优于配置(ConventionOver Configuration)的,跨平台的项目管理和构建自动化工具。首先它是一个优秀的构建工具(构建自动化、消除构建重复、标准化构建过程),其次它还是一个依赖管理工具、项目信息管理工具(如:Mylyn)。Maven安装工具下载Maven3.0.4下载maven配置maven下载后,需要原创 2016-11-02 23:55:44 · 1713 阅读 · 0 评论 -
JDBC中的Statement和PreparedStatement对比
首先关于Statement和PreparedStatement的基本概念我就不再叙述了,可以参考这篇文章,下面我们来看几个测试例子吧。测试场景现在我们向数据库中的一张表中插入100000(10万)条数据,测试使用Statement和PreparedStatement及PreparedStatement的Batch方式所需要的时间。原创 2016-10-19 17:16:38 · 1010 阅读 · 0 评论 -
Java历史简介
Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器1994年将Oak语言更名为Java1998年JDK1.2时,更名为Java 2 Platform 分为标准版J2SE,企业版翻译 2016-09-08 21:33:55 · 42595 阅读 · 2 评论 -
Java中的Date和Calendar的常用用法
在java中用到的最多的时间类莫过于 java.util.Date了, 由于Date类中将getYear(),getMonth()等获取年、月、日的方法都废弃了, 所以要借助于Calendar来获取年、月、日、周等比较常用的日期格式 注意:以下代码均已在jdk1.6中测试通过,其他版本可能使用不同,请注意!Date与String的互转用法/** * Date与String的互转用法,这里原创 2016-08-04 18:45:52 · 1782 阅读 · 0 评论 -
ArrayList等常见集合的排序问题
对于ArrayList等常用的集合具体业务类,基本上都实现了Comparable接口,即可以用来比较装载的对象实体。主要用Collections.sort方法对集合类中的对象进行排序Collections.sort的两种重载方法Collections.sort(list, comparator)方法,通过comparator规则,实现对list的特定排序。原创 2016-08-10 11:21:50 · 2709 阅读 · 0 评论 -
Java中util.Date和sql.Date的相互转换
Java中Date的两个类java.util.Date通常情况下用它获取当前时间或构造时间java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它们都有getTime方法返回毫秒数,都可以直接构造代码示例:// util.date转换成sql.datejava.util.Date utilDate = new java.util.Date(); //获取当前时间Sys原创 2016-08-10 16:16:47 · 19428 阅读 · 5 评论 -
Java中常见的RunTime异常及异常详解
常见的RunTime异常几种如下: NullPointerException - 空指针引用异常ClassCastException - 类型强制转换异常。IllegalArgumentException - 传递非法参数异常。ArithmeticException - 算术运算异常ArrayStoreException - 向数组中存放与声明类型不兼容对象异常IndexOutOfBoundsException - 下标越界异常NegativeArraySizeException - 创建一原创 2016-08-11 09:52:49 · 37193 阅读 · 2 评论 -
Java Map按Value排序
Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。原创 2016-08-15 12:14:08 · 1084 阅读 · 0 评论 -
Java中class的初始化顺序
(static对象和static代码块,依据他们的顺序进行初始化)>成员变量>构造函数class的装载在讲class的初始化之前,我们来讲解下class的装载顺序。以下摘自《Thinking in Java 4》 由于Java 中的一切东西都是对象,所以许多活动 变得更加简单,这个问题便是其中的一例。正如下一章会讲到的那样,每个对象的代码都存在于独立的文件 中。原创 2016-08-15 15:14:21 · 1047 阅读 · 0 评论 -
使用双引号““创建Java字符串还是使用String构造函数?
在Java中,一个字符串可以使用下面这两种方式进行创建:String x = "abc";String y = new String("abc");这两种创建字符串的方式有什么不同呢?双引号 VS 构造函数这个问题可以用下面这两个简单的代码实例来回答。例子1:String a = "abcd";String b = "abcd";System.out.println(a == b);翻译 2016-08-15 21:13:11 · 1711 阅读 · 0 评论 -
Java中Scanner类和BufferReader类之间的区别
java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串。它本质上是使用正则表达式去读取不同的数据类型。Java.io.BufferedReader类为了能够高效的读取字符序列,从字符输入流和字符缓冲区读取文本。下面是两个类的不同之处:当nextLine()被用在nextXXX()之后,用Scanner类有什么问题尝试去猜测下面代码的输出内容;翻译 2016-08-17 09:26:43 · 3002 阅读 · 0 评论 -
Java语言中的协变和逆变
协变和逆变指的是宽类型和窄类型在某种情况下的替换或交换的特性。协变就是用一个窄类型替代宽类型逆变则用宽类型覆盖窄类型。转载 2016-08-17 21:07:29 · 2984 阅读 · 0 评论 -
图解Java字符串的不变性
这儿有几个图例可以解释Java字符串的不变性。声明一个字符串String s = "abcd";s存储字符串对象的引用。这下面的箭头可以解释存储引用的概念。 通过另一个字符串变量给一个字符串变量赋值String s2 = s;s2存储着和s一样的引用值,因为,它是同一个字符串对象。 连接字符串s = s.concat("ef");s现在存储着一个新创建的字符串的引用。 总结一旦一个字符串在内存翻译 2016-08-21 20:16:55 · 1444 阅读 · 0 评论 -
Java文件拷贝的几种实现方案
1.FileInputStream2.FileChannel3.IORedirect4.ApacheCommonIO中的FileUtils.copyFile()方法5.jdk1.7中的Files.copy()方法原创 2016-08-22 21:13:51 · 1733 阅读 · 0 评论 -
Java中资源关闭的处理方式
本文就关于IO资源的处理问题,提出三种方案。close()放在try块中close()放在finally块中使用try-with-resource语句翻译 2016-08-23 13:52:03 · 5256 阅读 · 0 评论 -
Java中访问修饰符和构造函数的一点总结
JAVA访问修饰符public|privateprotecteddefault原创 2016-08-23 21:39:27 · 2960 阅读 · 1 评论 -
Java中被搁置的“goto”保留字
goto语句一直被人所诟病,说它使得代码结构复杂化,但是语言设计者们还是没有放弃goto这个功能强大的语句。Java以面向对象所著称也没能够放弃goto,而是把它当做保留字,但是并未在语言中得到正式使用。然而,从break和continue这两个关键字的身上,我们依然能够看出一些goto的影子。原创 2016-08-30 19:57:43 · 2386 阅读 · 0 评论