自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 单例模式

Java单例模式可能是最简单也是最常用的设计模式,一个完美的单例需要做到哪些事呢?1单例(这不是废话吗)2延迟加载3线程安全4没有性能问题5防止序列化产生新对象6防止反射攻击public class StaticSingleton { private StaticSingleton(){ System.out.println("StaticSingl...

2017-02-24 15:33:45 145

原创 spock+groovy测试

参考文章 : http://blog.2baxb.me/archives/1398注意 junit版本要去重

2016-05-10 14:51:37 451

原创 Java线程Dump分析工具--jstack(转摘纪录)

  jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式: jstack [-l][F] pid 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stac...

2015-10-29 10:47:41 242

原创 eclipse跑单元测试提示java.lang.NullPointerException异常

eclipse跑单元测试提示java.lang.NullPointerException异常 场景是 只有这个空异常 其他都没有输出 控制台。或则不是上面的错误提示 而是下面的java.lang.RuntimeException: tested object can't be null都是因为junit或则testNG运行了但是实现它的jtester没加载实列化 必须在jvm...

2015-09-18 14:42:28 3842

原创 Eclipse调试Java程序出现Socket closed.(cannot connect to VM)错误

如果在用eclipse调试(或运行)java程序时,出现了cannot connect to VM 错误 但是正常运行是可以的 run可以debug run不行,实在找不出什么原因,可以检查以下几个方面。1、如果在linux系统或则mac osx下,要把127.0.0.1 localhost 加到配置文件中。host里2、如果在XP系统下,请检查杀毒软件的防火墙。3、经过我测试,在安装...

2015-06-15 14:55:26 1889

原创 mac osx 里ipfw命令 启用80端口转发到8080 tomcat设置

ipfw是BSD系统中重要的防火墙和通信控制工具,在MacOSX中也很好用.因为mac osx里1024里的端口都是root权限的所以我们启动tomcat的时候需要用root用户 但是我们又不想root下有太多用户数据 所以设置下端口转发就可以了 用 ipfw命令1.先列出当前有那些设置sudo ipfw list 2.删除不需要的sudo ipfw del 2...

2015-04-02 11:37:19 619

原创 多线程并发情况下造成cpu 99%排查和分析

问题描述:生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高。问题分析:1,程序属于CPU密集型,和开发沟通过,排除此类情况。2,程序代码有问题,出现死循环,可能性极大。问题解决:1,开发那边无法排查代码某个模块有问题,从日志上也无法分析得出。2,记得原来通过strace跟踪的...

2015-02-10 11:40:21 1043

原创 多角度看 Java 中的泛型

本文摘自:http://www.ibm.com/developerworks/cn/java/j-lo-gj/引言很多 Java 程序员都使用过集合(Collection),集合中元素的类型是多种多样的,例如,有些集合中的元素是 Byte 类型的,而有些则可能是 String 类型的,等等。Java 语言之所以支持这么多种类的集合,是因为它允许程序员构建一个元素类型为 Object 的...

2014-05-13 15:40:11 88

原创 java.lang.Object类 方法(转)

Object类的方法 构造方法:public Object()在Object的源代码中并没有Object的构造方法,而是采用了java内置的默认构造方法。即在编译时由编译器完成这项工作。值得注意的是在Object源码的开始,有这样一段: private static native void registerNatives(); st...

2014-05-13 10:55:36 636

原创 为什么Java byte 类型的取值范围是-128~127(short int long同理)

为什么Java byte 类型的取值范围是-128~127 0 00000000 1 00000001 ... ........ 127 01111111----------------共 128 个 -1 11111111 -2 11111110 ... ... -128 10000000-----------...

2014-05-12 18:08:43 219

原创 web.xml之context-param,listener,filter, servlet启动顺序和讲解

首先可以确定的一点是, 不同类型节点的加载顺序与它们在web.xml里出现的次序无关,即不会因为filter写在listener之前而先加载fiter. 就、、、四种节点而言,启动服务器时的加载顺序是context-param --> listener --> filter --> servlet 首先是,启动一个WEB项目的时候,WEB容器会读取配置描述符文件(we...

2014-05-12 14:32:46 148

原创 java对象初始化书序

package com.test.aa.service;public class Test extends B { public int a = 100; public static int a1=3; public Test() { super(); System.out.println(a); a ...

2014-05-09 15:05:49 112

原创 java.lang.ThreadLocal详解以及注意事项

一.什么是ThreadLocal?ThreadLocal 是在 java.lang.包下的 在jdk1.2里引入进来 主要是给每个线程分配该线程本身的本地变量 该变量是该线程独有的 别的线程是访问不了的。二. ThreadLocal的实现原理:最关键的是在Thread类里有一个ThreadLocal.ThreadLocalMap threadLocals的属性,也就是说 一个线...

2014-04-29 18:12:16 1224

原创 String Stringbuilder StringBuffer区别

关于这三者的区别,我们从官方API上很容易找到答案。 这里做了一下比较,并写了点测试代码。 关于《Java中的String的 方法归类 及其 不可变性》参看本博客另一篇文章:http://blog.csdn.net/daheiantian/archive/2010/12/20/6097353.aspx1. 概述: 1.1 String ...

2014-04-17 11:00:41 68

原创 有意思的java继承 属性和方法和上溯造型

class MyParent { public int a; public MyParent() { a = 3; } public void addFive() { a += 5; } }public class MyChild extends MyParent{ public int a; public M...

2014-04-16 22:49:28 169

原创 收集面试题

一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的? String在Java中是final的类,所以不可变;StringBuffer是同步的,StringBuilder是不同步的。后2者可以通过append改变引用指向的 对象。而String则做不到,String只能通过在内存中添加新的对象,将引用指向该新对象。二、...

2014-04-15 16:16:57 98

原创 JAVA反射机制

JAVA反射机制:通俗地说,反射机制就是可以把一个类,类的成员(函数,属性),当成一个对象来操作,希望读者能理解,也就是说,类,类的成员,我们在运行的时候还可以动态地去操作他们.理论的东东太多也没用,下面我们看看实践 Demo ~Demo:[java] view plaincopyprint?package cn.lee.demo; ...

2014-04-03 15:15:06 68

原创 java -verbose

java -verbose[:class|gc|jni] 在输出设备上显示虚拟机运行信息。1.java -verbose:class在程序运行的时候究竟会有多少类被加载呢,一个简单程序会加载上百个类的!你可以用verbose:class来监视,在命令行输入java -verbose:class XXX (XXX为程序名)你会在控制台看到加载的类的情况。 verbose和v...

2014-03-26 19:35:19 133

原创 ArrayList和linkedList几种循环性能比较

请 参照 http://www.trinea.cn/android/arraylist-linkedlist-loop-performance/

2014-03-26 17:51:10 116

原创 mysql给新库分配用和权限

新建一个库和若干表 然后要给这个库和表分配用户和权限具体操作如下:1.在mysql库里的user表插入一条用户数据 host username password重点关注2.接着在mysql库的db表插入一条数据 关联新建user和新建库的关系 host db username重点关注3.执行 flush privileges;命令刷新权限 即可(一定要刷新权限)...

2014-03-24 20:19:50 142

原创 HashMap原理

本文由 ImportNew - 唐小娟 翻译自 Javarevisited。欢迎加入Java小组。转载请参见文章末尾的要求。HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投...

2014-03-20 15:31:58 72

原创 java.lang.Cloneable

public interface Cloneable 此类实现了 Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。 如果在没有实现 Cloneable 接口的实例上调用 Object 的 clone 方法,则会导致抛出 CloneNotSupportedException 异常。 按照惯例,实现此接口的类应该使用公共方法重...

2014-03-20 11:22:30 347

原创 java.io.Serialize

java.io.Serializable引发的问题——什么是序列化?在什么情况下将类序列化? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,imple...

2014-03-20 11:00:10 133

原创 如何快速的解决Maven依赖冲突

为什么会出现依赖冲突首先要说明Maven的依赖管理,具体的可以参考这边 Maven学习——依赖管理 这篇文章,maven在依赖冲管理中有一下几个原则。依赖是使用Maven坐标来定位的,而Maven坐标主要由GAV(groupId, artifactId, version)构成。如果两个相同的依赖包,如果groupId, artifactId, version不同,那么maven也认...

2014-03-17 11:05:36 325

原创 Java集合框架学习总结

以下介绍经常使用的集合类,这里不介绍集合类的使用方法,只介绍每个集合类的用途和特点,然后通过比较相关集合类的不同特点来让我们更深入的了解它们。 Collection接口Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。所有实现Collection接口的类都必须提供两个标准的构造函数:无参...

2014-03-14 16:43:28 53

原创 maven项目管理的一些知识

http://sishuok.com/forum/blogPost/list/0/2581.htmlhttp://blog.csdn.net/dannablog/article/details/18355031

2014-03-04 16:24:08 66

原创 ehcache使用注意 及一些问题的解决

配置1. applicationContext.xml复制代码    复制代码Spring内部默认使用 Concurrent...

2014-02-21 17:35:31 808

原创 PermGen space错误解决方法(转)

PS:2014-1-23在看下文之前,首先要确认意见事情,就是你是如何启动tomcat的,我们在平时的开发环境当中,都是通过startup.bat方式启动tomcat的,那么你按照下面的方式,去修改/bin/catalina.bat是没有问题的。但是如果你是生产环境下,我们一般都希望使用windows服务方式去启动tomcat,此时之前修改的配置文件是没有用的。因为windows服务启动t...

2014-02-20 16:33:45 137

原创 Xms Xmx PermSize MaxPermSize 区别

Eclipse崩溃,错误提示:MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) space remains. It is strongly recommendedthat you exit and restart MyEclipse with new virtual ma...

2014-02-20 16:13:58 67

原创 线上问题排查的常用工具和方法

在长期排查线上问题的过程中,总结了一些工具的用法和排查问题的思路,这里跟大家分享一下,在遇到类似的问题时,希望能给予一些帮助。 首先讲讲工具,JVM自带的一些工具是必须熟练掌握的,例如jstack, jmap, jstat等,它们可以帮我们去深入了解JVM正在做的事情,主要的适用领域有这些: 1、jstackjstack可以告诉你当前所有JVM线程正在做什么...

2014-01-24 11:03:39 701

原创 JAVA基础-栈与堆,static、final修饰符、内部类和Java内存分配

堆:顺序随意栈:后进先出(Last-in/First-Out). Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分...

2014-01-17 20:00:55 86

原创 Velocity 加减运算

因为在做的一个项目里用的是velocity,以前一直没用过,一直都是用的框架自带的标签,如struts2等,做了一段时间感觉差不多都一样的,无非就是if..else...,foreach等,但是网上说freemaker要强大的多,我也没用过,所以就没资格说那个好,但是用velocity有点让我不爽,velocity不能用索引访问数组,也就是访问数组不能用 list[i]这样访问,只能用fore...

2014-01-14 23:27:56 991 1

原创 mysql sql执行顺序

select distinct(question_id) from faq_question_action where action_id>=1327414 order by question_id ASC limit 0,100===from... where...group by... having.... select ... order by... limit先从faq...

2014-01-13 17:31:07 73

原创 mysql 索引

USE INDEX在你查询语句中表名的后面,添加 USE INDEX 来提供你希望 MySQ 去参考的索引列表,就可以让 MySQL 不再考虑其他可用的索引。Eg:SELECT * FROM mytable USE INDEX (mod_time, name) ...�IGNORE INDEX如果你只是单纯的想让 MySQL 忽略一个或者多个索引,可以使用 IGNORE I...

2014-01-11 01:36:19 73

原创 安装 jetty eclipse 插件 run-jetty-run

博客分类: jetty run-jetty-run是一个新的jetty eclisep插件通过该插件可以直接在Eclipse环境中启动、停止 Jetty ,同时进行在线调试而无需重启服务。 eclipse中jetty安装配置 jettyJetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使...

2014-01-10 22:08:04 179

原创 WebX3表单验证——实践心得

工作中我们常常会遇到表单验证不通过后的跳转问题,以及跳转后丢失参数的问题,下面我们针对以上问题进行分析及给出解决方案。表单验证失败处理流程uploadAttachment.vm(表单提交) ——> XXXAction(@FormGroup注解执行失败) ——> UploadAttachment.java ——> uploadAttachment.vm表单验证失败跳转机制 ...

2014-01-09 20:53:51 127

原创 mysql本地电脑连接远程服务器 命令行

1.进入本地mysql安装目录下的bin目录下2.执行 mysql -uyouruser -pyourpassword -h 192.168.1.88 -P 33063.执行本地sql文件在远程服务器 mysql -uyouruser -pyourpassword -h 192.168.1.88 -P 3306 yourdatabase < your.sql...

2014-01-02 20:43:53 242

原创 mysql大表更新或则增加字段方法

MYSQL大表修改结构Posted on 2012-12-28 15:06 蛇小狼 阅读(43) 评论(0) 编辑 收藏参考原理依据:http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#alter-tableALTER TABLE运行时会对原表进行临时复制,在副本上进行更改,然后删除原表,再对新表进行重命名。在执行A...

2013-12-31 18:08:04 434 1

原创 mysql导出导入超大sql语句的方法

1.cmd命令下进入mysql安装目录的bin目录下 导入运行 mysql -uroot -p yourdatabase < your.sql 输入密码 回车 导出运行 mysql -uroot -p yourdatabase > your.sql输入密码 回车===================================================...

2013-12-31 14:15:51 202

原创 eclipse快捷键

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对...

2013-12-21 11:21:59 51

空空如也

空空如也

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

TA关注的人

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