自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(221)
  • 问答 (1)
  • 收藏
  • 关注

原创 Integer“==”和Integer“equals”

以前有碰到Integer“==”和Integer“equals”的问题,但是都没有总结,有时开发时也忘记注意了   最近有碰到这个问题了,发现是一个容易忽略的注意点,所以稍微整理了一下   看下面这段代码:   Java代码   /**   * @author wuliwei   *   */   public class IntegerEqu...

2013-09-01 12:37:21 147

原创 java枚举类型enum的使用

  分类: java2011-04-24 23:17 6261人阅读 评论(3) 收藏 举报 javastringclasshashmap设计模式jdk java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的...

2013-08-07 09:57:28 167

原创 线上TOMCAT,JAVA参数配置

export JAVA_HOME=/export/servers/jdk1.6.0_25 export JAVA_BIN=/export/servers/jdk1.6.0_25/bin export PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/us...

2013-06-08 11:57:00 237

原创 HttpUrlConnection不能设置Host

调试了一天终于找到原因了,奶奶的!!  测试就报503错误,用CURL没有问题,根源原来是JDK的自我保护!!! 出于安全考虑,jdk的HttpUrlConnection里面,如果你设置一个叫做Host的头,该类会“不动声色”的忽略过去,这时候需要在启动参数里加上一个-Dsun.net.http.allowRestrictedHeaders=true,或者选用HttpClient系列的东西...

2013-06-05 18:01:29 1086

原创 Java访问https接口实现

用两种方式分别实现了,第一种是jdk原生的,代码稍微多点,第二种是基于httpclient4版本的。在我的机器上,访问同一个接口原生的性能要好很多(前者900ms,后者5.7s左右),httpclient主要性能消耗在"HttpResponse res = client.execute(post);",大约占总执行时间的90%。     Java代码   private...

2013-03-05 22:06:39 319

ITEYE能不能进步一点呢?

使用ITEYE好多年了,同样的版式,同样的格调,越来越感觉不入潮流了!

2013-01-28 11:49:37 91

原创 深入理解HASHMAP

Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,就正好复习一下。网上关于hashmap的文章很多,但到底是自己学习的总结,就发出来跟大家一起分享,一起讨论。 1、hashmap的数据结构 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,h...

2013-01-06 11:48:44 79

原创 navicat快捷键

1.ctrl+q           打开查询窗口2.ctrl+/            注释sql语句3.ctrl+shift +/  解除注释4.ctrl+r           运行查询窗口的sql语句5.ctrl+shift+r   只运行选中的sql语句6.F6               打开一个mysql命令行窗口7.ctrl+l            删除一行8.ctrl+n   ...

2013-01-05 09:47:17 76

原创 Commons-Validator验证框架2

Commons-Validator 博客分类: java Apache正则表达式配置管理StrutsBean . Commons-Validator包用来把验证规则程序提取出来,以供重复使用。这个包可以使用在Struts中,也可以独立的应用在任何其它的应用中。用户可以通过Java类的方式自定义验证方法,也可以在配置文件中通过正则表达式配置验证方法。它不但支持服务器端的验证,客户...

2012-11-29 14:00:37 163

原创 mysql分表方案

一、 概述分表是个目前算是比较炒的比较流行的概念,特别是在大负载的情况下,分表是一个良好分散数据库压力的好方法。首先要了解为什么要分表,分表的好处是什么。我们先来大概了解以下一个数据库执行SQL的过程:接收到SQL --> 放入SQL执行队列 --> 使用分析器分解SQL --> 按照分析结果进行数据的提取或者修改 --> 返回处理结果当 然,这个流程图不一定正确,这只...

2012-09-05 22:29:56 88

原创 mysql扩展至分库分表

MySQL互联网Oracle企业应用数据结构 . 数据库的复制能解决访问问题,并不能解决大规模的并发写入问题,要解决这个问题就要考虑mysql数据切分了 数据切分,顾名思义,就是数据分散,将一台主机上的数据分摊到多台,减轻单台主机的负载压力,有两种切分方式,一种是分库,即按照业务模块分多个库,每个库中的表不一样,还有一种就是分表,按照一定的业务规则或者逻辑将数据拆分到不同的主机上,每个主机上...

2012-09-05 21:47:25 107

原创 KMP算法JAVA的实现

public class KMP {                private String text;        private String pattern;                KMP() {                    }                KMP(String text, String pattern) {     ...

2012-09-05 10:18:23 120

原创 RED-BLACK(红黑)树的实现TreeMap源码阅读

由于平衡二叉树与红黑树都是二叉排序树,又红黑树是对平衡二叉树的一种改进实现,所以它的很多思想算法都来源于排序二叉或平衡二叉树,比如排序二叉树中的添加、删除、查找及查找直接后继节点等,平衡二叉树中的左旋与右旋等都是一样的,所以当看到这些方法时,要多参考以下两节:《二叉排序(搜索)树实现 》与《平衡二叉树实现 》 SortedMap 接口的基于红黑树的实现。此类保证了Map按照升序顺序排列...

2012-08-28 10:56:00 82

原创 JavaScript小技巧

  尽管我使用Javascript来做开发有很多年了,但它常有一些让我很惊讶的小特性。对于我来说,Javascript是需要持续不断的学习的。在这篇文章中,我将列出10个Javascript使用小技巧,主要面向Javascript新手和中级开发者。希望每个读者都能至少从中学到一个有用的技巧。 1.变量转换 看起来很简单,但据我所看到的,使用构造函数,像Array()或者Numbe...

2012-08-15 09:34:04 75

原创 使用jQuery Ajax功能的时候需要注意的一个问题

需要注意的一个问题   最近发现jQuery越来越火,用它的人也越来越多。jQuery最强大的亮点莫过于它的CSS3 selector和极其简单的Ajax请求调用。   最近一哥们在做一个Ajax长连接的项目,页面需要和服务器保持长连接,而且在连接超时后需要重新请求连接,过程中他问我要用到什么,我也是想都没想就告诉他用jQuery。jQuery不是有ajaxSuccess  a...

2012-08-15 09:30:42 86

原创 这些年,我收集的JavaScript代码(二) (转)

  一、JavaScript跨平台事件   对于跨平台事件我们一般这么写(只例举添加事件): function addEventHandler(oTarget, sEventType, fnHandler){ if(oTarget.addEventListener){ oTarget.addEventListener(sEventType,fnHandler,...

2012-08-15 09:28:46 132

原创 这些年,我收集的JavaScript代码(一) (转)

一、取URL中的参数 function getParameterByName(name) { var match = RegExp('[?&]' + name + '=([^&]*)') .exec(window.location.search); return match && dec...

2012-08-15 09:27:33 67

原创 [JavaScript]项目优化总结

目录 JavaScript优化总结分为以下几点 模块化(类编程) 静态类 实例类 JavaScript压缩/合并 Uglifyjs安装 UglifyJS使用 JavaScript文件合并 文档生成 YUIDoc安装与使用 YUIDoc标签 公共类库说明 目录结构 自动合并、压缩脚本 文档说明 参考链接、进一步阅读     JavaScri...

2012-08-15 09:19:38 124

原创 JDK内置工具使用(转)

JDK内置工具使用 一、javah命令(C Header and Stub File Generator) 二、jps命令(Java Virtual Machine Process Status Tool) 三、jstack命令(Java Stack Trace) 四、jstat命令(Java Virtual Machine Statistics Monitoring Tool) 五、j...

2012-08-09 10:56:09 76

原创 jstack使用

Java综合 我们使用jdk自带的jstack来分析。当linux出现cpu被java程序消耗过高时,以下过程说不定可以帮上你的忙: 1.top查找出哪个进程消耗的cpu高 21125 co_ad2    18   0 1817m 776m 9712 S  3.3  4.9  12:03.24 java                                                ...

2012-08-09 10:37:59 121

原创 jstat使用

如何判断JVM是否存在内存问题呢?判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。 Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进...

2012-08-09 09:51:21 84

原创 java应用crash案例

最近,应用总会时不时crash(jdk6u24),hs_err_pid.log截取如下: Current thread (0x0000000040124800):  GCTaskThread [stack: 0x0000000000000000,0x0000000000000000] [id=23997] 出错的时候运行的是GCTaskThread,说明是GC的时候出错的,执行的是libjvm.s...

2012-08-08 22:05:44 186

原创 一个java crash的故障分析过程

  一个应用在周五出现java进程消失,没有任何日志。先查看/var/log/message中无oom_killer信息,所以只能拿core。 该应用是一个集群,通知他们将出现crash的服务器上打开ulimit,等待生成core文件 。 今天周一,下午应用负责人紧急找我,说同时出几台crash了。开了ulimit参数的那台服务器coredump已经生成。 登录到该服务器上,先...

2012-08-08 22:01:12 139

原创 Java进程Crash的故障分析方法(转)

I、Java进程无故退出的故障查找过程: 如果是Java进程不知道什么原因退出或被杀死,想要分析具体原因,一般来说分下面几步: 1. 拿到Java应用程序的日志文件。一般来说日志文件中会有很应用相关的错误信息。Java进程异常退出的原因最有可能就是应用程序本身的问题。因此检查Java应用程序的日志文件可能是最快定位到错误的方法。 2. 查找JVM的致命错误日志如果应用程序日志文件中没有发...

2012-08-08 21:54:26 911

原创 使用CORE DUMP

程序出现SIGSEGV ,Segmentation fault 等错误,没有提示所在的行位置,无法定位问题,这时就需要用到CORE DUMP文件。 在此CORE   不是核心的意思,而是只内存。 1.一般linux不会产生CORE DUMP文件,通过ulimit -c来查看core dump文件的大小,一般开始是0,可以设置core文件大小,ulimit -c 1024(kbytes单位)或者...

2012-08-08 20:59:31 93

原创 ( 转)JVM执行篇:使用HSDIS插件分析JVM代码执行细节

在《Java虚拟机规范》之中,详细描述了虚拟机指令集中每条指令的执行过程、执行前后对操作数栈、对局部变量表的影响等细节。这些细节描述与Sun的早期虚拟机(Sun Classic VM)高度吻合,但随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述产生越来越大的差距,虚拟机规范中的描述逐渐成了虚拟机实现的“概念模型”——即实现只能保证规范描述等效。     基于上...

2012-08-08 20:10:20 98

原创 java concurrent 探秘

我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面...

2012-08-06 16:44:03 64

原创 中高级技术人员面试

struts,spring,hiberate知识点。实际上对于一个有一定经验和功力的人,一个新框架的上手也就是几个小时的事情,对于一些框架细节的了解也就是多做几次debug跟踪一下的事情。所以考框架那些需要记忆的知识点意义不大。 因此,对于中高级技术人员,不倾向于笔试。采取交谈的方式比较适合,这样交谈双方基本上都能够知道的各自的经验和功力了。可以根据招人的用处不同,选择性问一些不同难度的问...

2012-08-06 14:23:51 132

ReentrantLock与syncronized的不同

ReentrantLock        一个可重入的互斥锁定 Lock,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁定相同的一些基本行为和语义,但功能更强大。    不同点: 1.lock可以中断,而synchronized 不可以 2.lock使用需要获取锁,并且要人工解锁。否则容易发生死锁,而synchronized,JVM来自动解锁 3.lock性能比sy...

2012-08-06 14:22:20 207

原创 Java Crash问题分析

如果是Java进程不知道什么原因退出或被杀死,想要分析具体原因,一般来说分下面几步:   1 拿到Java应用程序的日志文件。一般来说日志文件中会有很应用相关的错误信息。Java进程异常退出的原因最有可能就是应用程序本身的问题。因此检查Java应用程序的日志文件可能是最快定位到错误的方法。 2 查找JVM的致命错误日志如果应用程序日志文件中没有发现什么线索。那么还可以查看 JVM的...

2012-08-05 18:36:18 143

原创 log4j 日志大小

  今天群里一个哥们问一个问题: 我想先控制每天日志的大小  比如10个1M的  这个是我最初使用的log4j配置文件里的内容 log4j.appender.RF=org.apache.log4j.DailyRollingFileAppender log4j.appender.RF.File=./log/log.txt log4j.appender.RF.DatePattern='....

2012-08-03 17:47:46 474

原创 Apache Commons 包含的开源的工具类介绍

原文地址:http://blog.csdn.net/ocelight/archive/2009/09/02/4510192.aspx http://commons.apache.org/ Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。我选了一些比较常用的项目做简单介绍。文中用了很多网上现成的东西,我只是做了一个汇总整理。 ...

2012-07-24 10:17:52 149

原创 JAVA工具类之Apache的Commons Lang和Beanutils

Apache Commons包估计是Java中使用最广发的工具包了,很多框架都依赖于这组工具包中的一部分,它提供了我们常用的一些编程需要,但是JDK没能提供的机能,最大化的减少重复代码的编写。   1)Commons Lang是对JDK中java.lang包的补充,提供了各种各样的Utilities工具类,这里说说最常用的几个工具类。 版本:commons-lang3-3.1.jar ...

2012-07-24 10:09:20 144

原创 性能术语

你想建设一个能承受500万PV/每天的网站吗? 博客分类: SOFT TEST 测试基次   你想建设一个能承受500万PV/每天的网站吗? 500万PV是什么概念?我的服务器每秒要处理多少个请求? PV是什么? PV是page view的简写。PV是指页面的访问次数,每 打开或刷新...

2012-06-28 19:01:22 88

原创 批量修改SEQUENCE,序列同时增加10000

select 'alter sequence ' || t1.sequence_name ||       ' increment by 10000 nocache;'  from user_sequences t1union allselect 'select ' || t2.sequence_name || '.nextval from dual;'  from user_sequences ...

2012-06-26 16:40:59 491

原创 批处理启动JAVA程序(多JAR包)

JavaJVMF# . 直接给出代码吧,下面是我自己为一个端口映射程序写的启动程序。 Batch代码 1.@echo off 2.title Alon 平台-端口映射 3.rem 设置延迟环境变量扩充,即感叹号间的值不会因跳出循环而为空值。 4.setlocal enabledelayedexpansion 5.rem java命令 6.se...

2012-06-16 11:01:20 679

原创 JVM性能优化

本文主要根据这篇PDF(GCTuningGuidelines)写成。 首先是JDK1.5引入的新功能 Ergonomic Settings(自动优化的参数) 对于有2块CPU和2GB内存及更佳配置的服务器,Sun的hotspot jdk默认设置了如下参数: * -server :服务器模式编译 * -XX:+UseParallelGC...

2012-04-26 10:30:45 55

原创 Java编译器、JVM、解释器

Java 虚拟机(JVM)是可运行Java 代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明。      一.Java源文件的编译、下载 、解释和执行   Java应用程序的开发周期包括编译、下载 、解释和执行几个部分。Java编译程...

2012-04-25 16:43:01 82

原创 LINUX快捷键

1.关于终端的快捷键: Tab:tab键是比较常用的一个快捷键,它的作用是补全文件名或者路径。举例来说,输入”cd /ho”在按一下tab键,终端里就会显示”cd /home”了。如果您的文件夹下,有两个名字开头部分相同的文件,比如有”picture001.bmp”和”picture002.bmp”两个文 件,输入”rm pic”以后按下tab键,就会补全成”rm picture”,您可以接着输...

2012-04-16 23:10:20 312

原创 JVM执行篇:使用HSDIS插件分析JVM代码执行细节

在《Java虚拟机规范》之中,详细描述了虚拟机指令集中每条指令的执行过程、执行前后对操作数栈、对局部变量表的影响等细节。这些细节描述与Sun的早期虚拟机(Sun Classic VM)高度吻合,但随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述产生越来越大的差距,虚拟机规范中的描述逐渐成了虚拟机实现的“概念模型”——即实现只能保证规范描述等效。 基于上面的原...

2012-04-10 13:27:27 119

空空如也

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

TA关注的人

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