自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 资源 (2)
  • 收藏
  • 关注

转载 java内存溢出分析工具:jmap使用实战

在一次解决系统tomcat老是内存撑到头,然后崩溃的问题时,使用到了jmap。1 使用命令在环境是linux+jdk1.5以上,这个工具是自带的,路径在JDK_HOME/bin/下jmap -histo pid>a.log2 输出结果摘要Size    Count   Class description----------------------------------

2016-12-08 10:27:42 1977

转载 内存溢出的几种可能

java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小、程序不严密,产生了过多的垃圾。导致OutOfMemoryError异常的常见原因有以下几种:内存中加载的数据量过于庞大,如一次从数据库取出过多数据;集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;代码中存在死循环或循环产生过多重复

2016-12-08 10:26:54 865

转载 spring BeanPostProcessor InitializingBean相关

public static void main(String[] args) throws Exception { ApplicationContext ac = new ClassPathXmlApplicationContext( "applicationContext.xml"); TestAware test = (TestAware) ac.getBean("testAw

2016-11-02 10:27:31 643

原创 spring BeanFactoryAWare应用

实现aware接口的bean被spring实例化后可以获取相应的资源,实现BeanFactoryAWare接口可以获取BeanFactory的实例,示例:实现BeanFactoryAWare接口package com.test.springmvc.test;import org.springframework.beans.BeansException;import org.spr

2016-11-01 22:17:45 624

原创 通过反射获取java类的实例

package com.test.springmvc.test;import org.springframework.beans.BeanUtils;import org.springframework.util.ClassUtils;public class MainTest { public static void main(String[] args) throws Excep

2016-10-31 09:20:57 456

原创 property文件的操作

1.读取property文件:public static void main(String[] args) throws IOException { // 第一中方法 Properties pro = PropertiesLoaderUtils .loadAllProperties("property/test.properties"); System.out.printl

2016-10-31 09:04:01 519

原创 stringutils功能

1.转化文件目录中的“//”为“/”StringUtils.cleanPath("E:\\java文档\\test.txt")2.判断String类型的数据是否为null,""," ",如果是,返回false,否则返回trueStringUtils源码:public static boolean hasText(String str) { return hasText((Cha

2016-10-30 10:34:26 1847

原创 spring加载资源

spring中通过Resource去获取对应的资源,Resource继承了InputStreamSource,查看InputStreamSource源码发现只有一个InputStream getInputStream(),而Resource增加了 /** * Determine whether this resource actually exists in physical form.

2016-10-29 11:16:00 324

原创 spring加载bean

spring中加载bean是通过DefaultListableBeanFactory,我们可以通过配置文件,DefaultListableBeanFactory回去根据配置去读取配置加载xml文件,然后可以直接去通过注解获取对应的实例,我们想要获取对应的bean实例,也可以通过:@Test @SuppressWarnings("unchecked") public void testCla

2016-10-29 10:06:02 227

转载 Spring AOP中JoinPoint的表达式定义描述

在使用Spring AOP的过程中,经常需要使用到各种不同的JoinPoint的定义,Spring AOP遵循了AspectJ形式的JoinPoint的定义形式,但是Spring目前只支持部分的AspectJ形式的Joinpoint的定义,同时Spring AOP只支持方法级别的JoinPoint。以下是我在学习Spring开发者手册时总结的一些JoinPoint的定义,不完整,欢迎补充。

2016-10-17 10:23:38 838

原创 org.junit 注解

org.junit对应的@Before   @BeforeClass  @After  @AfterClass注解使用@Test注解时,需要先初始化一个实例额,每次调用都是重新初始化一个实例;所以@BeforeClass,@AfterClass需要是static的方法,因为在初始化前,实例没有生成。@BeforeClass在整个类执行之前,且只执行一次;@AfterClass在

2016-10-14 17:51:43 899

原创 时间格式化

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import org.apache.commons.lang.time.DateForma

2016-08-23 15:09:55 104

原创 日志查看

查看某段时间的日志:cat finance-one-batch.log |egrep '2016-08-11 18:[0-2][0-57]|2016-08-11 18:30'tail  -n  10  test.log   查询日志尾部最后10行的日志;tail -n +10 test.log    查询10行之后的所有日志;head -n 10  test.l

2016-08-16 15:11:52 288

原创 邮件的发送

import java.io.File;import java.io.UnsupportedEncodingException;import java.util.Date;import java.util.Enumeration;import java.util.List;import java.util.Properties;import java.util.Vector;imp

2016-08-11 17:49:03 265

原创 采用@Aspect进行拦截操作

第一步,在配置里面进行配置:<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns="http://www.springframework.org/schema/beans" xmlns:context=

2016-08-10 17:05:49 2743

原创 解析定时任务配置的时间

public class CronExpressionEx extends CronExpression { /** * serialVersionUID */ private static final long serialVersionUID = 5074132114460101284L; public static final Intege

2016-08-10 15:35:00 526

原创 sftp文件的上传与下载

import java.io.File;import java.io.FileNotFoundException;import java.sql.SQLException;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import java.util.Enumeration;i

2016-08-04 16:26:37 2320

原创 文件zip压缩与解压

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipFi

2016-08-04 15:56:37 980

转载 使用POP3协议接收并解析电子邮件(全)

package org.yangxin.study.jm;    import java.io.BufferedInputStream;  import java.io.BufferedOutputStream;  import java.io.File;  import java.io.FileNotFoundException;  import java.io.FileOutputStream

2016-08-02 11:55:23 4166

转载 httpclient客户端与服务端

本文偏重使用,简单讲述httpclient,其实在网络编程中,基于Java的实现几乎都是包装了socket的通信,然后来模拟各种各样的协议;httpclient其实就是模拟浏览器发起想服务器端的请求,而这种更加类似于JS的请求或页面的POST、GET,不过这种数据的返回一般需要得到有意义的数据,才方便做其他的交互,否则得到一个页面结果,全是标签了,毕竟不是浏览器,所以我们用httpclient更多

2016-07-21 17:20:43 4800

原创 在java中启动sh脚本

1.先在对应目录下创建一个sh的脚本文件:可以进入linux,输入 nano test.sh  会在当前目录下生成一个test.sh文件可以在该文件中写入shell脚本的内容,如:#!/bin/shecho 'Hello World!'然后ctrl+x  选择Y 保存文件。2.chmod 777 test.sh给该文件赋予操作权利3../test

2016-06-13 17:11:30 2832 1

原创 引入maven工程

第一步,从svn上裆下一份工程可以看到,工程中包含pom.xml文件,所以是一个maven工程现在我们要把该工程转成正常的maven工程a。打开cmd命令:进入当前工程目录上面的命令执行成功后,可以看到我们的maven工程已经变为正常的工程了但是,如果我们直接在eclipse中引入该项目,会报出:Unsupported IClasspat

2016-05-11 14:30:30 293

转载 Apache poi操作doc,docx,xsl,xslx文件

为了对文件内容进行索引,必须先抽取出文件中文本。我们使用Apache POI提供的API来抽取office文件(DOC, DOCX, XLS, XLSX, PPT, PPTX)中的文本。很多人在使用开源API的时候都很纳闷,Javadocs那么大,我要的API在到底在哪个类里边。即使找到了也不明白这么多构造函数该用哪个创建想要的对象。本文给大家讲一下POI中我们该如何创建抽取(DOC, DOC

2016-04-21 17:00:38 1999

原创 Apache poi excel调用

HSSF  提供读写Microsoft Excel格式档案的功能。   XSSF  提供读写Microsoft Excel OOXML格式档案的功能。   HWPF  提供读写Microsoft Word格式档案的功能。   HSLF  提供读写Microsoft PowerPoint格式档案的功能。   HDGF  提供读写Microsoft Visio格式档案的功能。

2016-04-21 14:17:41 250

转载 探索equals()和hashCode()方法

equals()和hashCode()区别?-------------------------------------------------equals():反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值。hashCode():计算出对象实例的哈希码,并返回哈希码,又称为散列函数。根类Object的hashCode()方法的计算

2016-04-05 10:57:41 177

转载 redis window下安装

先说下安装吧!感觉这东西跟mongodb差不多,安装和布置挺简单,下载地址:https://github.com/dmajkic/redis/downloads 下载下来的包里有两个,一个是32位的,一个是64位的。根据自己的实情情况选择,我的是32bit,把这个文件夹复制到其它地方,比如D:\redis 目录下。打开一个cmd窗口  使用cd命令切换目录到d:\redis  运行

2016-03-31 14:07:51 582

原创 冒泡,选择算法

1.冒泡法:相邻元素进行比较,如果前面元素大于后面元素,位置互换,每比较一次,可以把最高的往后面移动public static void main(String[] args) { int[] a = {1,5,3,9,6,4,2,7,8}; int n = a.length; for(int i=n-1;i>1;i--){

2016-03-23 11:11:55 192

原创 冒泡,选择,插入排序算法

1.冒泡法:相邻元素进行比较,如果前面元素大于后面元素,位置互换,每比较一次,可以把最高的往后面移动public static void main(String[] args) { int[] a = {1,5,3,9,6,4,2,7,8}; int n = a.length; for(int i=n-1;i>1;i--){

2016-03-22 15:52:42 66

转载 BlockingQueue总结

在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了Dequeue接口)。  使用非阻塞队列的时候有一个很大问题就是:它不会对当前线程产生阻塞,那么在面对类似消费者-生产者的模型时,就必须额外地实现同步策略以及线程间唤醒策略,这个实现起来就非常麻烦。但是有了阻塞队列就不一样了,它会对当前线程产生阻塞,比如一个线程

2016-03-22 15:33:46 645

转载 Quartz任务调度快速入门

了解Quartz体系结构Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器、任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的这些核心概念进行描述:●Job:是一个接口,只有一个方法void execute(JobExecutionContext context),开发者实现该接口定义运行任务,JobExecutionContext类提供了调度上下文的各

2016-03-22 11:29:26 181

转载 几种任务调度的 Java 实现方法与比较

前言任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。本文由浅入深介绍四种任务调度的 Java 实现:TimerScheduledExecutor开源工具包 Quartz开源工具包 JCronTab此外,为结合实现复杂的任务调度,本文还将介绍 Calendar 的一些使用方法。回页首Timer相信大家都已经

2016-03-22 11:27:50 373 1

转载 Executor框架与线程池

Executor框架简介    在Java 5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java 5之后,通过Executor来启动线程比使用Thread的start方法更好,除了

2016-03-22 11:13:41 229

原创 synchronized与Lock

synchronized特性:a.采用synchronized修饰符实现的同步机制叫做互斥锁机制,它所获得的锁叫做互斥锁。每个对象的锁只能分配给一个线程,因此叫做互斥锁b.类的每个实例都有自己的对象级别锁。当一个线程访问实例对象中的synchronized同步代码块或同步方法时,该线程便获取了该实例的对象级别锁,其他线程这时如果要访问synchronized同步代码块或同步方法,便需要

2016-03-22 10:38:59 817

转载 并发线程

1.实现多线程的两种方法:继承thread接口,实现Runnable接口实现Runnable接口相比继承thread接口优势:a.可以避免由于Java的单继承特性而带来的局限;b.增强程序的健壮性,代码能够被多个线程共享,代码与数据是独立的;c.适合多个相同程序代码的线程区处理同一资源的情况。实例代码:public class MyThread extend

2016-03-21 17:25:48 244

转载 java集合

java集合的主要分为三种类型:Set(集)List(列表)Map(映射)要深入理解集合首先要了解下我们熟悉的数组:数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。简

2016-03-14 17:52:34 256

转载 Java栈与堆

Java栈与堆 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告

2016-03-14 17:30:35 206

原创 自定义注解实例

1.定义一个全局注解:/** * 要求登录 * 要求登录注解 * */@Target({ ElementType.METHOD, ElementType.TYPE })@Retention(RetentionPolicy.RUNTIME)@Documented@Mappingpublic @interface NeedLogin { boolean value();

2016-03-14 13:44:30 313

转载 FreeMarker自定义TemplateDirectiveModel

在采用FreeMarker做前台视图模板的情况下,我们可以通过标签和自定义宏来解决很多重复性工作。一个简单的FreeMarker宏:[html] view plain copy#macro sayHello name="">      hello ${name}  #macro>  然后通过如下的形式调用:

2016-03-14 10:33:42 1352

转载 注解(Annotation)自定义注解入门

元注解:  元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:    1.@Target,    2.@Retention,    3.@Documented,    4.@Inherited  这些类型和它们所支持的类在java.lang

2016-03-14 10:08:31 346

原创 spring cache 与redis缓存整合

spring cache,基本能够满足一般应用对缓存的需求,但现实总是很复杂,当你的用户量上去或者性能跟不上,总需要进行扩展,这个时候你或许对其提供的内存缓存不满意了,因为其不支持高可用性,也不具备持久化数据能力,这个时候,你就需要自定义你的缓存方案了,还好,spring 也想到了这一点。本篇文章采用spring cache与redis进行整合,实现自己想要的缓存。我们先配置redis:

2016-03-10 11:12:31 15720 2

汉字转拼音jar包

汉字转拼音

2014-06-25

加密js脚本

base64.js md5.js sha1.js脚本文件

2014-05-22

空空如也

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

TA关注的人

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