
JAVA
文章平均质量分 67
麦田
生命本来就是一束耀眼的花火...
展开
-
将byte数组转为Object
如果使用下面方法,将会报java.io.StreamCorruptedException: invalid stream header: 31323334异常public static Object toObject(byte[] bytes) { Object obj = null; try { ByteArrayInputStream bis = new ByteArrayInput...原创 2020-04-20 20:00:20 · 3842 阅读 · 0 评论 -
Java中的字节流和字符流区别
字节流1、字节流在操作的时候不会用到缓冲区(也就是内存)2、字节流可用于任何类型的对象,包括二进制对象3、字节流处理单元为1个字节,操作字节和字节数组。字符流1、而字符流在操作的时候会用到缓冲区2、而字符流只能处理字符或者字符串3、字符流处理的单元为2个字节的Unicode字符,操作字符、字符数组或字符串,在硬盘上的所有文件都是以字节形式存在的(图片,声音,视频),而字符值...原创 2020-04-08 19:54:07 · 834 阅读 · 0 评论 -
求数组中和为给定数的所有组合
import java.util.Arrays;public class Test { public static void main(String[] args) { String str = "6,2,7,3,8,1,9,4"; double sum = 12; diguiSum(str, sum); } public static void diguiSum(Stri...原创 2019-11-20 08:56:20 · 3159 阅读 · 0 评论 -
POI 多线程多sheet导出数据
import org.apache.commons.beanutils.PropertyUtilsBean;import org.apache.commons.lang.StringUtils;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Row;import org...原创 2019-10-30 17:42:18 · 3040 阅读 · 5 评论 -
SimpleDateFormat日期格式化
public class T { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDate原创 2013-10-10 17:56:22 · 1739 阅读 · 0 评论 -
java学习笔记05--字符串 .
一、String类由字符所组成的一串文字符号被称之为字符串。在java中字符串不仅仅是字符数组,而且是String类的一个实例,可以使用String类来构建。字符串的每个字符是使用Unicode字符来构建。Sring对象上的几个方法:length() 取得字符串的长度equals() 判断源字符串中的字符是否等于指定字符串中的字符 toLowerCas原创 2013-05-15 23:58:16 · 3035 阅读 · 0 评论 -
java学习笔记04--数组
数组复制的方法是使用System类提供的arraycopy()方法,其语法如下:System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);System.arraycopy(源数组,源数组中的起始位置,目标数组,目标数据中的起始位置,要复制的数组元素的数量);public class T原创 2013-05-15 00:04:20 · 3075 阅读 · 0 评论 -
java学习笔记03--判断与循环语句
程序的结构 一般来说程序的结构包含有下面三种: 1)顺序结构 2)选择结构 3)循环结构 在使用switch进行表达式判断的时候,在表达式中只能使用数字或字符。public class T { // 完成一个四则运算的功能 public static void main(String原创 2013-05-12 23:40:18 · 2717 阅读 · 0 评论 -
Java程序员面试中的多线程问题
很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。0.Java 中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。如果没有同步,当一个 Java 线程在修改一个共享变量时,另外转载 2013-05-09 10:40:09 · 2608 阅读 · 2 评论 -
java正则表达式验证标点符号
统计标点符号个数String str = "\"”.。,!,";int count = 0;Pattern pattern = Pattern.compile("\\pP");char c[] = str.toCharArray();for (int i = 0; i < c.length; i++) { Matcher matcher = pattern.matcher(Strin原创 2013-12-22 16:11:43 · 12390 阅读 · 0 评论 -
List remove操作注意问题
public static void main(String[] args) { // TODO Auto-generated method stub List list = new ArrayList(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); for(原创 2013-08-14 21:50:04 · 2316 阅读 · 0 评论 -
java学习笔记15--引用传递
范例一class Demo{ public int temp = 30;}public class T { public static void main(String[] args) { // TODO Auto-generated method stub Demo d1 = new Demo(); d1.temp = 50; System.out原创 2013-06-07 00:05:13 · 3000 阅读 · 3 评论 -
java学习笔记09--反射机制
什么是反射:反射是java语言的一个特性,它允许程序在运行时来进行自我检查并且对内部的成员进行操作。例如它允许一个java的类获取他所有的成员变量和方法并且显示出来。java的反射机制的实现要借助4个类:Class,Constructor,Field,Method 其中Class代表的是类对象,Constructor 类的构造器对象,Field 类的属性对象,Method 类的原创 2013-05-19 12:22:48 · 2823 阅读 · 1 评论 -
集合小结
ArrayList和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入数据,都允许直接按序号索引元素,但是插入数据要涉及到数组元素移动等内容操作,所以索引数据快插入数据慢。Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是翻译 2012-02-03 21:37:16 · 1760 阅读 · 1 评论 -
关于String类的理解
java中的数据类型有两种一种是基本类型(primitive types) 共有8种 即byte short int long float double char boolean(并没有String类型)看下面一段程序:int a = 413; int b = 413; System.out.println(a==b); //true Integer c = 10原创 2012-02-03 20:47:39 · 2809 阅读 · 0 评论 -
java正则表达式验证汉字
统计指定内容的汉字个数:String str = "北京欢迎你 hello welcome!";int count=0;Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]");char c[] = str.toCharArray();for(int i=0;i<c.length;i++){ Matcher matcher = patt原创 2013-12-21 20:31:24 · 4282 阅读 · 2 评论 -
EL表达式与三目运算符
在页面实现常量替换,比如 entity.auditi 的值如果为0显示不需要否则显示需要因为需求就这两个值 所以使用三目运算符比较简洁如果值为很多个 可使用if else进行判断${entity.auditis=='0'?'不需要':'需要'}或者<% String s = (String)request.getAttribute("entity原创 2013-09-24 18:02:02 · 9677 阅读 · 0 评论 -
java遍历Set集合
java遍历Set集合:迭代遍历,for循环遍历原创 2013-07-17 23:10:48 · 3171 阅读 · 0 评论 -
java学习笔记06--正则表达式
正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证、拆分、替换等操作。例如:现在要去判断一个字符串是否由数字组成,则可以有以下的两种做法不使用正则表达式public class T { public static void main(String[] args) { String str = "0123456789"; boolean flag = tru原创 2013-05-16 18:44:13 · 3079 阅读 · 0 评论 -
两种方式遍历HashMap
通过Map类的get(key)方法获取value时,会进行两次hashCode的计算,消耗CPU资源;而使用entrySet的方式,map对象会直接返回其保存key-value的原始数据结构对象,遍历过程无需进行错误代码中耗费时间的hashCode计算; 这在大数据量下,体现的尤为明显。package com.bb.eoa.extend.yssp.controller;import jav原创 2011-12-13 09:21:34 · 1819 阅读 · 0 评论 -
java正则表达式去除html标签
当我们用ckeditor或其他一些在线文本编辑器的时候 内容里会有很多的标签如下片段:<img alt="" src="/img/uploadImg/20131218/0fd741e1-cc75-459c-a8b5-bbaebcfcc637.jpg"style="height:494px; width:460px" />生命的旅途,一程有一程的风景,一程有一程的盛放。打开心灵的窗子,翻译 2013-12-23 17:57:09 · 12756 阅读 · 1 评论 -
java遍历Map时remove删除元素
public class T { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub List> list = new ArrayList>(); Map m1 = new HashMap(); m1.put("NAME", "原创 2013-10-12 17:49:38 · 15807 阅读 · 3 评论 -
java学习笔记16--异常
异常异常时导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失,所以在程序的设计中必须要考虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序正常的执行。 异常类的继承结构在整个java的异常结构中,实际上有以下两个最常用的类:Exception、Error,这两个类全都是Throwable的子类Exception:一般原创 2013-06-09 23:51:05 · 3511 阅读 · 1 评论 -
java学习笔记12--国际化
国际化的操作就是指一个程序可以同时适应多门语言,即:如果现在程序者是中国人,则会以中文为显示文字,如果现在程序的使用者是英国人,则会以英语为显示的文字,也就是说可以通过国际化操作,让一个程序适应各个国家的语言要求。程序根据不同的语言环境找到不同的资源文件,之后从资源文件中取出内容,资源文件中的内容都是以key->value的形式保存的,所以在读取的时候通过其key找到对应的value原创 2013-05-20 12:39:37 · 4137 阅读 · 1 评论 -
详细解析Java中抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之转载 2011-12-31 11:10:27 · 1601 阅读 · 0 评论 -
java的几种对象解释
一、PO:persistent object 持久对象,可以看成是与数据库中的表相映射的Java对象。最简单的PO就是对象数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何数据库的操作二、VO:value object 值对象。通常用于业务层之间的数据传递,和PO一样也时仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要。个人觉得同DTO翻译 2011-11-15 14:26:29 · 1562 阅读 · 0 评论 -
URLDecoder: Incomplete trailing escape (%) pattern
在使用URLDecoder对字符串进行解码的时候 报以下异常信息:Exception in thread "main" java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern原因是字符串中包含有%字符原创 2014-05-05 18:03:09 · 9335 阅读 · 1 评论 -
利用pdf2swf将PDF转换成SWF
将PDF转换成SWF可以使用SWFTools工具中的pdf2swf(http://www.swftools.org/),优快云快速免积分下载地址XXX一个简单的将PDF文档转成SWF的用法:C:\SWFTools\pdf2swf example.pdf -o example.swf -f -T 91、首先下载安装,一直默认下一步即可。2、java代码import java.io.Buffered原创 2014-04-29 20:33:16 · 18330 阅读 · 7 评论 -
java中除去字符串(String)中的换行字符(\r \n)
有时在文本框中输入内容特别是粘贴内容时会出现一些换行符(\r\n),如下,在做字数验证或保存到数据库中时应过滤掉。str.replaceAll("\r|\n","")原创 2013-12-20 20:20:47 · 29621 阅读 · 1 评论 -
java基础
1、下面语句将输出什么?public class T2 { long a[] = new long[10]; public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(a[5]); }}此段代码在编译的时候将会报错,因为静原创 2013-06-04 20:52:52 · 1826 阅读 · 0 评论 -
java学习笔记07--日期操作类
一、Date类在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可。public class T { public static void main(String[] args) { Date date = new Date(); System.out.println("当前日期:"+date); //当前日期:Thu May 1原创 2013-05-16 23:46:58 · 2652 阅读 · 0 评论 -
java学习笔记02--运算符、表达式 .
赋值运算符号一元运算符算术运算符关系运算符递增与递减运算符public class T { public static void main(String[] args) { int a = 3 , b = 3 ; // 定义两个变量a和b int x = 6, y = 6 ; // 定义两个变量x和y System.out.printl原创 2013-05-12 23:05:46 · 2744 阅读 · 1 评论 -
java学习笔记01--数据类型
java数据类型划分分为两大类型: 1)基本数据类型:类似于普通的值。 2)引用数据类型:传递的是内存的地址。浮点类型实际上就是表示小数。 java基本数据类型 数据的溢出当整数的数据大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整型变量所输出的值将发生絮乱,且不是预期的运行结果。原创 2013-05-12 22:44:47 · 3582 阅读 · 6 评论 -
java增强型for循环(三种遍历集合方式)
For-Each循环 For-Each循环也叫增强型的for循环,或者叫foreach循环。 For-Each循环是JDK5.0的新特性(其他新特性比如泛型、自动装箱等)。 For-Each循环的加入简化了集合的遍历。语法如下:for(type element: array){ System.out.println(element);原创 2013-04-13 15:17:16 · 16087 阅读 · 0 评论 -
java中如何定义一个二维数组
package com.itmyhome;public class T { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //较为普遍使用最多的方式 float f1[][] = new float[3原创 2012-02-17 15:03:48 · 3740 阅读 · 0 评论 -
java方法的重载(Overload)与重写(Override)
java 支持方法重载,这种机制为类似功能的方法提供了统一的名称,但可根据参数行的不同而自动调用对应的方法。一个例子可以从String 类上提供的一些方法看到,像String的valueOf()方法就提供了多个版本。static String valueOf(boolean b); static String valueOf(char c); static String val原创 2012-02-05 16:25:20 · 2247 阅读 · 0 评论 -
java中static关键字
在java中可以使用static声明属性和方法,声明static类型的属性或方法之后此属性或方法也称为类方法,可以由类名称直接调用。static表示全局或者静态的意思,用来修饰成员变量或成员方法,也可以形成静态static代码块。被static修饰的成员变量和成员方法独立于该类的任何对象,也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,java虚拟机就能根据类名在原创 2012-01-05 22:40:39 · 1626 阅读 · 0 评论 -
servlet生命周期
servlet有良好的生存期的定义:包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例翻译 2012-01-05 15:33:26 · 2437 阅读 · 0 评论 -
java动态代理
在目前的Java开发包中包含了对动态代理的支持,但是其实现只支持对接口的的实现。其实现主要通过是java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。Proxy类主要用来获取动态代理对象,InvocationHandler接口用来约束调用者实现业务接口package com.itmyhome.manager;原创 2012-01-02 15:05:12 · 1618 阅读 · 0 评论 -
java学习笔记11--Annotation
Annotation:在JDK1.5之后增加的一个新特性,这种特性被称为元数据特性,在JDK1.5之后称为注释,即:使用注释的方式加入一些程序的信息。java.lang.annotation Annotation接口是所有的Annotation都必须实现的接口。 系统内建的Annotation在JDK1.5之后,系统中已经建立了如下的三个内建的Annotation类型,用户直接使用原创 2013-05-19 22:36:51 · 2740 阅读 · 0 评论