C语言 memcmp #include <string.h> int memcmp(const void *s1, const void *s2, size_t n); 功能:比较s1和s2所指向内存区域的前n个字节参数: s1:内存首地址1 s2:内存首地址2 n:需比较的前n个字节 返回值: 相 ...
分类:
编程语言 时间:
2020-02-28 21:04:02
阅读次数:
76
C语言 memset #include <string.h> void *memset(void *s, int c, size_t n); 功能:将s的内存区域的前n个字节以参数c填入参数: s:需要操作内存s的首地址 c:填充的字符,c虽然参数为int,但必须是unsigned char , 范 ...
分类:
编程语言 时间:
2020-02-28 20:26:10
阅读次数:
65
malloc的全称是memory allocation,中文叫动态内存分配,用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存,且分配的大小就是程序要求的大小。 函数定义 其函数原型为void ...
分类:
编程语言 时间:
2020-02-25 17:52:14
阅读次数:
83
一 jvm 1.线程 2.jvm内存区域 a) 程序计数器 -私有区 b) 虚拟机栈 -私有区 c) 本地方法取 --私有区 d) 堆-线程共享-运行时数据区 e) 方法区-永久代 线程共享 3.jvm运行时内存 a) 新生代:Eden区/ServisionFrom/ServisionTo/ Min ...
分类:
编程语言 时间:
2020-02-21 14:56:54
阅读次数:
92
作者: 捡?螺的?男孩 常? OOM 异常分析 堆溢出 栈溢出 方法区溢出 本机直接内存溢出 GC overhead limit exceeded 一、堆溢出 Java 堆?于存储对象实例,只要不断地创建对象,并且保证 GC Roots 到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么 在对 ...
分类:
其他好文 时间:
2020-02-21 00:10:59
阅读次数:
75
jvm全景图 其中蓝色区域是线程独有的,黄色区域是线程共享的 分析方法 里面的各种指令,可以用 jvm指令手册一个一个查 一个线程的全景图 程序计数器:和计组一样,是存放下一条指令所在单元的地址的地方。 栈帧: 一个方法对应一块栈帧内存区域。 放自己方法里面各种变量用的。 其中局部变量表一般是放局部 ...
分类:
其他好文 时间:
2020-02-20 17:19:48
阅读次数:
62
多线程 1、程序、进程、线程的理解 1.程序(program) 概念:是为了完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码块。 2.线程(process) 概念:程序的一次执行过程,或是正在运行的一个程序。 说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域。 ...
分类:
编程语言 时间:
2020-02-20 09:19:54
阅读次数:
59
前言了解JVM是对Java开发人员的基本要求,JVM的相关内容自然也成了现在Java程序员面试的重要考点。不过估计很多小伙伴和我一样,长时间醉心于CRUD,却忘了去了解一下更底层、更基础的东西,殊不知这些才是决定你能在这条路上走多远的关键因素,那接下来我们就一起来深入学习一下看似神秘的JVM吧。JVM总体来看内容还是很多的,我会把最重要的内容介绍给大家,不过如果你有时间和精力的话,还是推荐你去看一
分类:
其他好文 时间:
2020-02-16 01:07:16
阅读次数:
62
JDK和JRE和JVM的关系 JDK(Java Development Kit)是程序开发者用来来编译、调试java程序用的开发工具包 JRE(JavaRuntimeEnvironment,Java运行环境),也就是Java平台。所有的Java 程序都要在JRE下才能运行。普通用户只需要运行已开发好 ...
分类:
其他好文 时间:
2020-02-12 20:20:06
阅读次数:
72
新建项目,有这么几个文件: main.cpp //一个main函数,作为应用程序的入口函数 mainwindow.cpp mainwindow.h untitled.pro //QT工程文件 打开main.cpp,引用如下代码 1 #include <QApplication> 2 #include ...
分类:
其他好文 时间:
2020-02-11 21:58:09
阅读次数:
89