javaSe
文章平均质量分 55
lijunlinlijunlin
这个作者很懒,什么都没留下…
展开
-
【Java重构系列】重构31式之封装集合
转载自:http://blog.csdn.net/lovelion/article/details/17970147 2009年,Sean Chambers在其博客中发表了31 Days of Refactoring: Useful refactoring techniques you have to know系列文章,每天发布一篇,介绍一种重构手段,连续发文31篇,故得名“重构三十一天:转载 2016-11-29 01:22:34 · 905 阅读 · 0 评论 -
Java对象的序列化和反序列化实践
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 把Java对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为Java对象的过程称为对象的反序列化。 对象的序列化主要有两种用途:转载 2013-07-31 23:58:07 · 453 阅读 · 0 评论 -
Java中布尔值和if-else的一些理解
/** * 布尔运算和if-else条件语句的一些理解 * @author Administrator * */public class BooleanTest { public static void main(String[] args){ boolean a = true; boolean b = false;原创 2013-10-24 10:34:29 · 5638 阅读 · 0 评论 -
java 访问修饰符
类、方法、成员变量和局部变量的可用修饰符修饰符类成员访求构造方法成员变量局部变量abstract(抽象的)√√---static (静态的)-√-√-转载 2013-10-24 11:18:15 · 620 阅读 · 0 评论 -
java网络编程
网络基本知识:在java中网络程序有两种协议:TCP和UDP,TCP通过握手协议进行可靠的连接,UDP则是不可靠连接。IP地址:用于标记一台计算机的身份证。IP地址由网络地址(确定网络)和主机地址(网络中的主机)组成。子网掩码:为了区分网络地址和主机地址。IP地址分为A类地址、B类地址、C类地址(常用)、D类地址、E类地址。127.0.0.1(localhost)是本机地址转载 2013-10-17 07:40:12 · 693 阅读 · 0 评论 -
Java IO流学习总结
Java流操作有关的类或接口:Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流 字符流和字转载 2013-09-26 18:49:12 · 528 阅读 · 0 评论 -
java获取当前类的绝对路径
另,Class类还有一个getResourceAsStream方法,记得以前有个项目要读取在同一个包内的一个xml,就用的这个。 1.如何获得当前文件路径常用:(1).Test.class.getResource("")得到的是当前类FileTest.class文件的URI目录。不包括自己!(2).Test.class.getResource("/")得到的是当前的cl转载 2013-09-25 01:00:02 · 844 阅读 · 0 评论 -
public static void main(String[] args)的理解
/*public static void main(String[] args)public:权限修饰符,权限最大。static:随着MianDemo类的加载而加载,消失而消失。void: 没有返回值main: 函数名,jvm识别的特殊函数名(String[] args):定义了一个字符串数组参数*/class MainDemo { public转载 2013-09-25 14:34:34 · 891 阅读 · 0 评论 -
Java四舍五入 (BigDecimal)
非原创相关api[html] view plaincopypublic BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode)返回一个 BigDecimal,其值为 (转载 2013-09-22 21:03:35 · 843 阅读 · 0 评论 -
Java中BigDecimal解析
java.math类 BigDecimaljava.lang.Object 继承者java.lang.Number 继承者 java.math.BigDecimal所有已实现的接口:Serializable, Comparablepublic classBigDecimal extends Number imple转载 2013-09-22 18:08:45 · 795 阅读 · 0 评论 -
关于java解压缩文件(rar或者zip)的实现示例
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Enumeration;import org.apache.tools.zip.转载 2014-07-22 01:27:17 · 624 阅读 · 0 评论 -
java实现文件转换成二进制存储与取出
一、功能描述:将文件转成二进制数据放入数据库中,需要的时候,便可以取出安装与使用。二、数据库:建立一个数据库字段存放转成二进制的图片,这个字段有一个要求就是要设置成blob类型的[sql] view plaincopyCREATE TABLE `save_image` ( `id` int(50) NOT NULL AUTO_INCREMENT转载 2014-07-22 01:41:20 · 1685 阅读 · 0 评论 -
用java压缩文件夹/文件
import java.io.File;import org.apache.tools.zip.ZipOutputStream; //这个包在ant.jar里,要到官方网下载import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.zip.ZipInputStream;impo转载 2014-07-22 01:31:21 · 379 阅读 · 0 评论 -
Java解析HTML之HTMLParser使用与详解
HTMLParser具有小巧,快速的优点,缺点是相关文档比较少(英文的也少),很多功能需要自己摸索。对于初学者还是要费一些功夫的,而一旦上手以后,会发现HTMLParser的结构设计很巧妙,非常实用,基本你的各种需求都可以满足。 这里我根据自己这几个月来的经验,写了一点入门的东西,希望能对新学习HTMLParser的朋友们有所帮助。(不过当年高考本人语文只比及格高一分,所以文法方面的问题转载 2015-11-15 02:33:57 · 634 阅读 · 0 评论 -
Jsoup解析HTML实例及文档方法详解
这篇文章主要介绍了Jsoup如何解析一个HTML文档、从文件加载文档、从URL加载Document等方法,对Jsoup常用方法做了详细讲解,最近提供了一个示例供大家参考使用DOM方法来遍历一个文档从元素抽取属性,文本和HTML获取所有链接解析和遍历一个HTML文档如何解析一个HTML文档:复制代码 代码如下:String html = "First parse" +转载 2015-11-15 02:31:48 · 352 阅读 · 0 评论 -
Java中的substring真的会引起内存泄露么?
在Java中开发,String是我们开发程序可以说必须要使用的类型,String有一个substring方法用来截取字符串,我们想必也常常使用。但是你知道么,关于Java 6中的substring是否会引起内存泄露,在国外的论坛和社区有着一些讨论,以至于Java官方已经将其标记成bug,并且为此Java 7 还重新进行了实现。读到这里可能你的问题就来了,substring怎么会引起内存泄露呢?那么转载 2015-09-27 15:51:46 · 313 阅读 · 0 评论 -
Java中有关Null的9件事
对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为什么要保留null呢?null出现有一段时间了,并且我认为Java发明者知道null与它解决的问题相比带来了更多的麻烦,但是null仍然陪伴着Java。我越发感到惊奇,因为java的设计原理是为了简化事情,那就是为什么没有浪费时间在指针、操作符重载、多转载 2015-09-26 19:34:41 · 277 阅读 · 0 评论 -
java内存分配和String类型的深度解析
一、引题在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深度分析关于String的许多令人迷惑的问题。下面是本文将要涉及到的一些问题,如果读者对这些问题都了如指掌,则可忽略此文。1、java内存具体指哪块内存?这块内存区域为什么要进行划分?是如何划分的?划分之后每块区域的作用是什么?如何设置各个区域的大转载 2015-09-26 19:31:33 · 346 阅读 · 0 评论 -
Java中有关Null的9件事
本文由 ImportNew - Calarence 翻译自 javarevisited。欢迎加入翻译小组。转载请见文末要求。对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为什么要保留null呢?null出现有一段时间了,并且我认为Java发明者知道null与它解决的问题相比带来了转载 2015-04-01 01:25:16 · 346 阅读 · 0 评论 -
java实现文件转换成二进制存储与取出
一、功能描述:将文件转成二进制数据放入数据库中,需要的时候,便可以取出安装与使用。二、数据库:建立一个数据库字段存放转成二进制的图片,这个字段有一个要求就是要设置成blob类型的[sql] view plaincopyCREATE TABLE `save_image` ( `id` int(50) NOT NULL AUTO_INCREMENT转载 2014-07-22 01:42:19 · 546 阅读 · 0 评论 -
java压缩和解压缩Zip、Jar、Gzip文件
我们经常会使用WinZIP等压缩软件将文件进行压缩以方便传输。在java里面也提供了将文件进行压缩以减少传输时的数据量的类,可以很方便的将文件压缩成ZIP、JAR、GZIP等形式,GZIP主要是在Linux系统下的压缩文件。下面主要讲的就是ZIP形式的压缩文件,而JAR、GZIP形式的压缩文件也是类似的用法。ZIP是一种很常见的压缩形式,在java中要实现ZIP的压缩主要用到的是java.转载 2014-07-22 01:35:33 · 444 阅读 · 0 评论 -
用java压缩文件夹/文件
import java.io.File;import org.apache.tools.zip.ZipOutputStream; //这个包在ant.jar里,要到官方网下载import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.zip.ZipInputStream;impo转载 2014-07-22 01:30:18 · 452 阅读 · 0 评论 -
BigDecimal.ROUND_HALF_UP和BigDecimal.ROUND_HALF_DOWN的区别
BigDecimal.ROUND_HALF_UP在java jdk的解释为:向“ 最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。如果舍弃部分 >= 0.5,则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同。注意,这是我们大多数人在小学时就学过的舍入模式。BigDecimal.ROUND_HALF_DOWN在java jdk原创 2013-10-01 12:08:43 · 6674 阅读 · 0 评论 -
堆和栈
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(stat转载 2013-03-18 12:23:55 · 483 阅读 · 0 评论 -
Java的finally理解
1.为什么要用finally先看一个没有finally的异常处理try-catch语句:假设count为要使用到的资源,并且用完要求释放此资源。那么我们可以把释放资源的语句放到try-catch后执行,当前的程序不管是在执行完try语句块还是catch语句块,都会顺序执行到下面释放资源的语句。int count = 0; //初始化资源try{ count++; if转载 2013-04-15 13:32:17 · 533 阅读 · 0 评论 -
Java的内存泄漏
Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与C++不同。随着越来越多的服务器程序采用Java技术,例如JSP,S转载 2013-04-21 21:05:12 · 513 阅读 · 0 评论 -
对于public static void main(String args[])你知几何?
Java中main()方法以及命令行参数的若干注意 main方法的完整定义语法:public static void main(String[] args){}命令行格式:java [命令参数] 文件名 [args[0](用户参数) args[1] ... 比如 java - cs AClass a b c1. 关于main()方法中的修饰符public jav转载 2013-04-11 20:52:56 · 1062 阅读 · 0 评论 -
String str=new String("abc"); 创建了几个对象
我们首先来看一段代码: Java代码 String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识。 我们可以把上面这行代码分成String str转载 2013-04-11 02:40:23 · 965 阅读 · 0 评论 -
详解Java解析XML的四种方法
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definit转载 2013-04-07 17:36:52 · 410 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常转载 2013-03-20 02:51:21 · 483 阅读 · 0 评论 -
Java中的值传递和引用传递
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。Java参数,不管是原始类转载 2013-03-20 02:35:04 · 495 阅读 · 0 评论 -
Java中读写锁的实现及使用读写锁简单实现缓存系统的实例
读写锁是线程读写同一文件所需要用到的,读写锁是什么东西在这里不做过多的解释,可以自己去百度或谷歌去搜一下。谨在此附上我自己写的缓存系统的简单实现,你从中也能悟出缓存实现的基本思想缓存里面有数据就从缓存中取,没有就给你从其他地方得到。[java] package cn.com.scl.cache import java.util.HashMap; import转载 2013-03-18 12:36:35 · 700 阅读 · 0 评论 -
java中的读写锁
在java多线程中,为了提高效率有些共享资源允许同时进行多个读的操作,但只允许一个写的操作,比如一个文件,只要其内容不变可以让多个线程同时读,不必做排他的锁定,排他的锁定只有在写的时候需要,以保证别的线程不会看到数据不完整的文件。 下面是个关于多线程读写锁的例子,我稍微做了下修改,蛮容易理解的,来至于http://www.highya.com/redirect.php?fid=113&tid转载 2013-03-18 12:35:23 · 676 阅读 · 0 评论 -
java 基本数据类型之间的转换
①强制类型转换. 新类型 变量名=(新类型)原变量; 将int类型转换不double类型是看自动进行的,而double转换不int需要强制类型转换.例: double x=0.999; int n=(int)x; //强制类型转换是通过截断小数部分转换不整型的 ②字符串转换为其它类型 xxx n=Xxxxx.parseXxx(原转载 2013-04-15 23:54:51 · 709 阅读 · 0 评论 -
重写equal 的同时为什么必须重写hashcode
重写equal 的同时为什么必须重写hashcode?hashCode是编译器为不同对象产生的不同整数,根据equal方法的定义:如果两个对象是相等(equal)的,那么两个对象调用hashCode必须产生相同的整数结果,即:equal为true,hashCode必须为true,equal为false,hashCode也必须为false,所以必须重写hashCode来保证与equal同步。转载 2013-04-25 14:13:38 · 556 阅读 · 0 评论 -
Java的HashCode,Equal和==
我们都知道Java语言是完全面向对象的,在java中,所有的对象都是继承于Object类。Ojbect类中有两个方法equals、hashCode,这两个方法都是用来比较两个对象是否相等的。java中比较两个对象不是用“==”吗?对于String a=”hello”;String b=”hello”,比较两个字符串是否相等,我们都知道必须用equals方法,而不是用==。 因为a,b是内存中两转载 2013-04-25 14:14:20 · 579 阅读 · 0 评论 -
Java乱码解析
一、字符集和编码n 字符集:字符的集合。常用的字符集有英文字符集、英文+中文简体字符集、英文+中文繁体字符集等。 n 编码方案:字符在计算机中的字节表示。每一种编码方案包含一种特定的字符集,字符集中的每一个字符,对应不同的字节表示。常用的编码方案有ISO-8859-1,GB2312,GBK,Big5,UTF-8,UTF-16(Unicode)。编码转载 2013-05-06 16:05:33 · 867 阅读 · 0 评论 -
java中int和Integer什么区别
int 是基本类型,直接存数值 integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者>>integer 是后者(也就是一个类) Integer 是对象类型 int是原始类型 适用场合有很大的不同 之所以要把int封装成Integer 型 是因为很多方法参数就只接收对象类型(Object) 还比如 范型转载 2013-05-19 10:11:05 · 563 阅读 · 0 评论 -
浅析Java抽象类和接口的比较
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者之间还是转载 2013-04-05 00:44:07 · 414 阅读 · 0 评论 -
关于java中Double类型的运算精度问题
如果我们编译运行下面这个程序会看到什么?public class Test{ public static void main(String args[]){ System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*1转载 2013-04-21 17:42:08 · 679 阅读 · 0 评论