自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

【无与科比】

编织梦想,程就未来~

  • 博客(28)
  • 收藏
  • 关注

转载 Java堆空间的划分:新生代、老年代

在JVM中堆空间划分如下图所示上图中,刻画了Java程序运行时的堆空间,可以简述成如下2条  1.JVM中堆空间可以分成三个大区,新生代、老年代、永久代  2.新生代可以划分为三个区,Eden区,两个幸存区  在JVM运行时,可以通过配置以下参数改变整个JVM堆的配置比例1.JVM运行时堆的大小  -Xms堆的最小值  -Xmx堆空间的最大值2.

2017-02-28 17:34:25 9521 4

转载 SimpleChannelInboundHandler和ChannelInboundHandlerAdapter区别

一般用netty来发送和接收数据都会继承SimpleChannelInboundHandler和ChannelInboundHandlerAdapter这两个抽象类,那么这两个到底有什么区别呢?其实用这两个抽象类是有讲究的,在客户端的业务Handler继承的是SimpleChannelInboundHandler,而在服务器端继承的是ChannelInboundHandlerAdapter

2016-09-30 14:56:59 3071 1

转载 RabbitMQ与KafKa区别

在应用场景方面,RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。kafka是Linkedin于2010年12月份开源的消息发布订阅系统,它主要用于处理活跃的流式数据,大数据量的数据处理上。1)在架构模型方面,RabbitMQ遵循AMQP协议,RabbitMQ的broker由Exchange,Bind

2016-09-30 11:37:05 8556

转载 RabbitMQ三种Exchange模式(fanout,direct,topic)的性能比较

RabbitMQ中,所有生产者提交的消息都由Exchange来接受,然后Exchange按照特定的策略转发到Queue进行存储RabbitMQ提供了四种Exchange:fanout,direct,topic,headerheader模式在实际使用中较少,本文只对前三种模式进行比较。性能排序:fanout > direct >> topic。比例大约为11:10:6

2016-08-25 11:43:20 7233 2

转载 LinkedList源码注释

package java.util;public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, java.io.Serializable{ //deque 即双端队列。是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端

2016-07-19 11:16:43 541

转载 Java 异步回调机制

一、什么是回调回调,回调。要先有调用,才有调用者和被调用者之间的回调。所以在百度百科中是这样的:软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。回调是一种特殊的调用,至于三种方式也有点不同。1、同步回调,即阻塞,单向。2、回调,即双向(类似自行车的两个齿轮)。3、异步调用,即通过异步消息进行通知。二、CS中的异步回调(jav

2016-06-29 16:28:15 718

原创 Java调用Shell脚本

/** * 执行脚本 * * @param shellString 需要执行的脚本内容 * @return */ public static int executeShell(String shellString) { int exitValue = 0; Process process = null;

2016-06-25 16:47:25 710

原创 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 682

转载 对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 1019

原创 linux 中强大且常用命令:find、grep

1 Find命令find命令是一个无处不在命令,是linux中最有用的命令之一。find命令用于:在一个目录(及子目录)中搜索文件,你可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件。下面就通过实例来体验下find命令的强大。1.1 find命令的一般形式man文档中给出的find命令的一般形式为:find [-H] [-L] [-P] [-D debu

2016-03-30 10:42:05 592

转载 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 586

原创 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 1217

原创 Java生成不重复的随机数

import java.util.Random;public class RadomUtil { //设定几位数 private static final int LENGTH = 8; /**   * 这是典型的随机洗牌算法。   * 流程是从备选数组中选择一个放入目标数组中,将选取的数组从备选数组移除(放至最后,并缩小选择区域)   * 算

2016-03-25 11:05:57 1017

原创 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 956

转载 ReentrantReadWriteLock读写锁的使用

Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。  读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的,你只要上好相应的锁即可。如果你的代码只读数据,可以很多人同时读,但不能同时写,那就上读锁;如果你的代码修改数据,只能有一个人在写,且

2016-03-23 10:11:42 612

转载 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 5899

转载 避免Java应用中NullPointerException

Java应用中抛出的空指针异常是解决空指针的最好方式,也是写出能顺利工作的健壮程序的关键。俗话说“预防胜于治疗”,对于这么令人讨厌的空指针异常,这句话也是成立的。值得庆幸的是运用一些防御性的编码技巧,跟踪应用中多个部分之间的联系,你可以将Java中的空指针异常控制在一个很好的水平上。1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象。 总是

2016-03-22 15:05:43 710

原创 Java数组取交集

//取两个数组的交集private String[] intersect(String[] arr1, String[] arr2){ if (CheckUtils.isEmpty(arr1) && CheckUtils.isEmpty(arr2)) { return null; } if (CheckUtils.isEmpt

2016-03-22 10:36:15 1820

转载 逆波兰表达式

逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,这种表示法也称为中缀表示。波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的方法,按此方法,每一运算符都置于其运算对象之后,故称为后缀表示。逆波兰表达式在编译技术中有着普遍的应用。 运算符优先级:从小到大排序,相同优先级没有用逗号隔开:(,+-,*\,负号,) 运算符优先级:(

2016-03-14 20:42:50 626

转载 23种设计模式趣解

工厂模式, 工厂方法模式,单例模式, 外观(Facade)模式, 观察者(Observer)模式,桥接(Bridge)模式都是比较常用的 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任

2016-03-14 16:19:39 677

原创 拦截器、过滤器、监听器区别

拦截器是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调用方法后打印出字符串,甚至在你抛出异常的时候做业务逻辑的操作。 拦截器是基于JAVA的反射机制。拦截器不是在web.xml配置,比如struts在struts.xml中配置。过滤器Servlet中

2015-08-05 16:16:00 757

转载 设计模式之单例模式:懒汉&饿汉

懒汉式与饿汉式所谓“懒汉式”与“饿汉式”的区别,是在与建立单例对象的时间的不同。 “懒汉式”是在你真正用到的时候才去建这个单例对象: 比如:有个单例对象public class Singleton{ private Singleton(){} private static Singleton singleton = null; //不建立对象 public stati

2015-07-03 18:53:45 1116

转载 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 661

转载 关于 private static final long serialVersionUID = 1L

实现java.io.Serializable这个接口是为序列化,serialVersionUID 用来表明实现序列化类的不同版本间的兼容性。如果你修改了此类, 要修改此值。否则以前用老版本的类序列化的类恢复时会出错。 实现后如果你用的是工具的话会出来警告,他会提示你,可以自动生成private static final long serialVersionUID = 1L;

2015-04-10 10:11:53 10972

转载 解决 Tomcat 报 PermGen space 错误

转自:http://qwzhl100.blog.163.com/blog/static/2133124200932813148637/在使用Java程序从数据库中查询大量的数据或是应用服务器(如tomcat、jboss,weblogic)加载jar包时会出现java.lang.OutOfMemoryError异常。这主要是由于应用服务器的内存不足引起的。这种异常常有以下几种情况(以下以tomc

2015-03-31 19:06:42 824

原创 Myeclipse、STS等IDE中项目validating问题

window-perferences--搜索栏输入validation---validation,然后disable all 即可。

2015-03-31 18:54:15 4375

原创 ORA-00911 无效字符错误解决方法

今天用润乾报表做报表,一切SQL语句在数据库里都运行正常,查询的都没问题,可在报表里运行就报一个“ORA-00911 无效字符的错误”,当然,这肯定是SQL语句书写错误,可是明明在数据库里可以运行的,怎么在润乾报表里就报错呢?!在数据库里操作时,语句结尾是带分号的,后来试了试在润乾报表里的SQL语句结尾去掉分号,结果成功了!原来报表里是不支持这个分号的,所以以后如果大家也遇到这个错误,可以试一试这

2015-03-31 10:36:53 1878

转载 Oracle to_date()函数的用法

在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法,希望可以对您有所启迪。to_date()与24小时制表示法及mm分钟的显示:一、在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Orac

2015-03-30 16:56:14 926

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除