java笔记
文章平均质量分 54
流浪的侠客
还没有入行的程序猿,坚信自己能成为一个好的程序员。热爱运动旅行烹饪,是个有家天下情怀的青年。
展开
-
学好数据结构之路
很多人在学习时一猛子扎进细节里无法自拔,以至于顾此失彼,丢了西瓜捡了芝麻。这种学习方法特别浪费时间,效率也非常低下,以至于在学习的长河中惨遭淘汰。如果这种人继续不思进取,那么在激烈的社会竞争环境中也会惨遭淘汰。 在学习时我们不妨先了解下该门学科所要学习的框架知识,对知识点有初步的全局把控,这也是一种全局观的体现,然后在网上查找学习该门课程的成功案例,总结出这些案例的共同点,找到一转载 2013-09-17 15:07:54 · 967 阅读 · 0 评论 -
File类java.io.File
一:File类提供了一种抽象,这种抽象是指以不依赖机器的方式来处理很多文件和路径名依赖机器的复杂问题。 File类包含了许多获取文件属性的方法以及重命名和删除文件的方法,如下。但是,File类不包含读写文件的方法。构造方法摘要File(File parent, String child) 这个child可以使一个文件名也可以是一个子目录 这个p原创 2013-09-18 19:10:33 · 908 阅读 · 0 评论 -
org.apache.commons.collectionsJDK中不是已经有了Java集合框架了吗,为什么还要使用Apache的集合呢?
JDK中不是已经有了Java集合框架了吗,为什么还要使用Apache的集合呢?这是因为Apache的集合时对JDK集合的一个补充和增强,它提供了更多的接口和实现类。甚至于它应该成为JDK的一部分。原文http://blog.csdn.net/sunjavaduke/archive/2008/03/24/2214806.aspx本文简要的介绍了Apache Commons中的coll转载 2013-09-22 17:20:48 · 6350 阅读 · 0 评论 -
java常见排序
import java.io.*;import java.util.*;import java.lang.*;public class pGeneralSorting{ public static void BubbleSort(Comparable[] a){ boolean switched = true; for(int i=0;i<a.le转载 2013-09-23 10:13:38 · 679 阅读 · 0 评论 -
RandomAcessFile、MappedByteBuffer和缓冲读/写文件
http://blog.csdn.net/kissqw/article/details/6555911项目需要进行大文件的读写,调查测试的结果使我决定使用MappedByteBuffer及相关类进行文件的操作,效果不是一般的高。网上参考资源很多,如下两篇非常不错:1、花1K内存实现高效I/O的RandomAccessFile类2、Java中Stream和Memory-m转载 2013-10-10 09:50:10 · 773 阅读 · 0 评论 -
JAVA进行类型转换与字节数组与JAVA类型转换
前几天一个项目需要解析自定义的二进行LOG格式,因LOG文件为C语言写入,数据结构与JAVA不能完全匹配(最典型的是C中的unsigned类型与JAVA中的整型之间),引如下转换方式,备考:一、JAVA进制类型转换十进制转成十六进制:Integer.toHexString(int i)十进制转成八进制Integer.toOctalString(int转载 2013-10-10 08:47:36 · 1178 阅读 · 0 评论 -
java Enum的使用方法
一;关于Java Enum Enum一般用来表示一组相同的常量。如性别、日期、月份、星期、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较的时候可以用”==”来替换equals.是一种好的习惯。 JDK1.5之前没有Enum这个类型,那时候一般用接口常量来替代。有了Java Enum之后,可以更贴近的表示这种常量。API文档里Enum的构造方法:protected En原创 2013-09-18 22:08:58 · 2319 阅读 · 0 评论 -
Java归档文件将Java工程打包
一.工程没有引用外部jar包时(J2SE)选中工程---->右键,Export...--->Java--->选择JAR file--->next-->选择jar file的路径及名称-->next-->next--- 选择Main class--->finish. 二.工程有引用外部jar包时(J2SE)第一种方案当工程引用了其他的外部jar时,由于eclips转载 2013-09-25 15:09:36 · 997 阅读 · 0 评论 -
log4j.properties配置详解
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , append转载 2013-10-16 16:48:04 · 797 阅读 · 0 评论 -
Java annotation入门
一. 最常见的annotation@Override:用在方法之上,用来告诉别人这一个方法是改写父类的@Deprecated:建议别人不要使用旧的API的时候用的,编译的时候会用产生警告信息,可以设定在程序里的所有的元素上.@SuppressWarnings:暂时把一些警告信息消息关闭@Entity:表示该类是可持久化的类 简介:java.lang.SuppressWarnin转载 2013-10-17 15:00:57 · 674 阅读 · 0 评论 -
java断言assert
编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设 可以将断言看作是异常处理的一种高级形式 断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真 可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新起用断言。 使用断言可以创建更稳定,品质更好且易于除错的代码 当需要在一个值为FA转载 2013-11-08 15:58:29 · 819 阅读 · 0 评论 -
java.util.Date类和java.sql.Date类区别与应用
一. util.Date类和sql.Datejava.util.Date 就是在除了SQL语句的情况下使用java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分它都有getTime方法返回毫秒数,自然就可以直接构建java.util.Date d = new java.util.Date(sqlDate.getTime());...-----转载 2013-12-04 15:27:55 · 1473 阅读 · 0 评论 -
java.util.Timer和java.util.TimerTask以及 javax.swing.Timer
一.java.util.Timer和java.util.TimerTask1.概览Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。简单的一个例程:import java.util.Timer;import java.util转载 2013-12-04 10:43:07 · 2422 阅读 · 0 评论 -
Date、Calendar、Timestamp
1 Java.util.Date包含年、月、日、时、分、秒信息。[java] view plaincopy// String转换为Date String dateStr="2013-8-13 23:23:23"; String pattern="yyyy-MM-dd HH:mm:ss"; DateFormate da转载 2013-12-04 15:29:56 · 740 阅读 · 0 评论 -
单例模式/单例(Singleton)
首先,单例模式是对象的创建模式之一,此外还包括工厂模式。单例模式的三个特点:1,该类只有一个实例2,该类自行创建该实例(在该类内部创建自身的实例对象)3,向整个系统公开这个实例接口Java中大概是这个样子12345678910111213原创 2013-12-11 15:19:07 · 962 阅读 · 0 评论 -
java hashCode()方法equals()和==
1. '=='是用来比较两个变量(基本类型和对象类型)的值是否相等的, 如果两个变量是基本类型的,那很容易,直接比较值就可以了。如果两个变量是对象类型的,那么它还是比较值,只是它比较的是这两个对象在栈中的引用(即地址)。对象是放在堆中的,栈中存放的是对象的引用(地址)。由此可见'=='是对栈中的值进行比较的。如果要比较堆中对象的内容是否相同,那么就要重写equals方法了。原创 2013-12-09 21:43:23 · 708 阅读 · 0 评论 -
java序列化和反序列化以及serialVersionUID的作用
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。把Java对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为Java对象的过程称为对象的反序列化。对象的序列化主要有两种用途:1) 把对象的原创 2013-12-11 21:10:26 · 984 阅读 · 0 评论 -
Java JDBC建立和Mysql、sql server 2005、sqlite和Oracle数据库的连接
Java JDBC建立和Mysql、sql server 2005、sqlite和Oracle数据库的连接原创 2013-12-29 11:22:20 · 2133 阅读 · 0 评论 -
Java反射相关
一. 反射反射库(reflectionlibrary)java.lang.reflect提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵Java的代码。这项功能被大量地应用于JavaBeans中,它是Java组件的体系结构。使用反射,Java可以支持Visual Basic用户习惯使用的工具。特别是在设计或运行中添加新类,能够快速地应用开发工具动态地查询新添加类原创 2013-10-04 22:12:07 · 894 阅读 · 0 评论 -
java.nio.ByteBuffer 类 缓冲区
一.Buffer 类定义了一个可以线性存放primitive type数据的容器接口。Buffer主要包含了与类型(byte, char…)无关的功能。值得注意的是Buffer及其子类都不是线程安全的。每个Buffer都有以下的属性:capacity这个Buffer最多能放多少数据。capacity一般在buffer被创建的时候指定。limi转载 2013-12-28 22:03:10 · 3491 阅读 · 0 评论 -
20个非常有用的Java程序片段
1. 字符串有整型的相互转换String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int2. 向文件末尾添加内容BufferedWriter out = null; try { out = new B转载 2013-12-29 11:49:17 · 842 阅读 · 0 评论 -
对Java类加载器的认识
java是具有动态性,什么是动态性?有个最直观的例子:windows系统的即插即用,支持即插即用的设备可以在系统不重新启动的情况下既可以热把插使用。而java的动态性表现在:我们的程序可以不用全盘的重新编译就能对程序某部分进行更新,C#也和java一样具有动态性,而且它的这种动态性表现更为直观:直接生成windows的动态连接库文件——dll文件。而java生成的是class文件,class是怎么转载 2013-12-31 11:30:24 · 775 阅读 · 0 评论 -
java clone()机制
java clone() 实现的机制, 接口Cloneable没有具体的实现,实现Cloneable接口只是告诉实现它的类可以进行clone原创 2013-12-30 21:52:05 · 1386 阅读 · 0 评论 -
java Comparable接口与Comparator接口比较
这两个接口的比较:1:Comparable是在集合内部定义的方法实现的排序,Comparator是在集合外部实现的排序。Comparable接口在处理自然排序的时候确实很方便,但是也有一些不足的地方。 首先,传入的数组或者列表必须所有的元素都实现了Comparable。接口实现的只是自然排序,如果有其他的要求,比如说倒序或者其他特定的顺序,则不能适应其中的变化。更典型的情况就是比如说有一个集合类,要求实现针对不同要求的排序。只是单独针对Comparable这个接口来说是不够的。2:一个类实现了Campa原创 2013-12-30 22:23:15 · 1309 阅读 · 0 评论 -
精选30道Java笔试题解答
1. 下面哪些是Thread类的方法()A start() B run() C exit() D getPriority()答案:ABD解析:看Java API docs吧:http://docs.oracle.com/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。 2.转载 2013-12-31 20:25:12 · 1120 阅读 · 0 评论 -
Java回调函数的理解
javainterface手机电话服务器class 所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(转载 2013-10-16 11:21:46 · 925 阅读 · 0 评论 -
System.getProperty()方法可以获取的值
java中System.getProperty()方法可以获取的值原创 2013-12-19 21:33:19 · 1170 阅读 · 0 评论 -
Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing
一:在编译写书上一个例子时,由于书上的代码只有一部分,于是就自己补了一个内部类。结果编译时出现:No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instance of type E(e.g. x.new A() where x is an instance原创 2013-09-30 13:35:55 · 4238 阅读 · 0 评论 -
JAVA定时任务Timer
故事起因因业务需要,写了一个定时任务Timer,任务将在每天的凌晨2点执行,代码顺利码完,一切就绪,开始测试。运行程序,为了节省时间,将系统时间调整为第二天凌晨1点59分,看着秒针滴答滴答的转动,期盼着到2点时程序能正确运行,正暗暗欣喜之时,时间滑过2点,但是程序没有任何反应,啊哦,难道是我程序写错了。悲剧。 二次测试首先检查自己写的程序没有什么问题。再次测试,先将时间调整转载 2013-12-19 21:31:37 · 917 阅读 · 0 评论 -
java.util.Timer分析源码了解原理
Timer中最主要由三个部分组成: 任务 TimerTask 、 任务队列: TaskQueue queue 和 任务调试者:TimerThread thread他们之间的关系可以通过下面图示:在这个图中,可以清楚地看到这Timer本身及其和这三个部分的关系:1. Timer可以看作是面向开发人员的一个"接口"2. 所有向Timer添加的任务都会被放入一个转载 2013-12-19 22:03:27 · 675 阅读 · 0 评论 -
java多线程和并发相关
java线程synchronized原创 2013-12-20 08:43:38 · 971 阅读 · 0 评论 -
深入jar包:从jar包中读取资源文件
我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了。看看下面的代码:Java代码//源代码1: package edu.hxraid; import java.io.*; public class转载 2013-12-19 22:23:44 · 1026 阅读 · 0 评论 -
slf4j简介---日志系统的自动转换
slf4jinitializationparsinglog4jjarstring目录(?)[+]slf4j简介 准确的说,slf4j并不是一种具体的日志系统,而是一个用户日志系统的facade,允许用户在部署最终应用时方便的变更其日志系统。使用方式: 在系统开发中,统一按照slf4j的API进行开发,在部署时,选择不同的日志系转载 2013-12-22 09:38:19 · 1166 阅读 · 0 评论 -
深入理解Java中的final关键字
Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的。final关键字的含义?final在Java中是一个保留的关键字,可转载 2013-12-23 13:18:07 · 838 阅读 · 0 评论 -
转发一个通用从数据库导出excel、excel导入数据库组件
转发一个通用的导入导出组件 请注意:导入导出功能是通过自定义的Annotattion来实现的,要将pojo中的字段的类标注指定的annotation才可以,如果没有标注的,就默认不导出导入一般情况下只需要简单的三步,就可以实现导入和导出了,要是你使用了hibernate,就会发现太方便了一: 构造输入输出流 如: OutputStream out = new FileOutpu转载 2014-01-06 16:23:01 · 956 阅读 · 0 评论 -
Oracle数据库JDBC连接
oraclejdbc数据库tomcatjavadatabase这些细节包括:1、导入JDBC包2、注册oracle JDBC驱动程序3、打开数据库连接4、执行SQL DML语句在数据库表中获取、添加、修改和删除行 一、JDBC驱动程序 共有有4种1、Thin驱动程序 Thin驱动程序是所有驱动程序中资源消耗最小的,而且完全用java编写的。转载 2013-12-23 13:04:22 · 1924 阅读 · 0 评论 -
Java I/O
Java I/O文件读写基本类相关知识和概念,对于程序设计者来说,创建一个好的输入/输出系统是一项艰难的任务,其中挑战来源于所有的可能性,不仅存在各种源端与接收端(文件,控制台,网络链接等),而且还需要以各种不同的方式与它们通信(顺序,随机存取,缓冲,二进制,按字符,按行,按字等)。 Java I/O主要包括如下几个层次:1. File(文件特征与管理):用于文件或者目录的转载 2013-12-24 11:27:39 · 694 阅读 · 0 评论 -
JDBC Connection Statement ResultSet DatabaseMetaData
JDBC Connection Statement ResultSet DatabaseMetaData原创 2013-12-24 21:50:47 · 1648 阅读 · 0 评论 -
java Map根据value得到key值
java Map根据value得到key值原创 2014-01-08 10:19:22 · 12536 阅读 · 0 评论 -
比较简明的Java泛型教材
转自:http://blog.csdn.net/kissqw/article/details/6524774泛型是Java SE 5.0中引入的一项特征,自从这项语言特征出现多年来,我相信,几乎所有的Java程序员不仅听说过,而且使用过它。关于Java泛型的教程,免费的,不免费的,有很多。我遇到的最好的教材有:The Java TutorialJava Generics a转载 2013-10-10 09:17:11 · 800 阅读 · 0 评论