Java
文章平均质量分 75
亚尔诺炽焰
这个作者很懒,什么都没留下…
展开
-
Java Object类
public final native Class getClass();public native int hashCode();public boolean equals(Object obj);protected native Object clone() throws CloneNotSupportedException;public String toString();publ转载 2016-03-11 16:55:27 · 729 阅读 · 0 评论 -
Java 类加载器Class Loader
类加载器(class loader)是 Java™中的一个很重要的概念。类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™中的应用。类加载器是 Java 语言的一个创新,也是 Java 语言转载 2016-03-12 11:02:53 · 528 阅读 · 0 评论 -
Java HashMap HashTable HashSet区别
HashMap、HashSet、HashTable之间的区别是Java程序员的一个常见面试题目,在此仅以此博客记录,并深入源代码进行分析:在分析之前,先将其区别列于下面1:HashSet底层采用的是HashMap进行实现的,但是没有key-value,只有HashMap的key set的视图,HashSet不容许重复的对象2:Hashtable是基于Dictionary类的,而Hash转载 2016-03-13 11:48:30 · 758 阅读 · 0 评论 -
Java HashMap的内部实现机制
1.HashMap的内部实现机制HashMap是对数据结构中哈希表(Hash Table)的实现, Hash表又叫散列表。Hash表是根据关键码Key来访问其对应的值Value的数据结构,它通过一个映射函数把关键码映射到表中一个位置来访问该位置的值,从而加快查找的速度。这个映射函数叫做Hash函数,存放记录的数组叫做Hash表。在Java中,HashMap的内部实现结合了链表和数组转载 2016-03-13 18:05:23 · 575 阅读 · 0 评论 -
Java 读取Excel格式xls、xlsx数据工具类
需要POI的jar包支持调用方式:ReadExcelTest excelTest = new ReadExcelTest();excelTest.readExcel("D:\\data1.xlsx");package com.util;import java.io.File;import java.io.FileInputStream;import java.原创 2016-05-08 11:34:51 · 3167 阅读 · 0 评论 -
[Java基础] HashCode、equals、==的区别
hash code、equals和“==”三者的关系1.如果是基本变量,没有hashcode和equals方法,基本变量的比较方式就只有==,;2.如果是变量,由于在java中所有变量定义都是一个指向实际存储的一个句柄(你可以理解为c++中的指针),在这里==是比较句柄的地址(你可以理解为指针的存储地址),而不是句柄指向的实际内存中的内容,如果要比较实际内存中的内容,那就要原创 2016-03-07 18:32:08 · 488 阅读 · 0 评论 -
[Java基础] 字节流与字符流
package stream;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.InputStreamReader;原创 2016-03-15 16:44:05 · 966 阅读 · 0 评论 -
[Java基础] 断言(assert)
一、语法形式: Java2在1.4中新增了一个关键字:assert。在程序开发过程中使用它创建一个断言(assertion),它的语法形式有如下所示的两种形式:1、assert condition; 这里condition是一个必须为真(true)的表达式。如果表达式的结果为true,那么断言为真,并且无任何行动如果表达式为false,则断言失败,则会抛出一个Ass原创 2016-03-16 14:03:25 · 506 阅读 · 0 评论 -
JAVA计算器——摘自Java核心技术
import java.awt.*;import java.awt.event.*;import javax.swing.*;/* * */public class Calculator { public static void main(String[] args) { EventQueue.invokeLater(new Runnable()原创 2015-08-10 10:21:25 · 570 阅读 · 0 评论 -
[转载] JDK与JRE的区别
1. 定义JRE(Java Runtime Enviroment)是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。JDK(Java Develop转载 2015-04-23 18:40:02 · 412 阅读 · 0 评论 -
Java读取文件到TextArea的实现
//文件打开函数 private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: //初始化文件选择窗口 FileDialog fileDialog; //An abstract representation of file原创 2016-01-22 23:38:05 · 10143 阅读 · 1 评论 -
[转载] Java字符串格式化
JAVA字符串格式化-String.format()的使用常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参转载 2016-02-29 18:57:54 · 407 阅读 · 0 评论 -
JTextArea行号显示工具类
在使用时在对应JTextArea的jScrollPane上添加:jScrollPane1.setRowHeaderView(new LineNumberHeaderView());再创建一个插件类://package com.ui;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;impor原创 2016-03-02 15:26:06 · 2905 阅读 · 2 评论 -
[转载] Java BigDecimal大数类
1.引言借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。2.BigDecima转载 2016-03-03 22:02:46 · 658 阅读 · 0 评论 -
[转载] Java Iterator迭代器详解
Iterator(迭代器)作为一种设计模式,迭代器可以用于遍历一个对象,对于这个对象的底层结构开发人员不必去了解。Java中的Iterator一般称为“轻量级”对象,创建它的代价是比较小的。这里笔者不会去考究迭代器这种设计模式,仅在JDK代码层面上谈谈迭代器的时候以及使用迭代器的好处。Iterator详解Iterator是作为一个接口存在的,它定义了迭代器所具有的功能。这里我们转载 2016-03-06 12:32:00 · 1582 阅读 · 0 评论 -
[转载] Java ArrayList、LinkedList、Vector比较
翻译人员: 铁锚翻译时间: 2013年12月2日原文链接: ArrayList vs. LinkedList vs. Vector1. List概述List,就如图名字所示一样,是元素的有序列表。当我们讨论List时,将其与Set作对比是一个很好的办法,Set集合中的元素是无序且唯一的。下图是Collection的类继承图,从图中你可以对本文所讨论的知识有大致的了解.转载 2016-03-06 13:45:07 · 458 阅读 · 0 评论 -
Java ReentrantLock和synchronize的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造转载 2016-03-11 14:13:30 · 948 阅读 · 0 评论 -
Java String、StringBuffer、StringBuilder比较
1 StringString:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。String类的包含如下定义:[java] view plain copy/** The value is used for character storage. */ private final char转载 2016-03-07 18:23:08 · 389 阅读 · 0 评论 -
Java 垃圾回收机制
1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放转载 2016-03-08 16:16:54 · 319 阅读 · 0 评论 -
[Java基础] List、Set、Map区别
首先,List与Set具有相似性,它们都是单列元素的集合,所以,它们有一个功共同的父接口,叫Collection。Set里面不允许有重复的元素,所谓重复,即不能有两个相等(注意,不是仅仅是相同)的对象,即假设Set集合中有了一个A对象,现在我要向Set集合再存入一个B对象,但B对象与A对象equals相等,则B对象存储不进去,所以,Set集合的add方法有一个boolean的返回值,当原创 2016-03-13 21:43:26 · 731 阅读 · 0 评论 -
中国农历1900-2100算法工具类
package com.date;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar; /** * 农历日历。 * 将农历从1901年到2100年之间各年、月的大小以及历年节气保存,然后基于这些数据进行计算。 * * 新增了几个用于农历的常量属性字段,可以使用ge原创 2016-03-20 17:45:58 · 1891 阅读 · 0 评论 -
[Java基础] 深拷贝与浅拷贝
对象拷贝(Object Copy)就是将一个对象的属性拷贝到另一个有着相同类类型的对象中去。在程序中拷贝对象是很常见的,主要是为了在新的上下文环境中复用对象的部分或全部 数据。Java中有三种类型的对象拷贝:浅拷贝(Shallow Copy)、深拷贝(Deep Copy)、延迟拷贝(Lazy Copy)。一、引言 对象拷贝(Object Copy)就是将一个对象的属性拷原创 2016-05-04 12:21:37 · 1729 阅读 · 0 评论 -
[Java基础] Java四类八种基本类型
JAVA有四类八种基础数据类型。第一类:整型 byte short int long第二类:浮点型 float double第三类:逻辑型 boolean第四类:字符型 char这四类八种基础数据类型都在栈中直接分配内存空间。这些都是基础数据流类型,剩下的一切引用类型都存储在堆中,引用存储在栈中,数据存储在堆中 。Jav原创 2016-05-03 19:54:48 · 1660 阅读 · 0 评论 -
[转载] 详解JAVAHOME,Path与ClassPath的含义
1、首先搞明白内部命令与外部命令的区别在学习编程过程中经常遇到这样的概念:内部命令启动后是常住内存的。用dos的时候内存都比较小,非常贵,而内部命令启动后是常住内存的。外部命令内部直接打就可以执行,外部得进到命令所在的目录或者设置环境变量才可以执行. 在java开发中设置的环境变量就解决这个问题的2、环境变量的含义(注意:java环境变量设置不分大小写)转载 2014-11-19 12:13:46 · 510 阅读 · 0 评论 -
[转载] Java自动装箱与拆箱
1.Java数据类型 在介绍Java的自动装箱和拆箱之前,我们先来了解一下Java的基本数据类型。 在Java中,数据类型可以分为两大种,Primitive Type(基本类型)和Reference Type(引用类型)。基本类型的数值不是对象,不能调用对象的toString()、hashCode()、getClass()、equals()等方法。所以Java提转载 2015-04-23 20:33:47 · 480 阅读 · 0 评论 -
[Java基础] 序列化与反序列化
一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是原创 2016-04-26 22:30:59 · 373 阅读 · 0 评论 -
Java HashMap循环遍历方式及其性能对比
主要介绍HashMap的四种循环遍历方式,各种方式的性能测试对比,根据HashMap的源码实现分析性能结果,总结结论。 1. Map的四种遍历方式下面只是简单介绍各种遍历示例(以HashMap为例),各自优劣会在本文后面进行分析给出结论。(1) for each map.entrySet()Map map = new HashMap();for (Entry转载 2016-03-01 23:34:42 · 961 阅读 · 0 评论 -
[Java基础] 抽象类和接口的区别
24、abstract class和interface有什么区别?含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽原创 2016-03-05 16:21:25 · 349 阅读 · 0 评论 -
Java 递归实现格雷码(Gray Code)
问题:产生n位元的所有格雷码。格雷码(Gray Code)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。例如以下为3位元的格雷码: 000 001 011 010 110 111 101 100 。如果要产生n位元的格雷码,那么格雷码的个数为2^n.假设原始的值从0开始,格雷码产生的规律是:第一步,改变最右边的原创 2016-03-26 12:53:26 · 1003 阅读 · 0 评论