system_esc

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  java

摘要:ArrayList、LinkedList、HashMap是Java中常用到的几种集合类型,遍历它们是时常遇到的情况。当然还有一些变态的时候,那就是在遍历的过程中动态增加或者删除其中的元素。 下面的例子就是可以实现动态遍历ArrayList、LinkedList、HashMap。 1 import java.util.ArrayList; 2 import java.util.HashMap; 3 import java.util.Iterator; 4 import java.util.LinkedList; 5 import java.util.ListIterator; 6 ... 阅读全文
posted @ 2014-02-24 17:33 system_esc 阅读(466) 评论(0) 推荐(0)

摘要:一,FileWritter写入文件FileWritter, 字符流写入字符到文件。默认情况下,它会使用新的内容取代所有现有的内容,然而,当指定一个true (布尔)值作为FileWritter构造函数的第二个参数,它会保留现有的内容,并追加新内容在文件的末尾。1. 替换所有现有的内容与新的内容。new FileWriter(file);2. 保留现有的内容和附加在该文件的末尾的新内容。代码如下复制代码new FileWriter(file,true);追加文件示例 一个文本文件,命名为“javaio-appendfile.txt”,并包含以下内容。ABC Hello追加新内容 new File 阅读全文
posted @ 2014-02-20 15:38 system_esc 阅读(806) 评论(0) 推荐(0)

摘要:java.versionJava 运行时环境版本java.vendorJava 运行时环境供应商java.vendor.urlJava 供应商的 URLjava.homeJava 安装目录java.vm.specification.versionJava 虚拟机规范版本java.vm.specification.vendorJava 虚拟机规范供应商java.vm.specification.nameJava 虚拟机规范名称java.vm.versionJava 虚拟机实现版本java.vm.vendorJava 虚拟机实现供应商java.vm.nameJava 虚拟机实现名称java.spe 阅读全文
posted @ 2014-02-20 15:07 system_esc 阅读(220) 评论(0) 推荐(0)

摘要:Java API中java.io.Serializable接口源码:1 public interface Serializable {2 } 类通过实现java.io.Serializable接口可以启用其序列化功能。未实现次接口的类无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。 Java的"对象序列化"能让你将一个实现了Serializable接口的对象转换成byte流,这样日后要用这个对象时候,你就能把这些byte数据恢复出来,并据此重新构建那个对象了。 要想序列化对象,你必须先创建一个O 阅读全文
posted @ 2014-02-18 16:02 system_esc 阅读(410) 评论(0) 推荐(0)

摘要:写了很多篇关于图像处理的文章,没有一篇介绍Java 2D的图像处理API,文章讨论和提及的API都是基于JDK6的,首先来看Java中如何组织一个图像对象BufferedImage的,如图:一个BufferedImage的像素数据储存在Raster中,ColorModel里面储存颜色空间,类型等信息,当前Java只支持一下三种图像格式- JPG,PNG,GIF,如何向让Java支持其它格式,首先要 完成Java中的图像读写接口,然后打成jar,加上启动参数- Xbootclasspath/pnewimageformatIO.jar即可。Java中如何读写一个图像文件,使用ImageIO对象即可 阅读全文
posted @ 2014-01-23 16:38 system_esc 阅读(483) 评论(0) 推荐(0)

摘要:示例代码: package com.arraytest;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.junit.Test;public class Test01 {@Testpublic void test01() {List lstint = new ArrayList();lstint.add(1);lstint.add(2);lstint.add(3);// Iterator遍历一Iterator iterator = lstint.iterator();whi 阅读全文
posted @ 2014-01-23 16:33 system_esc 阅读(427) 评论(0) 推荐(0)

摘要:由于JAVA语言安全性高、代码优化、跨平台等特性,从1995年5月由SUN公司发布后,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位。 不过,JAVA最突出的跨平台优势使得它不能被编译成本地代码,而要以中间代码的形式运行在虚拟机环境中,这使得JAVA的反编译要比别的高级语言容易实现,并且反编译的代码经过优化后几乎可以与源代码相媲美。 为了更好地保护知识产权,避免本公司的智力成果轻易被人窃取,开发者有必要对反编译工具深入了解,以便有针对性地采取保护措施。 目前,比较流行的JAVA反编译工具有近30种,其中有三款堪称精品: 一、 应用广泛的JAD... 阅读全文
posted @ 2014-01-17 16:50 system_esc 阅读(279) 评论(0) 推荐(0)

摘要:asm-3.3.jar作用:操作java字节码的类库包路径及主要类:未提供asm-commons-3.3.jar作用:提供了基于事件的表现形式包路径及主要类:未提供asm-tree-3.3.jar作用:提供了基于对象的表现形式包路径及主要类:未提供commons-fileupload-1.3.jar 作用:Struts文件的上传下载包路径及主要类:org.apacher.commons.fileupload/ org.apacher.commons.fileupload.utilcommons-io-2.2.jar作用:可以看成是 java.io 的扩展包路径及主要类:未提供commons-l 阅读全文
posted @ 2014-01-16 11:35 system_esc 阅读(226) 评论(0) 推荐(0)

摘要:1. HashMap概述:HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。2. HashMap的数据结构:在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。 从上图中可以看出,HashMap底层就是一个数组结构,数组中的每一项又是一个链表。当新建一个HashMap的时候,就会初始化一个数组。 源码如下: 阅读全文
posted @ 2014-01-14 16:58 system_esc 阅读(171) 评论(0) 推荐(0)

摘要:1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)2. java.lang.classnot 阅读全文
posted @ 2014-01-14 16:49 system_esc 阅读(159) 评论(0) 推荐(0)

摘要:Set,List,Map,Vector,ArrayList的区别JAVA的容器---List,Map,Set Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collec.. 阅读全文
posted @ 2014-01-14 11:27 system_esc 阅读(273) 评论(0) 推荐(0)

摘要:最近在和一个第三方的合作中不得已需要使用FTP文件接口。由于FTP Server由对方提供,而且双方背后各自的网络环境都很不单纯等等原因,造成测试环境无法模拟实际情况。测试环境中程序一切正常,但是在部署到生产环境之后发现FTP操作不规律性出现“卡死”现象:程序捕获不到任何异常一直卡着,导致轮巡无法正常工作(由于担心在轮巡时间间隔内处理不能完成,我没有采用类似quartz或者crontab的定时任务,而是采用while-true然后sleep的方式)。 为了解决这个问题,我首先考虑的是对于FTPClient的使用上没有设置超时时间,于是设置了ConnectTimeout、DataTimeo... 阅读全文
posted @ 2014-01-13 16:43 system_esc 阅读(1943) 评论(0) 推荐(0)

摘要:一、ArrayList概述 ArrayList是实现List接口的动态数组,所谓动态就是它的大小是可变的。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。默认初始容量为10。随着ArrayList中元素的增加,它的容量也会不断的自动增长。在每次添加新的元素时,ArrayList都会检查是否需要进行扩容操作,扩容操作带来数据向新数组的重新拷贝,所以如果我们知道具体业务数据量,在构造ArrayList时可以给ArrayLi 阅读全文
posted @ 2014-01-13 16:20 system_esc 阅读(190) 评论(0) 推荐(0)

摘要:本篇数据分页的实现,采用Oracle 数据库,获取SCOTT 用户 EMP 表中的数据,分页将其显示出来。1.首先创建一个对象 UserData,用以保存从数据库中获取的数据。package com.tool;import java.math.BigDecimal;import java.util.Date;/** * Created by lx_sunwei on 14-1-6. */public class UserData { /** * EMP表中的数据属性 */ private String ename; private String job; ... 阅读全文
posted @ 2014-01-13 15:43 system_esc 阅读(610) 评论(0) 推荐(0)

摘要:public static void main(String args[]) { Map map = new HashMap(); map.put("a", "A"); map.put("b", "B"); map.put("c", "C"); // keySet遍历 Iterator iterator = map.keySet().iterator(); while (iterator.hasNext()) { String key = iterator.next(); S 阅读全文
posted @ 2014-01-13 15:41 system_esc 阅读(194) 评论(0) 推荐(0)

摘要:获取:获取字符串的长度(注意是方法,不是跟数组的属性一样的) int length();1 public static void getLength(){2 String s = "java01";3 int len = s.length();4 System.out.println(len);5 }根据位置,获取该位置的那一个字符(只能是单个字符) char charAt(int index);1 //根据指定位置获取对应的那个字符,只能是一个字符不能是字符串2 public static void getChar(){3 String s1 = "java.. 阅读全文
posted @ 2014-01-13 15:40 system_esc 阅读(257) 评论(0) 推荐(0)

摘要:将一个字符串进行反转或者字符串中指定部分进行反转思路: 将字符串变成数组,对数组反转 将反转后的数组变成字符串 只要将反转的部分的开始和结束的位置作为参数传递即可 1 class reverse_String{ 2 public static void main (String[] args){ 3 String s1 = " java php .net "; 4 String s2 = reverseString(s1); 5 System.out.println(s2); 6 } 7 public... 阅读全文
posted @ 2014-01-13 15:38 system_esc 阅读(228) 评论(0) 推荐(0)

摘要:比如:javascriptjavasejavaeejavame思路:定义一个计数器 获取java第一次出现的位置 从第一次出现位置后剩余的字符 串中继续获取java出现的位置每获取一次就计数一次 当获取不到时,计数完成class StringCount{ public static void main(String[] args){ String s = "javascriptjavasejavaeejavame"; int count = getSubString(s,"java"); System.out.println(count); ... 阅读全文
posted @ 2014-01-13 15:36 system_esc 阅读(274) 评论(0) 推荐(0)

摘要:该类中的方法都是静态的。不能被实例化,没有对外提供构造函数常用的方法: long currentTimeMillis(); 获取当前时间的毫秒值void exit();终止当前正在运行的 Java 虚拟机。1 public static void Method(){2 long l = System.currentTimeMillis();3 System.out.println(l);4 5 System.exit();6 }描述系统属性信息:Properties System.getProperties();该方法获取的信息存储在Properties集合中因... 阅读全文
posted @ 2014-01-13 15:35 system_esc 阅读(253) 评论(0) 推荐(0)

摘要:集合的特点:用于存储对象的容器(存储对象的引用),集合的长度是可变的,集合中不可以存储基本数据类型值1 /*2 person p = new person();3 ArrayList a = new ArrayList();4 al.add(p);//不表示将p这个对象放进了al这个容器里了 表示了将p这个对象的地址放进al容器里使al容器指向对象p5 容器中不可能存放的是对象的实体,只能存放对象的地址6 */集合与数组的区别: 集合中可以存储任意的对象,且长度是可变的 数组中只能存储同一类型的数据,且长度是不可变的。Collection的常用共性方法:添加元素 b... 阅读全文
posted @ 2014-01-13 15:31 system_esc 阅读(250) 评论(0) 推荐(0)