java
乐由心起
这个作者很懒,什么都没留下…
展开
-
java Pattern和Matcher详解
结论:Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. 单独用Pattern只能使用Pattern.matcher(String regex,CharSequence input)一种最基础最简单的匹配。java正则表达式通过java.util.regex包下的Pattern类与Matcher类实现(建议在阅转载 2015-10-15 11:09:47 · 634 阅读 · 0 评论 -
java多线程之 Executors线程池管理
1. 类 Executors此类中提供的一些方法有:1.1 public static ExecutorService newCachedThreadPool()创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。对于执行很多短期异步任务的程序而言,这些线程池通常可提高程序性能。 1.2 public static ExecutorService new原创 2014-02-26 17:03:08 · 780 阅读 · 0 评论 -
Java多线程之 ThreadLocal
一、什么是ThreadLocal?顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。通过ThreadLocal存取的数据,总是与当前线程相关,也就是说,JVM 为每个运行的线程,绑定了私有的本地实原创 2014-02-26 17:03:02 · 781 阅读 · 0 评论 -
通过JSONArray让json和javabean互相转换
package com.cjonline.foundation.util;import java.lang.reflect.Array;import java.util.Date;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import net.sf.json.JsonConfig;import net.sf.jso原创 2014-02-26 17:01:15 · 1029 阅读 · 0 评论 -
java数据类型
System.out.println(Character.SIZE); //16个字节 System.out.println(Integer.SIZE); //32个字节 System.out.println(Float.SIZE); //32个字节 System.out.println(Double.SIZE); //64个字节 System.out.println(原创 2014-02-26 17:02:21 · 553 阅读 · 0 评论 -
JavaIO之RandomAccessFile随机访问文件
package test.java.io;import java.io.RandomAccessFile;public class RandomAccFile { public static void main(String[] args) throws Exception { Employee emp1=new Employee("zhan原创 2014-02-26 17:03:00 · 572 阅读 · 0 评论 -
gson在java和json串之间的应用
public class JsonToJavaUtil { /** * 将json转成成javaBean对象 * * @param * 返回类型 * @param json * 字符串 * @param clazz * 需要转换成的类 * @return */ public static List js原创 2014-02-26 17:01:57 · 666 阅读 · 0 评论 -
用java语言编写的简单二叉树
package com.cjonline.foundation.evisa;public class TestTree { private int data=-1; private TestTree lchild=null; private TestTree rchild=null; private int pos=-1; //记录当前已经原创 2014-02-26 17:05:03 · 750 阅读 · 0 评论 -
多线程断点续传
http://wuhongyu.iteye.com/blog/869109 功能很简单,就是启动多个线程分别从给定的地址下载数据,用RandomAccessFile写到目标文件。实现思路是: 1、获得连接的长度(即要下载的文件大小),除以设定的线程数,即得到每个线程要下载的大小。 2、记录临时文件,文件中记录每个线程的编号(id),该线程要下载的起始位置、终止位置和当原创 2014-02-26 17:03:58 · 630 阅读 · 0 评论 -
类的加载顺序,父类和子类初始化的顺序和重写所遇到的上塑造型
类的加载顺序 什么时候类加载 第一次需要使用类信息时加载。 类加载的原则:延迟加载,能不加载就不加载。 触发类加载的几种情况: (1)、调用静态成员时,会加载静态成员真正所在的类及其父类。 通过子类调用父类的静态成员时,只会加载父类而不会加载子类。 (2)、第一次 new 对象的时候 加载(第二次再 new 同一个类时,不需再加载)。 (3)、加载子类会先加载父类。原创 2014-02-26 17:02:02 · 1262 阅读 · 0 评论 -
java多线程之Lock线程同步
1、线程同步:package cn.itcast.heima2;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class LockTest { /** * @param args */原创 2014-02-26 17:03:13 · 688 阅读 · 0 评论 -
根据GB2312编码表求汉字字节
java中有8种基本数据类型,byte,short,int,long,float,double,boolean byte用1个字节表示,占8比特,取值范围 负2的7次方至正2的7次方减1 二进制00000000 第一位0如果为0表示正数 1表示负数 short用2个字节表示,占16比特,取值范围 负2的15次方至正2的15次方减1 二进制00000000 00000000 第一位0如果为0原创 2014-02-26 17:05:05 · 1155 阅读 · 0 评论 -
java多线程之synchronized(线程同步)
一、线程同步,主要应用synchronized关键字:public class TraditionalThreadSynchorinzed { public static void main(String[] args) { new TraditionalThreadSynchorinzed().init(); } priva原创 2014-02-26 17:03:06 · 747 阅读 · 0 评论 -
JAVA中堆和栈的区别
先了解具体的概念:JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)。2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身。栈区:1.每个线程包含一个栈区,栈中只保存基础数据类型的原创 2014-02-26 17:09:20 · 753 阅读 · 0 评论 -
3个著名加密算法(MD5、RSA、DES)的解析
MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。 MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是转载 2015-09-06 13:11:09 · 791 阅读 · 0 评论 -
java观察者模式
转自http://www.cnblogs.com/mengdd/archive/2013/02/07/2908929.html观察者模式 Observer 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。 观察者模式的组成 抽象主题原创 2015-07-09 16:22:27 · 694 阅读 · 0 评论 -
eclipse 自动 getter setter 注释
http://blog.csdn.net/luotangsha/article/details/7016613http://www.cnblogs.com/freeliver54/archive/2011/12/30/2307129.html没修改代码前,在Generate Getters and Setters 对话框勾上 Generate method comments,得到的结果:原创 2014-02-26 17:01:05 · 1830 阅读 · 0 评论 -
Eclipse中如何修改SVN的地址
在SVN服务端的IP更改后,客户端SVN的连接地址可以在Eclipse中进行修改,方法如下:首先:在Eclipse中选择Windows-> Show View->others 就会出现【SVN资源库/SVN Repositories】,选中后,点击确认;然后:选中原有的地址,选择【重新定位/Relocate】最后:在弹出的窗口中显示出Eclipse中原有的工程,选中一个项目,再点击“N原创 2014-02-26 17:07:59 · 809 阅读 · 0 评论 -
设置eclipse自动提示功能
如何让你的eclipse的像vs2008一样具有强大的代码提示功能 1.修改原来的preference。window -> preference -> java ->editor -> Content Assist,按照如下的方式修改。(这里修改成了.abc,其实可以改成任何一种容易识别的字符串就行)2.导出原来eclipse的preferences。File->E原创 2014-02-26 17:01:03 · 652 阅读 · 0 评论 -
effective java
1、复合优先于继承 1.1 继承是实现代码重用的有力手段,但不总是完成这项工作的最佳工具。包的内部继承加上文档说明在一个程序员的控制下是非常安全的但是越包边界的继承,则是很危险的。造成子类脆弱性的原因是,父类在后续版本获得新的方法,子类很有可能调用旧的方法。 1.2 为了解决上面的问题,可以考虑采用“复合”的方式,在一个新类中增加一个私有对象,通过构造函数传入,为了更加灵活,可以让原创 2014-02-26 17:05:07 · 585 阅读 · 0 评论 -
Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 ——原创 2014-02-26 17:03:11 · 609 阅读 · 0 评论 -
Java实现FTP上传下载功能
http://lavasoft.blog.51cto.com/62575/93883/ Java FTP客户端工具包很多,在此我选用的Apache的FTPClient。这个包的获取可以通过[url]http://commons.apache.org/net/[/url]来获取,我使用的是最新的commons-net-1.4.1.zip。其中包含了众多的java网络编程的工具包,官方文档列举原创 2014-02-26 17:06:01 · 879 阅读 · 0 评论 -
将java对象转换成json字符串
package com.cjonline.foundation.util;import java.lang.reflect.Field;import java.math.BigDecimal;import java.text.SimpleDateFormat;import java.util.Collection;import java.util.Date; public class原创 2014-02-26 16:59:45 · 845 阅读 · 0 评论 -
java的Collections对list排序
用Collections.sort方法对list排序有两种方法第一种是list中的对象实现Comparable接口: User us = new User(); us.setRealName("a"); us.setState(2); User us1 = new User(); us1.setRealName("b"); us1.setState(1); List lists =原创 2014-02-26 16:59:43 · 600 阅读 · 0 评论 -
java递归菜单树转换成json字符串
package com.cjonline.foundation.member.util;import java.util.ArrayList;import java.util.List;public class Tree { private static List dataSource=new ArrayList(); static{ Person p1 = ne原创 2014-02-26 16:59:11 · 3092 阅读 · 0 评论 -
将数据库树结构生成json串
private static void findAllModels(StringBuffer sb, String systemName, SysModel model) { sb.append("{\"id\":\""); sb.append(model.getId()); sb.append("\""); sb.append(",\"displayName\":\""); sb.原创 2014-02-26 16:58:07 · 1662 阅读 · 0 评论 -
float 和 double 运算不准确的思考
引用: http://blog.163.com/chenxiangtao@126/blog/static/77707468201121210215193/原创 2014-02-26 16:57:44 · 779 阅读 · 0 评论 -
java基础知识一览
<!--.content {background-color: #8BF;margin: 5px;padding: 10px;color: black;font-size: 16px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;原创 2014-02-26 17:08:32 · 875 阅读 · 0 评论 -
java操作文件常用的 IO流对象
1、描述:流是字节数据或字符数据序列。Java采用输入流对象和输出流对象来支持程序对数据的输入和输出。输入流对象提供了数据从源点流向程序的管道,程序可以从输入流对象读取数据;输出流对象提供了数据从程序流向终点的管道,程序通过该管道把数据写到终点。所有的关于输入/输出的类都包含在java.io的包中。 2、File类:它主要关心的是文件的具体属性,而非内容,定义了许多方法,实现对文件的创建、原创 2014-02-26 17:07:01 · 1267 阅读 · 0 评论 -
java GZIP 压缩数据
package com.cjonline.foundation.cpe.action;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOu原创 2014-02-26 17:06:16 · 668 阅读 · 0 评论 -
FileUpload框架实现文件上传(多个文件)和下载
一、文件上传: 对于大文件执行下面的代码之间卡死package com.example.web.service.servlet;import java.io.File;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import j原创 2014-02-26 17:06:39 · 1087 阅读 · 0 评论 -
多线程下载
文件下载原里: 使用http协议实现多线程下载b.采用多线程下载,可以抢占服务器cpu的处理时间,实现快速下载c.使用多线程下载文件可以更快完成文件的下载,多线程下载文件之所以快,是因为其抢占的服务器资 源多。如:假设服务器同时最多服务100个用户,在服务器中一条线程对应一个用户,100条线程在计 算机中并非并发执行,而是由CPU划分时间片轮流执行,如果A应用使用了99条线程下载文件原创 2014-02-26 17:07:12 · 807 阅读 · 0 评论 -
Java 的 FileFilter文件过滤,readline读行操作
package com.cjonline.foundation.evisa;import java.io.BufferedReader;import java.io.File;import java.io.FileFilter;import java.io.FileInputStream;import java.io.IOException;import java.io原创 2014-02-26 17:04:51 · 639 阅读 · 0 评论 -
java递归菜单树转换成pojo对象
package com.cjonline.foundation.authority.pojo;import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;import org.apache.log4j.Logger;原创 2014-02-26 17:04:16 · 732 阅读 · 0 评论 -
java常见验证邮箱、电话号码、日期等格式
package besttone.utils;import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 90%的验证都调用了Regular方法 但是本类也可删除大部分方法 涉及到正则的判断都直接穿参数和正则表达式 * 但是为了方便业务类调用和有更直观的含义 建议不要这么做 * P原创 2014-02-26 17:04:09 · 1722 阅读 · 0 评论 -
设置JAVA注释模板
找到注释模板所在的地方: window à Preference à Java à Code Style à Code Template 然后展开 Comments 节点就是所需要设置注释的元素了: 文件(Files)注释标签:/** * @Project: ${project_name}* @Title: ${file_name}* @Package ${package_原创 2014-02-26 16:59:37 · 601 阅读 · 0 评论 -
java在后台输出js弹出对话框
http://blog.163.com/yurong_1987@126/blog/static/4751786320092711596354/实现方法分为两种:一、直接在后台打印js对话框,原理如下: response.setContentType("text/html; charset=UTF-8"); //转码 PrintWriter out = response.ge原创 2014-02-26 16:59:15 · 5233 阅读 · 2 评论 -
java中JVM的原理
一、java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包换main()原创 2014-02-26 17:09:26 · 1270 阅读 · 0 评论 -
java基础知识一览(二)
一、java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同。 2.classpath变量可以设置其它目录下的类。 例如:类文件所在目录是:F:\Javajdk,那么没有设置classpath变量时,在F:\下是访问不到类文件的。可以通过以下方式设置classpath变量,就可以访问不同目录的文件(注意classpath变量中等号的左边和右原创 2014-02-26 17:08:42 · 1071 阅读 · 0 评论 -
Cookie的存取
package com.util;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.util.concurrent.CountDownLatch;import javax.servlet.http.Co原创 2014-02-26 17:08:40 · 765 阅读 · 0 评论