自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多线程 Future 异常处理

http://www.blogjava.net/xylz/archive/2013/08/05/402405.html

2017-03-14 19:15:40 3073

原创 问题排查记录-linux

### 以下所有命令都要先sudo su admin    批量搜索日志  pgm -A -b -f juhost "grep 'getFloorJuIds' /home/admin/app/logs/app.log|tail -n 1"    查看gc 执行详细  /opt/xxx/java/bin/jstat -gcutil `pgrep -u admin java`...

2016-08-05 12:02:06 259

原创 淘无线

2014年2014年度无线行业数据报告 下载2014年上半年移动APP趋势报告 下载 2013年淘宝无线2013年度电子商务数据报告 下载 2012年淘宝无线2012年度电子商务数据报告 下载 淘宝无线2012年2季度电子商务数据报告 下载 淘宝无线2012年1季度电子商务数据报告 下载...

2015-10-21 16:11:36 275

牛叉正则截取命中桶号

var= args="saff-33bucket=5fsafaf";   REGEXP_EXTRACT (args,"bucket=(\\d+)",0) = bucket=5    REGEXP_EXTRACT (args,"bucket=(\\d+)",1) = 5    regexp_substr (args,"bucket=[[:alnum:]]{1}") =bucket=5...

2015-04-10 23:12:47 181

打完整含依赖包的jar包

如下,可以打出带依赖包的jar package.bat@echo offset MAVEN_OPTS= -Xms128m -Xmx512m call mvn clean:cleanmvn assembly:assembly@pause pom.xml<build> <plugins> <plugin> ...

2015-04-10 13:32:19 284

原创 JVM垃圾回收器总览

懒得写,引用自:http://blog.csdn.net/chjttony/article/details/7883748 Java堆内存被划分为新生代和年老代两部分,新生代主要使用复制和标记-清除垃圾回收算法,年老代主要使用标记-整理垃圾回收算法,因此java虚拟中针对新生代和年老代分别提供了多种不同的垃圾收集器,JDK1.6中Sun HotSpot虚拟机的垃圾收集器如下:图中如果...

2014-11-18 23:02:43 112

原创 Parallel Scavenge收集器详解

Parallel Scavenge收集器是一个新生代收集器,它也是使用复制算法的收集器,又是并行的多线程收集器……看上去和ParNew都一样,那它有什么特别之处呢?Parallel Scavenge收集器的特点是它的关注点与其他收集器不同,CMS等收集器的关注点是尽可能地缩短垃圾收集时用户线程的停顿时间,而Parallel Scavenge收集器的目标则是达到一个可控制的吞吐量(Throug...

2014-11-18 22:56:40 4355 2

原创 ParNew收集器详解

以下摘自:《深入理解Java虚拟机:JVM高级特性与最佳实践》第3章垃圾收集器与内存分配策略ParNew收集器其实就是Serial收集器的多线程版本,除了使用多条线程进行垃圾收集之外,其余行为包括Serial收集器可用的所有控制参数(例如:-XX:SurvivorRatio、 -XX:PretenureSizeThreshold、-XX:HandlePromotionFailure等)、收集...

2014-11-18 22:42:02 3797

原创 CMS收集详解

以下内容摘自:《深入理解Java虚拟机:JVM高级特性与最佳实践》第3章垃圾收集器与内存分配策略 CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。目前很大一部分的Java应用都集中在互联网站或B/S系统的服务端上,这类应用尤其重视服务的响应速度,希望系统停顿时间最短,以给用户带来较好的体验。CMS收集器就非常符合这类应用的需求。从...

2014-11-18 22:40:43 1065

原创 JVM GC 再深入一点

这篇文章写的不错,大多来自于深入java虚拟机,确实比很多文章都深入一点,直接拷贝吧。引用自:http://blog.csdn.net/dc_726/article/details/7934101 垃圾回收包含的内容不少,但顺着下面的顺序捋清知识也并不难。首先要搞清垃圾回收的范围(栈需要GC去回收吗?),然后就是回收的前提条件如何判断一个对象已经可以被回收(这里只重点学习根...

2014-11-10 18:14:41 132

原创 继续阅读GC日志

阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。在本书的第1版中没有专门讲解如何阅读分析GC日志,为此作者收到许多读者来信,反映对此感到困惑,因此专门增加本节内容来讲解如何理解GC日志。每一种收集器的日志形式都是由它们自身的实现所决定的,换而言之,每个收集器的日志格式都可以不一样。但虚拟机设计者为了方便用户阅读,将各个收集器的日志都维持一定的共...

2014-11-09 11:46:59 132

原创 JVM gc 名词误解解惑

虽然网上有很多关于java  gc的文章,但有很多名词经常混淆,估计很多人被搞晕了。无意间找到一个大婶总结的。写的很好,知识面很广。见下面:HotSpot VM的GC组老人之一Jon Masamitsu很久之前就写过blog讲解这个:https://blogs.oracle.com/jonthecollector/entry/our_collectors 简单来说,有这么多东西反映了Ho...

2014-11-09 11:40:40 138

原创 JVM性能优化

一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代)Tenured(年老代)永久代(Perm)  其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小。 ...

2014-11-07 12:09:33 96

原创 详谈年轻代

很少有专门研究年轻代的文章,这里有一篇不错,但不详细,待我以后有空补充下。来源:http://shellblog.sinaapp.com/?p=786 1.为什么会有年轻代     我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样...

2014-11-07 11:27:00 126

原创 JVM 之CMS参数大全

JVM命令行参数分为三种类型:标准选项(Java Virtual Machine Specification里定义的参数),非标准选项(以-X为前缀,不强制JVM实现),非稳定选项(以-XX为前缀,可能在某些版本被移除)CMS相关选项类型默认值备注-XX:+UseConcMarkSweepGCbooleanfalse老年代采用CMS收集器收集-XX:+...

2014-11-04 17:23:17 1522

原创 JVM 参数设置

堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3...

2014-11-02 21:56:37 168

原创 阅读CMS 垃圾回收日志

原文地址   作者: poonam 译者:严亮 校对:梁海舰 在CMS GC 时,使用参数-XX:+PrintGCDetails 和 -XX:+PrintGCTimeStamps 会输出很多日志信息,了解这些信息可以帮我们更好的调整参数,以获得更高的性能。我们来看下在JDK1.4.2_10 中CMS GC日志示例:39.910: [GC 39.910: [ParNew: 2617...

2014-11-02 21:54:26 385

如何解决UTF-7漏洞

又有应用被扫描到这个漏洞了,这个漏洞太低调,经常被大家忽略。且遇到后找不到解决方案。整理下。 1:设置HTTP RESPONSE :Content-Type:json 2:组织UTF-7 BOM在response 的最前面加上换行或空格 3:组织页面里在<meta> 前设置chaset...

2014-07-25 15:07:38 1194

原创 打印线程详细信息并按CPU占用排序

好久没来写了,不过太好用了,记录下#!/bin/kshtypeset top=${1:-10}typeset pid=${2:-$(pgrep -u $USER java)}typeset tmp_file=/tmp/java_$pid_$$.trace$JAVA_HOME/bin/jstack $pid > $tmp_fileps H -eo user,pid...

2014-05-28 17:20:41 297

原创 “秒杀”心得

直接看这里吧: http://www.cnblogs.com/zgynhqf/archive/2011/01/07/1930410.html

2013-06-04 18:57:29 139

原创 java hashCode详解

============================================================ 如何理解hashCode的作用:============================================================ 以java.lang.Object来理解,JVM每new一个Object,它都会将这个Object丢到一个Hash哈希表中去...

2013-05-17 21:12:59 81

原创 PO、DO、VO的区别

 Rational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。  VO,值对象(Value Object),PO,持久对象(Persisent Object),它们是由一组属性和属性的get和set方法组成。从结构上看,它们并没有什么不同...

2013-05-17 16:53:32 249

原创 浏览器安全与MSAA

对于互联网应用而言,安全是一个不可忽视的问题。特别是电子商务类应用,更是重中之重。由于目前国内电子商务发展越来越迅猛,很多木马开始把注意力转到它上面来。这些木马往往有一个很重要的特点就是具有明显的经济利益性目的。         根据分析和研究表明,这类木马通常并没有使用很高深的技术手段,主要原因就是浏览器自身的脆弱性。从OS角度来说,浏览器是一个很普通的应用程序,没有任何保护措施。木马...

2013-05-15 18:38:43 157

原创 java.util.concurrent 包

java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构建块,开发人员可以提高并发类的线程安全、可伸缩性、性能、可读性和可靠性。如果一些类名看起来相似,可能是因为 java.util.concur...

2013-04-03 11:09:45 102

原创 BTrace使用简介

很多时候在online的应用出现问题时,很多时候我们需要知道更多的程序的运行细节,但又不可能在开发的时候就把程序中所有的运行细节都打印到日志上,通常这个时候能采取的就是修改代码,重新部署,然后再观察,但这种方法对于online应用来说不是很好,另外一方面如果碰到不好改的代码,例如引用的其他的外部的包什么的,就很麻烦了,BTrace就是一个可以在不改代码、不重启应用的情况下,动态的查看程序运行细节...

2013-03-27 21:05:45 70

原创 BTrace使用总结

 一、背景        在生产环境中可能经常遇到各种问题,定位问题需要获取程序运行时的数据信息,如方法参数、返回值、全局变量、堆栈信息等。为了获取这些数据信息,我们可以通过改写代码,增加日志信息的打印,再发布到生产环境。通过这种方式,一方面将增大定位问题的成本和周期,对于紧急问题无法做到及时响应;另一方面重新部署后环境可能已被破坏,很难重新问题的场景。 二、BTrace功能   ...

2013-03-27 21:01:17 79

原创 java Singleton 的使用详解

概念:在Java应用程序中,一个类Class只有一个实例存在运用:1)系统资源,如文件路径,数据库链接,系统常量等2)全局状态化类,类似AutomicInteger的使用优缺点:1)节省内存有利于垃圾回收2)只能使用在特定的环境下,受限制于JVM和容器     单例作用范围的前提是在一个ClassLoad下。所以像分布式应用EJB就要用其它的方式来解决单例问题。...

2013-03-21 16:15:54 136

原创 java中的lock和synchronized

1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断 如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长...

2013-03-21 10:04:12 179

原创 Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁定机制

多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 —— synchronized 和 volatile 。在简化与平台无关的并发类的开发的同时,它决没有使并发类的编写工作变得更繁琐,只是使...

2013-03-21 09:58:07 75

原创 Java5中lock

说明:Java多线程相关相关几篇文章转自http://lavasoft.blog.51cto.com/62575/27069/。为以后查阅方便,转载到此处。     在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Lock、R...

2013-03-20 11:24:01 73

原创 栈与堆的困惑--java内存解析

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

2013-03-19 19:12:05 89

原创 Java内存之"栈"与"堆"

引用: http://1615926449.iteye.com/blog/1777124 昨天中午,发了一篇equals和==区别的博文,晚上再看时有几位大牛指出了其中的一些错误,很感谢他们的留言,一句简简单单的留言给了我对这些错误知识点改正的机会。或许这就是从事互联网行业所提倡的互帮互助的精神吧,因为有分享,有交流,互联网才会发展的如此迅猛。大牛提的一个观点很好,好的东西可以拿出来分享...

2013-01-30 20:13:42 94

原创 java 基本数据类型转换迷惑

转自:http://jiangzhengjun.iteye.com/blog/652623数值表达式1. 奇偶判断不要使用 i % 2 == 1 来判断是否是奇数,因为i为负奇数时不成立,请使用 i % 2 != 0 来判断是否是奇数,或使用高效式 (i & 1) != 0来判断。 2. 小数精确计算Java代码  System....

2012-11-26 21:31:06 141

原创 系统吞吐量(TPS)、用户并发量、性能测试概念和公式

PS:下面是性能测试的主要概念和计算公式,记录下:一.系统吞度量要素:  一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间        QPS(TPS):每秒钟request/...

2012-11-22 21:52:23 1129

原创 PV/QPS/TPS

术语说明:QPS = req/sec = 请求数/秒【QPS计算PV和机器的方式】QPS统计方式 [一般使用 http_load 进行统计]QPS = 总请求数 / ( 进程总数 *   请求时间 )QPS: 单个进程每秒请求服务器的成功次数单台服务器每天PV计算公式1:每天总PV = QPS * 3600 * 6公式2:每天总PV = QPS * 3600 * 8服务器计算...

2012-11-22 21:49:22 107

原创 Memory Analyzer tool(MAT)分析内存泄漏(二)

前言在使用Memory Analyzer tool(MAT)分析内存泄漏(一)中,我介绍了内存泄漏的前因后果。在本文中,将介绍MAT如何根据heap dump分析泄漏根源。由于测试范例可能过于简单,很容易找出问题,但我期待借此举一反三。一开始不得不说说ClassLoader,本质上,它的工作就是把磁盘上的类文件读入内存,然后调用java.lang.ClassLoader.defineClass方法...

2012-11-21 16:54:02 89

原创 用Memory Analyzer tool(MAT)分析内存泄漏(一)

 前言 在平时工作过程中,有时会遇到OutOfMemoryError,我们知道遇到Error一般表明程序存在着严重问题,可能是灾难性的。所以找出是什么原因造成OutOfMemoryError非常重要。现在向大家引荐Eclipse Memory Analyzer tool(MAT),来化解我们遇到的难题。如未说明,本文均使用Java 5.0 on Windows XP SP...

2012-11-21 16:53:12 84

原创 JVM启动参数大全

JVM启动参数大全 jdk1.4.2 JVM官方地址:http://java.sun.com/j2se/1.4.2/docs/guide/vm/index.html标准和非标注参数(for windows):http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html 非stable参数:http://java.sun.co...

2012-11-21 12:18:14 115

原创 JVM启动参数设置、分析

 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受...

2012-11-21 12:08:41 115

原创 推荐一系列优秀的Android开发源码

专题类:  一、Android开发图书推荐:http://book.apkbus.com/  二、Android开发精选源码推荐:http://demo.apkbus.com/  三、Android 开发 UI设计http://www.apkbus.com/design/   四、 Android开发系列教程合集http://dev.apkbus.com/   五、Android开发入门到精通ht...

2012-11-03 11:02:20 78

mapreduce_plugin eclipse 插件

mapreduce_plugin eclipse hadoop 本人用过的 保证好用

2012-01-03

winScp 我已经使用过的,传上来,整点积分

winScp 我已经使用过的,传上来,整点积分 winScp 我已经使用过的,传上来,整点积分

2012-01-03

空空如也

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

TA关注的人

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