自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Atlantisfall的博客

家人,朋友,美食

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

转载 【转】JVM调优总结(十二)-参考资料

能整理出上面一些东西,也是因为站在巨人的肩上。下面是一些参考资料,供大家学习,大家有更好的,可以继续完善:)· Java 理论与实践: 垃圾收集简史· Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning· Improving Java Application Performance and Scalability by Re

2017-06-28 22:07:51 246

转载 【转】JVM调优总结(十一)-反思

垃圾回收的悖论所谓“成也萧何败萧何”。Java的垃圾回收确实带来了很多好处,为开发带来了便利。但是在一些高性能、高并发的情况下,垃圾回收确成为了制约Java应用的瓶颈。目前JDK的垃圾回收算法,始终无法解决垃圾回收时的暂停问题,因为这个暂停严重影响了程序的相应时间,造成拥塞或堆积。这也是后续JDK增加G1算法的一个重要原因。 当然,上面是从技术角度出发解决垃圾回收带来的问题,但是从系统设计

2017-06-28 21:59:28 199

转载 【转】JVM调优总结(十)-调优方法

JVM调优工具Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,需要付费。功能强大。 VisualVM:JDK自带,功能强大,与JProfiler类似。推荐。如何调优观察内存释放情况、集合类检查、对象树 上面这些调优工具都提供了强

2017-06-28 21:54:21 236

转载 【转】JVM调优总结(九)-新一代垃圾回收算法

垃圾回收的瓶颈传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时间在几百甚至几十毫秒以内,如果分代垃圾回收方式要达到这个指标,只能把最大堆的设置限制在一个相对较小范围内,但

2017-06-28 21:42:54 202

转载 【转】JVM调优总结(八)-典型配置举例2

常见配置汇总堆设置-Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Ede

2017-06-28 21:35:02 171

转载 【转】JVM调优总结(七)-典型配置举例1

以下配置主要针对分代垃圾回收算法而言。堆大小设置年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置:

2017-06-28 21:29:02 146

转载 【转】JVM调优总结(六)-分代垃圾回收详述2

分代垃圾回收流程示意 选择合适的垃圾收集算法串行收集器用单线程处理所有垃圾回收工作,因为无需多线程交互,所以效率比较高。但是,也无法使用多处理器的优势,所以此收集器适合单处理器机器。当然,此收集器也可以用在小数据量(100M左右)情况下的多处理器机器上。可以使用-XX:+UseSerialGC打开。并行收集器对年轻代进行并行垃圾回收,因此可以减少垃圾回收时间。一般在多线程多处理器机器上使用

2017-06-27 22:18:07 185

转载 【转】JVM调优总结(五)-分代垃圾回收详述1

为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要是程序运行过程中生成的临时变量,这些对象生命周

2017-06-27 22:08:42 190

转载 【转】JVM调优总结(四)-垃圾回收面临的问题

如何区分垃圾上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,从哪儿开始查找哪些对象是正在被当前系统使用的。上面分析的堆和栈的区别,其中栈是真正进行程序执行地方,所以

2017-06-27 21:37:31 174

转载 【转】JVM调优总结(三)-基本垃圾回收算法

可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep): 此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标

2017-06-27 21:34:01 167

转载 【转】JVM调优总结(二)-一些概念

Java对象的大小 基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句: Object ob = new Object(); 这样在程序中完成了一个Java对象的生命,但是它所占的空间为:4byte+8byt

2017-06-27 21:32:30 150

转载 【转】JVM调优总结(一)-一些概念

数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress 引用类型包括:类类型

2017-06-27 21:30:44 164

原创 纯CSS打造边框亮点移动效果

纯CSS打造边框亮点移动效果在足球和篮球比赛的电视转播中,记分版在刚弹出时,通常会在左下角和右上角出现两个亮点,并沿着记分版边缘移动一段距离,最后消失。这种动画效果可以帮助观众更加关注相对单调的记分版。最近正好在研究CSS动画,一直在尝试使用涉及@keyframes的纯CSS来做出这个效果,最终成功实现了。

2017-05-10 23:44:33 5118

原创 CentOS7服务器上启动第二台暴露端口的MySQL容器失败(已解决)

在一台CentOS7服务器上,启动第二台暴露端口的MySQL容器失败。通过iptables的配置,加入DOCKER链,解决这一问题。

2017-03-17 11:37:35 667

原创 Kubernetes slave节点升级至1.3版本注册失败问题解决

Kubernetes 1.3版本slave节点无法注册到1.2版本master节点

2016-12-28 18:16:30 881

原创 Restlet 短连接问题

之前使用Restlet 2.0.15版本写的REST接口,在测试时,使用浏览器和Java httpclient进行请求均可以正常获取到响应。 但上线一段时间后,有一个用户却反馈他调用任何接口均无法获取到响应。 我用他提供的一个URL在浏览器中直接访问(GET请求),可以正常获取到数据,于是我便在服务端抓包查找原因。 原来,用浏览器或者Java httpclient进行请求时,请求报文均是ke...

2016-12-26 15:17:22 903

原创 Restlet解决AJAX跨域问题

在前端用JavaScript AJAX直接调用Restlet框架写的一个REST接口时,遇到了传说中的AJAX跨域问题。百度谷歌了很久,看到了很多人把JavaScript的dataType改成jsonp以规避这个问题(参考:http://www.cnblogs.com/sunxucool/p/3433992.html),然而,这样处理会增加JavaScript的调用复杂度,不利于项目代码的维护。在...

2016-12-26 14:44:42 1112

原创 CentOS 7 扩展根目录空间操作步骤

CentOS 7 扩展根目录空间

2016-06-22 15:21:30 1618

空空如也

空空如也

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

TA关注的人

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