Java
文章平均质量分 83
jiutianhe
这个作者很懒,什么都没留下…
展开
-
JDK7新特性--NIO2.0 文件系统
主要包括:FileSystem 提供了许多方法来获得当前文件系统的相关信息。 Path 处理路径(文件和目录),包括创建path,Paths.get(String s)获得path的详细信息 getName(),getXX()…删除path的冗余信息 toRealPath转换path toAbsolutePath()合并两个path r原创 2015-05-12 16:32:11 · 1846 阅读 · 0 评论 -
Java五道输出易错题解析
收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了。1. 看不见的空格?下面的输出会正常吗?package basic;public class IntegerTest { public static void main(String[] args) { System.out.println(Integer.pa转载 2015-01-06 16:58:47 · 806 阅读 · 0 评论 -
基于堆实现的优先级队列:PriorityQueue 解决 Top K 问题
1、认识PriorityQueuePriorityQueue是从JDK1.5开始提供的新的数据结构接口,它是一种基于优先级堆的极大优先级队列。优先级队列是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。如果不提供Comparator的话,优先队列中元素默认按自然顺序排列,也就是数字默认是小的在队列头,字符串则按字典序排列(参阅 Comparable),也可以根据原创 2014-11-24 11:12:02 · 3551 阅读 · 0 评论 -
Eclipse打JAR包,插件FatJar安装与使用
一般把src打包export=>Jar File 即可。想把src附属的资源一起打包,必须使用FatJar => export..=>FatJar. 复制去Google翻译翻译结果原创 2014-11-06 11:12:32 · 13779 阅读 · 0 评论 -
java“块”的研究
本文重点关注静态块、非静态块、构造函数的加载顺序直接上代码:复制去Google翻译翻译结果转载 2014-11-03 17:02:28 · 482 阅读 · 0 评论 -
关于web.xml中<web-app>报错解决方案
严重: Parse Error at line 31 column 11: The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servl转载 2014-10-17 15:17:07 · 17272 阅读 · 2 评论 -
JAVA对象Bean输出(toString)
我们知道在对象中实现toString方法后,输出对象就可以按相应格式输出,但是假如一个对象复杂,写这个toStirng是比较麻烦的。 提供3种方法,均为开源包: 1、commons-lang包中的org.apache.commons.lang.builder.ToStringBuilder.reflectionToString方法。 log.info("对象内容为:"+To转载 2014-10-29 18:36:02 · 1754 阅读 · 0 评论 -
dom4j 最常用最简单的用法
要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的原创 2014-10-28 16:54:12 · 9347 阅读 · 0 评论 -
在myeclipse中如何拷贝一个web工程
在MyEclipse中,经常练习的时候需要建立多个工程,但是为了方便,通常的作法是:复制一个工程,然后直接粘贴,但是,部署以后会发现,使用新的工程名访问不了,报404错误。 其原因是没有修改Web Context-root 修改方法为: 选中项目,点右键-->Properties-->MyEclipse-->Web-->Context Root 修改Web Cont转载 2014-11-13 10:40:33 · 877 阅读 · 0 评论 -
图文教程:使用MyEclipse的hibernate工具从数据库反向生成实体Bean
本文介绍如何使用MyEclipse的hibernate工具从数据库反向生成实体Bean.使用的STS的孩子也可以使用, STS中已经有了这个工具,至于javaEE版本的Elicpse有没有我就不知道了,好久没碰Eclipse了,现在主要用STS和MyEclipse。一、打开MyEclipse,切换到MyEclipse Database Explorer 透视图下,如果不知道什么是透视图原创 2014-10-28 11:49:40 · 2957 阅读 · 0 评论 -
20非常有用的Java程序片
下面是20个非常有用的Java程序片段,希望能对你有用。1. 字符串有整型的相互转换123String a = String.valueOf(2);//integer to numeric string int i = Integer.parseInt(a); //numeric string to an int转载 2013-07-09 11:35:07 · 1205 阅读 · 0 评论 -
Linux下定时运行java程序
1、 在MyEclipse中将java程序运行一遍得到class文件后,如下图所示: 右键点击dbtodb工程,选择Export:点击next:在JAR file :选择jar包存放的路径及jar包名字,点击finish。Jar包导出完成。2.在c盘找到刚导出的jar包,我们将jar包放到一个dbtodb的文件夹下,打开jar包:打开META-INF:原创 2014-11-05 18:27:29 · 1705 阅读 · 0 评论 -
Java String之String和CharSequence、StringBuilder和StringBuffer的区别(1)
本章主要介绍String和CharSequence的区别,以及它们的API详细使用方法。String 简介String 是java中的字符串,它继承于CharSequence。String类所包含的API接口非常多。为了便于今后的使用,我对String的API进行了分类,并都给出的演示程序。String 和 CharSequence 关系String 继承于Char转载 2014-12-26 13:59:39 · 1840 阅读 · 0 评论 -
Java String之String和CharSequence、StringBuilder和StringBuffer的区别(2)
演示程序1. CharSequence下面通过示例,演示CharSequence的使用方法!源码如下(CharSequenceTest.java):/** * CharSequence 演示程序 * * @author skywang */ import java.nio.charset.Charset; import java.io.Un转载 2014-12-26 14:06:21 · 2648 阅读 · 1 评论 -
Java程序员必须掌握的8大排序算法
本文主要详解了Java语言的8大排序的基本思想以及实例解读,详细请看下文8种排序之间的关系:1, 直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例(3)用java实现转载 2015-01-16 14:49:33 · 5808 阅读 · 1 评论 -
java的concurrent用法详解
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的转载 2015-04-01 14:52:09 · 1070 阅读 · 0 评论 -
java相对路径设置
在java中相对路径的设置是一个比较头痛的问题:配置文件应该写在哪里,"/","./"等各自代表着什么含义,普通的java工程和jsp(servlet)的路径有什么不同,这都是我们特别需要留意的。不然在程序开发中会死得很惨(个人以前深有体会,看似很简单的路径设置,往往要花很多的时间才能搞定)。 一、Java Project 1. 普通目录的读取转载 2014-11-13 10:36:11 · 1223 阅读 · 0 评论 -
国外程序员整理的Java资源大全
构建这里搜集了用来构建应用程序的工具。Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。Gradle:Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管转载 2015-01-16 14:57:09 · 1340 阅读 · 0 评论 -
Java正则表达式
1. 用户名正则表达式模式^[a-z0-9_-]{3,15}$^ # 行开始 [a-z0-9_-] # 匹配列表中的字符,a-z,0–9,下划线,连字符 {3,15} # 长度至少3个字符,最大长度为15$ # 行结束2.转载 2015-01-16 14:46:51 · 916 阅读 · 0 评论 -
Java Map遍历方式方式及性能比较
1 如果你使用HashMap同时遍历key和value时,keySet与entrySet方法的性能差异取决于key的具体情况,如复杂度(复杂对象)、离散度、冲突率等。换言之,取决于HashMap查找value的开销。entrySet一次性取出所有 key和value的操作是有性能开销的,当这个损失小于HashMap查找value的开销时,entrySet的性能优势就会体现出来。例如上述对比转载 2015-01-16 14:39:51 · 2066 阅读 · 0 评论 -
Java String之String和CharSequence、StringBuilder和StringBuffer的区别(3)
9. String 完整示例下面的示例是整合上面的几个示例的完整的String演示程序,源码如下(StringAPITest.java):/** * String 演示程序 * * @author skywang */ import java.util.HashMap; import java.nio.charset.Charset; import转载 2014-12-26 14:09:13 · 750 阅读 · 0 评论 -
Java String之StringBuffer以及它的API的详细使用方法
StringBuffer 是一个线程安全的可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。StringBuilder 也是继承于AbstractStringBuilder的子类;但是,StringBuilder和StringBuffer不同,前者是非线程安全的,后者是线程安全的。StringBuffer 和 CharSequenc转载 2014-12-26 14:21:18 · 3302 阅读 · 0 评论 -
Java String之StringBuilder以及它的API的详细使用方法(2)
1. StringBuilder 中插入(insert)相关的API源码如下(StringBuilderInsertTest.java):/** * StringBuilder 的insert()示例 * * @author skywang */ import java.util.HashMap; public class StringBuilde转载 2014-12-26 14:17:45 · 1024 阅读 · 0 评论 -
Java String之StringBuilder以及它的API的详细使用方法
StringBuilder 简介StringBuilder 是一个可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。StringBuffer 也是继承于AbstractStringBuilder的子类;但是,StringBuilder和StringBuffer不同,前者是非线程安全的,后者是线程安全的。StringBuild转载 2014-12-26 14:12:29 · 5924 阅读 · 0 评论 -
Java 生产者消费者问题
在JAVA中,一共有四种方法支持同步,其中三个是同步方法,一个是管道方法。1. 方法wait()/notify()2. 方法await()/signal()3. 阻塞队列方法BlockingQueue4. 管道方法PipedInputStream/PipedOutputStream下面我们看各个方法的实现:原创 2014-06-19 11:13:23 · 954 阅读 · 0 评论 -
equals、hashCode和clone方法
(1)关键技术剖析:(Object类的这三个方法)v equals方法:比较两个对象是否相等,结果为boolean型。v hashCode方法:获得两个对象的hash码,结果为int型。v Clone方法:克隆当前对象,结果为Object型。转载 2014-06-03 13:23:23 · 882 阅读 · 0 评论 -
Java 单例模式
java中单例模式是一种常见的设计模式。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资原创 2013-12-23 15:46:08 · 786 阅读 · 0 评论 -
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
Thread类public Thread() 创建线程对象public Thread(Runnable target)//target 称为被创建线程的目标对象,负责实现Runnable接口Thread类有三个有关线程优先级的静态常量:MIN_PRIORITY,MAX_PRIORITY,NORM_PRIORITY新建线程将继承创建它的副相承的优先级,用户可以调用Thread类的se转载 2013-10-24 17:07:19 · 1256 阅读 · 0 评论 -
类型转换
1如何将字串 String 转换成整数 int? A. 有两个方法:1). int i = Integer.parseInt([String]); 或i = Integer.parseInt([String],[int radix]);2). int i = Integer.valueOf(my_str).intValue(); 2 如何将整数 int 转换成字串 String原创 2013-10-24 15:56:05 · 871 阅读 · 0 评论 -
原始类型与封装类的区别
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。Java中包含三种引用类型即为数组,类,接口, Java得三种引用类型,储存在引用类型变量中原创 2013-10-24 15:54:18 · 2840 阅读 · 1 评论 -
Java深拷贝
深拷贝与浅拷贝的区别1.浅复制与深复制概念⑴浅复制(浅克隆)⑵深复制(深克隆)被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对象所引用的对象都复制了一遍。2.Java的clone()方法⑴clone方法将对象复制了一份并返回给调用者。一原创 2013-10-24 10:50:49 · 1001 阅读 · 0 评论 -
1. Java设计模式--单例模式
概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、 枚举式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框原创 2012-10-19 21:56:17 · 596 阅读 · 0 评论 -
Java中十个常见的违规编码
这份列表没有依据任何规则或顺序,所有的这些都是通过代码质量工具包括CheckStyle,FindBugs和PMD检查出。一起来看下:一、Eclipse编译器提供源代码格式输入Eclipse提供自动源码格式选项,并且组织输入(删除未使用的代码)。你可以使用下面的这些快捷键进行操作。Ctrl + Shift + F——源代码格式Ctrl + Shift + O——组织输转载 2012-10-16 20:37:52 · 1138 阅读 · 0 评论 -
二叉排序树(二叉搜索树)
二叉排序树二叉排序树又称为二叉查找树,它是一种特殊结构的二叉树,其定义为:二叉树排序树或者是一棵空树,或者是具有如下性质的二叉树:(1)若它的左子树非空,则左子树上所有结点的值均小于根结点的值;(2)若它的右子树非空,则右子树上所有结点的值均大于根结点的值;(3)它的左右子树也分别为二叉排序树。这是一个递归定义。由定义可以得出二叉排序树的一个重要性质:中序遍历一个二叉排序树时可原创 2012-10-09 11:17:50 · 4427 阅读 · 0 评论 -
哈夫曼树
哈夫曼树又称最优二叉树哈夫曼树的构造 哈夫曼树的构造 假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为: (1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点); (2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其原创 2012-10-09 10:55:38 · 935 阅读 · 0 评论 -
超实用的Java数组技巧攻略
本文分享了关于Java数组最顶级的11大方法,帮助你解决工作流程问题,无论是运用在团队环境或是在私人项目中,你都可以直接拿来用! 0. 声明一个数组(Declare an array) [js] view plaincopyString[] aArray = new String[5]; String[] bArray = {"a转载 2014-01-13 14:13:13 · 718 阅读 · 0 评论 -
二叉树的遍历(Java实现)
主要是二叉树的遍历,包括递归遍历和非递归遍历package util;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.List;import java.util.Queue;public class BinaryNode { /** * 泛型BinaryNode原创 2012-10-09 10:42:32 · 1899 阅读 · 0 评论 -
Maven 手动添加 JAR 包到本地仓库
Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个人共用,有时候用 Maven 来远程下载 JAR 包会显得很慢,一般我发现下载速度不明显的时候,我就 Ctrl + C 来终止它的下载。然后改用手动来下载,因为用迅雷一类的工具来下载会快很多。我机子上 Maven 的本地仓库的很多 JAR 包我都是手动下转载 2014-04-15 16:29:27 · 783 阅读 · 0 评论 -
处理大数字BigInteger与BigDecimal
关键技术剖析:² BigInteger:支持任意精度的整数,可以精确地表示任意大小的整数值,同时在运算过程中不会丢失任何信息。² BigDecimal:可以精确地表示任意精度的小数,同时在运算过程中不会丢失任何信息。转载 2014-06-03 10:44:50 · 835 阅读 · 0 评论 -
java反射
反射 反射就是把Java类中的各种成分映射成相应的java类。例如,一个Java类中用一个Class类的对象来表示,一个类中的组成部分:成员变量,方法,构造方法,包等等信息也用一个个的Java类来表示,就像汽车是一个类,汽车中的发动机,变速箱等等也是一个个的类。表示Java类的Class类显示要提供一系列的方法,来获得其中的变量,方法,构造方法,修饰符,包等信息,这些信息就是用相原创 2014-04-15 17:44:11 · 780 阅读 · 0 评论