Java
文章平均质量分 62
大脸萌嘟嘟
无与科比
展开
-
关于 private static final long serialVersionUID = 1L
实现java.io.Serializable这个接口是为序列化,serialVersionUID 用来表明实现序列化类的不同版本间的兼容性。如果你修改了此类, 要修改此值。否则以前用老版本的类序列化的类恢复时会出错。 实现后如果你用的是工具的话会出来警告,他会提示你,可以自动生成private static final long serialVersionUID = 1L;转载 2015-04-10 10:11:53 · 10998 阅读 · 0 评论 -
LinkedList源码注释
package java.util;public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, java.io.Serializable{ //deque 即双端队列。是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端转载 2016-07-19 11:16:43 · 563 阅读 · 0 评论 -
Java调用Shell脚本
/** * 执行脚本 * * @param shellString 需要执行的脚本内容 * @return */ public static int executeShell(String shellString) { int exitValue = 0; Process process = null;原创 2016-06-25 16:47:25 · 735 阅读 · 0 评论 -
Java 异步回调机制
一、什么是回调回调,回调。要先有调用,才有调用者和被调用者之间的回调。所以在百度百科中是这样的:软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。回调是一种特殊的调用,至于三种方式也有点不同。1、同步回调,即阻塞,单向。2、回调,即双向(类似自行车的两个齿轮)。3、异步调用,即通过异步消息进行通知。二、CS中的异步回调(jav转载 2016-06-29 16:28:15 · 742 阅读 · 0 评论 -
java:去除数组重复内容
private String[] filtrate(String[] input) { Set set = new HashSet(); set.addAll(Arrays.asList(input)); String[] arr = (String[]) set.toArray(new String[0]); String[原创 2016-06-01 10:55:11 · 704 阅读 · 0 评论 -
对java中MessageFormat类的一个简单扩展
原始的只提供从0开始的数字作为字符串占位符,做了个简单的扩展,支持用字符串作为占位符, 如 “ {:name} -- {:age} -- {:name} ”格式则模型可被顺利解析。 代码如下: package demo; import java.util.HashMap;import java.util.Map; public class MessageFormatDem转载 2016-05-10 10:26:26 · 1053 阅读 · 0 评论 -
SpringMVC中ModelAndView, Model, ModelMap, Map, String, void的相关内容
spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map, String, voidModelAndView通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 ,使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以原创 2016-03-28 18:05:59 · 1235 阅读 · 0 评论 -
Java生成不重复的随机数
import java.util.Random;public class RadomUtil { //设定几位数 private static final int LENGTH = 8; /** * 这是典型的随机洗牌算法。 * 流程是从备选数组中选择一个放入目标数组中,将选取的数组从备选数组移除(放至最后,并缩小选择区域) * 算原创 2016-03-25 11:05:57 · 1038 阅读 · 0 评论 -
23种设计模式趣解
工厂模式, 工厂方法模式,单例模式, 外观(Facade)模式, 观察者(Observer)模式,桥接(Bridge)模式都是比较常用的 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任转载 2016-03-14 16:19:39 · 693 阅读 · 0 评论 -
String与InputStream的互相转换
String to InputStreamInputStream String2InputStream(String str){ ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes()); return stream;}InputStream to String方法一:publ原创 2016-03-24 16:15:32 · 982 阅读 · 0 评论 -
ReentrantReadWriteLock读写锁的使用
Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。 读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的,你只要上好相应的锁即可。如果你的代码只读数据,可以很多人同时读,但不能同时写,那就上读锁;如果你的代码修改数据,只能有一个人在写,且转载 2016-03-23 10:11:42 · 627 阅读 · 0 评论 -
AtomicLongMap的使用
AtomicLongMap是Google Guava项目的一个类,它是线程安全、支持并发访问的。Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等可转载 2016-03-22 18:51:18 · 5952 阅读 · 0 评论 -
避免Java应用中NullPointerException
Java应用中抛出的空指针异常是解决空指针的最好方式,也是写出能顺利工作的健壮程序的关键。俗话说“预防胜于治疗”,对于这么令人讨厌的空指针异常,这句话也是成立的。值得庆幸的是运用一些防御性的编码技巧,跟踪应用中多个部分之间的联系,你可以将Java中的空指针异常控制在一个很好的水平上。1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象。 总是转载 2016-03-22 15:05:43 · 755 阅读 · 0 评论 -
Dom4j解析xml文件
Dom4j是dom4j.org出品的一个开源XML解析包。Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。Hibernate也是用它来读写配置文件的。一、DOM4j的下载 dom4j-1.6.1.jar 下载:http://sourceforge.net/directory/os:wind转载 2016-03-30 10:24:47 · 606 阅读 · 0 评论 -
拦截器、过滤器、监听器区别
拦截器是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调用方法后打印出字符串,甚至在你抛出异常的时候做业务逻辑的操作。 拦截器是基于JAVA的反射机制。拦截器不是在web.xml配置,比如struts在struts.xml中配置。过滤器Servlet中原创 2015-08-05 16:16:00 · 777 阅读 · 0 评论 -
设计模式之单例模式:懒汉&饿汉
懒汉式与饿汉式所谓“懒汉式”与“饿汉式”的区别,是在与建立单例对象的时间的不同。 “懒汉式”是在你真正用到的时候才去建这个单例对象: 比如:有个单例对象public class Singleton{ private Singleton(){} private static Singleton singleton = null; //不建立对象 public stati转载 2015-07-03 18:53:45 · 1130 阅读 · 0 评论 -
java术语(PO/POJO/VO/BO/DAO/DTO)
PO(persistant object) 持久对象在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作.VO(value object) 值对象通常用转载 2015-04-13 15:14:21 · 676 阅读 · 0 评论 -
Java堆空间的划分:新生代、老年代
在JVM中堆空间划分如下图所示上图中,刻画了Java程序运行时的堆空间,可以简述成如下2条 1.JVM中堆空间可以分成三个大区,新生代、老年代、永久代 2.新生代可以划分为三个区,Eden区,两个幸存区 在JVM运行时,可以通过配置以下参数改变整个JVM堆的配置比例1.JVM运行时堆的大小 -Xms堆的最小值 -Xmx堆空间的最大值2.转载 2017-02-28 17:34:25 · 9589 阅读 · 4 评论