
jvm
p312011150
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM-GC总结-配置实战--第二发
以下配置针对分代垃圾回收算法堆大小设置设置举例1:Java –Xmx3550m –Xmx3550m –Xmn2g –Xss128k 设置详解-Xmx3550m:设置JVM最大可用内存为3550M。 -Xms3550m:设置JVM初始内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmn2g:设置年轻代大小为2G。整个堆大小=年轻代...转载 2018-08-01 10:15:57 · 132 阅读 · 0 评论 -
记一次线上Java程序导致服务器CPU占用率过高的问题排除过程
1、故障现象客服同事反馈平台系统运行缓慢,网页卡顿严重,多次重启系统后问题依然存在,使用top命令查看服务器情况,发现CPU占用率过高。2、CPU占用过高问题定位2.1、定位问题进程使用top命令查看资源占用情况,发现pid为14063的进程占用了大量的CPU资源,CPU占用率高达776.1%,内存占用率也达到了29.8%[ylp@ylp-web-01 ~]$ toptop...转载 2018-09-15 17:28:49 · 477 阅读 · 0 评论 -
实践的意义——写给图像处理算法爱好者的建议
陆放翁诗云:“纸上得来终觉浅,绝知此事要躬行”,此乃亘古不变之真理也。 图像处理研究的一个很大特点就在于,它是一种和实际应用紧密联系的实用型学科。所有的算法都是针对实际中遇到的问题而存在的。无论是我们新提出了一个算法,还是我们新学习了一个算法,都可以直接写一个程序来检验它的处理效果。而且这种“效果”往往还是一目了然的。因为图像处理的输入和输出都是图像,图像就是用来给人看的。这种直观性是其它...转载 2018-09-12 15:24:30 · 1514 阅读 · 0 评论 -
java 源码阅读(一)
#include <stdio.h>#define JRT_ENTRY(result_type , header) \ result_type header { \ printf("%d" , 3);#define JRT_END }class _jobject {};#include "Header.h"JRT_ENTRY(int ...原创 2018-09-25 17:17:21 · 213 阅读 · 0 评论 -
java源码阅读 (二)
#include <stdio.h>#define JRT_ENTRY(result_type , header) \ JRT_NO(result_type , header)#define JRT_NO(result_type , header) \ extern "C" { \...原创 2018-09-26 09:14:29 · 200 阅读 · 0 评论 -
秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别
原文地址:https://blog.youkuaiyun.com/morewindows/article/details/7421759本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底应该使用Creat...转载 2018-09-26 09:41:26 · 126 阅读 · 0 评论 -
秒杀多线程第一篇 多线程笔试面试题汇总
系列前言 本系列是本人参加微软亚洲研究院,腾讯研究院,迅雷面试时整理的,另外也加入一些其它IT公司如百度,阿里巴巴的笔试面试题目,因此具有很强的针对性。系列中不但会详细讲解多线程同步互斥的各种“招式”,而且会进一步的讲解多线程同步互斥的“内功心法”。有了“招式”和“内功心法”,相信你也能对多线程挥洒自如,在笔试面试中顺利的秒杀多线程试题。 ---------...转载 2018-09-26 09:46:01 · 207 阅读 · 0 评论 -
makefile .d的解释
在学写makefile时候,如果要写的好一点高手建议要用个.d文件.我那时候也是非常迷糊,我写的测试代码不用这个也照样运行的很好啊,为什么要写这个东西呢?下面先看这个情况.我们写的这个Makefile 一般要用隐晦规则.当然了如果就两个文件也没必要写这个东西了.用隐晦规则时候..o 文件会自动找这个 .c文件.然后编译.这个是没问题.如果有两个文件first.c main.c 你可以这样写OB...转载 2018-09-26 13:36:12 · 3020 阅读 · 0 评论 -
va_start和va_end使用详解
转载于:http://www.cnblogs.com/hanyonglu/archive/2011/05/07/2039916.html 本文主要介绍va_start和va_end的使用及原理。 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。 介绍这两个宏之前先看一下C中传递函数的参数时的用法...转载 2018-09-27 12:07:06 · 162 阅读 · 0 评论 -
C预处理器
C预处理器是一种简单的宏处理器。 预处理器是由特殊的预处理器命令行控制的,它们是以#符号开头的源文件行。 预处理器的一般操作:从源文件中删除所有的预处理器命令行,并在源文件中执行这些预处理器命令所指定的转换操作 预处理器代码行的语法与C语言其他部分的语法是完全独立的,但经过预处理所产生的源代码必须在上下文环境中合法 常见的预处理器命令: #define 定义一个预处理器宏 #u...转载 2018-09-27 12:08:05 · 231 阅读 · 0 评论 -
C语言 异步回调
本文主要讲解如果实现回调,特别是在封装接口的时候,回调显得特别重要,我们首先假设有两个程序员在写代码,A程序员写底层驱动接口,B程序员写上层应用程序,然而此时底层驱动接口A有一个数据d需要传输给B,此时有两种方式: 1、A将数据d存储好放在接口函数中,B自己想什么时候去读就什么时候去读,这就是我们经常使用的函数调用,此时主动权是B。 2、A实现回调机制,当数据变化的时候才将通知B,你可...转载 2018-09-28 13:36:09 · 3547 阅读 · 0 评论 -
GetLastError
GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置。函数 并无必要设置上一次错误信息,所以即使一次GetLastError调用返回的是零值,也不能 担保函数已成功执行。只有在函数调用返回一个错误结果时,这个函数指出的错误结果 才是有效的。通常,只有在函数返回一个错误结果,而且已知函数会设置GetLastError ...转载 2018-09-30 02:16:19 · 1879 阅读 · 0 评论 -
mfc设置半透明对话框
BOOL CDialog7::OnInitDialog(){ CDialog::OnInitDialog(); // TODO: 在此添加额外的初始化 ::SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,::GetWindowLongPtr(GetSafeHwnd(),GWL_EXSTYLE)|WS_EX_LAYERED); ...转载 2018-09-30 15:03:43 · 667 阅读 · 0 评论 -
jdk1.7 源码阅读
原文链接:https://blog.youkuaiyun.com/p312011150/article/details/81513567 从学java至今已经有5年了,期间一直很好奇jdk实现但一直没有付出行动。今年发现自己的计算水平还很烂下定决心开始看jdk源码。 首先进入openjdk官网: http://openjdk.java.net/projects/jdk7u/...原创 2018-08-08 19:22:50 · 4936 阅读 · 0 评论 -
详解 JVM Garbage First(G1) 垃圾收集器
原文: 详解 JVM Garbage First(G1) 垃圾收集器前言 Garbage First(G1)是垃圾收集领域的最新成果,同时也是HotSpot在JVM上力推的垃圾收集器,并赋予取代CMS的使命。如果使用Java 8/9,那么有很大可能希望对G1收集器进行评估。本文详细首先对JVM其他的垃圾收集器进行总结,并与G1进行了简单的对比;然后通过G1的内存模型、G1的活动周期,对G1...转载 2018-08-03 11:14:33 · 283 阅读 · 0 评论 -
JVM-GC总结-分代垃圾回收详解--第一发
为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的 Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要 是程序运行过程中生成的临时变...转载 2018-08-01 10:16:35 · 143 阅读 · 0 评论 -
JVM-GC总结-配置实战--第三发
配置举例1:vm args: -Xms60m -Xmx60m -XX:NewRatio=2 -XX:SurvivorRatio=3 -XX:MaxPermSize=30m -XX:MaxTenuringThreshold=3 -XX:+PrintHeapAtGC使用工具:jvisualvm (安装visual gc 插件) 根据设置堆内存为60m, 因为设置了-XX:NewRatio=...转载 2018-08-01 10:19:17 · 485 阅读 · 0 评论 -
GC详解及Minor GC和Full GC触发条件总结
GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用。即:从gcroot开始,把所有可以搜索得到的对象标记为存活对象。GC机制要准确理解Java的垃圾回收机制,就要从:“什么时候”,“对什么东西”,“做了什么”三个方面来具体分析。第一:“什么时候”即就是GC触发的...转载 2018-08-01 10:21:33 · 262 阅读 · 0 评论 -
Java面试之GC(垃圾收集器)
GC: gc不仅负责垃圾回收,还决定内存分配。 Java内存管理主要是对内存中的对象进行内存的分配和回收,我们都知道当我们创建一个对象时,对象的引用放在栈(Stack)中,对象放在堆(heap)中,gc只回收堆里面的对象。当gc检测到一个堆中的一个对象不在被引用时,就会对这个对象进行回收。 当我们创建一个对象时,gc就会监视这个对象的地址,大小以及状态。g...转载 2018-08-01 10:22:22 · 182 阅读 · 0 评论 -
一个Java对象到底占用多大内存?
转载自:http://www.cnblogs.com/magialmoon/p/3757767.html最近在读《深入理解Java虚拟机》,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存?在网上搜到了一篇博客讲的非常好:http://yueyemaitian.iteye.com/blog/2033046,里面提供的这个...转载 2018-08-06 08:51:56 · 3303 阅读 · 1 评论 -
JVM是如何分配和回收内存?有实例!
我简单介绍了下如何手动计算一个Java对象到底占用多少内存?今天就想聊下这个内存JVM到底是是如何分配和回收的。Java整体来说还是一个GC比较友好的语言,无论是分代的垃圾收集,还是基于GC Roots的可达性算法都是业界普遍的经典做法,关于Java的内存区域划分以及GC的一些基本知识,我这里就不赘述了,可以看我之前的博客:http://zhanjindong.info/category/no...转载 2018-08-06 08:54:20 · 1441 阅读 · 1 评论 -
JVM 图形化监控工具
转载:http://286.iteye.com/blog/1931574 前篇文章已经介绍了一些JDK 中自带的监控工具,但是这些工具都是基于文本界面的,无法很直观的看出程序运行的波动情况,这节就介绍一些图形化的监控工具供大家更简单容易的监控使用。 首先说几个官方开发的图形监控工具: 1.jvmstat jv...转载 2018-08-02 12:19:34 · 1807 阅读 · 0 评论 -
JVM内存区域详解(Eden Space、Survivor Space、Old Gen、Code Cache和Perm Gen)
JVM区域总体分两类,heap区和非heap区。 heap区又分为: - Eden Space(伊甸园)、 - Survivor Space(幸存者区)、 - Old Gen(老年代)。非heap区又分: - Code Cache(代码缓存区); - Perm Gen(永久代); - Jvm Stack(java虚拟机栈); - Local Method Statck(本地方法...转载 2018-08-02 15:29:49 · 1402 阅读 · 0 评论 -
Tomcat进程意外退出的问题分析
感谢同事宏江投递本稿。节前某个部门的测试环境反馈tomcat会意外退出,我们到实际环境排查后发现不是jvm crash,日志里有进程销毁的记录,从pause到destory的整个过程:org.apache.coyote.AbstractProtocol pausePausing ProtocolHandlerorg.apache.catalina.core.StandardServi...转载 2018-08-02 18:28:37 · 144 阅读 · 0 评论 -
深入JVM之G1收集器
深入JVM之G1收集器一、G1收集器简介G1收集器(JDK1.7u4正式出现) 普遍存在:全内存扫描问题。 传统的收集器不能满足高内存高cpu的要求,这才是G1产生的原因。2.G1区域划分 在G1之中不再区分所谓的年轻代、老年代内存空间,所有的内存空间就是一块。但是要划分出不同的子区域。二、G1收集策略虽然在G1收集器里面将整个内存区域都混合在了一起,但是其本身依然也是...转载 2018-08-03 11:13:12 · 175 阅读 · 0 评论 -
MFC控件背景透明设置 - 1
这种方法只适用于下面这些控件CTLCOLOR_BTN Button control CTLCOLOR_DLG Dialog box CTLCOLOR_EDIT Edit control CTLCOLOR_LISTBOX List-box control CTLCOLOR_MSGBOX Message box CTLCOLOR_SCROLLBAR Scroll-...转载 2018-09-30 15:06:04 · 3663 阅读 · 1 评论