JVM调优问题简单总结 jvm调优在我看来就是扩扩内存,修改一下虚拟机运行参数,再不行换个垃圾回收器,比如G1什么的。 但是,对运行时问题的定位却是个大问题,今天就来总结一下,这两天学习的关于jvm调优的一些查用的排查方式 CPU突然飙升怎么排查 因为在服务器上不只有Java进程还有其他进程,所以需 ...
分类:
其他好文 时间:
2020-12-29 11:44:09
阅读次数:
0
虚函数表指针 虚函数表指针随对象走,它发生在对象运行期,当对象创建的时候,虚函数表表指针位于该对象所在内存的最前面。 使用虚函数时,虚函数表指针指向虚函数表中的函数地址即可实现多态。 虚函数表 虚函数表是在编译期间就已经确定,且虚函数表存放虚函数的地址也是在创建时被确定。 扩展 虚函数表属于类,类的 ...
分类:
编程语言 时间:
2020-12-29 11:27:39
阅读次数:
0
浅拷贝和深拷贝 在某些状况下,类内成员变量需要动态开辟堆内存,如果实行位拷贝,也就是把对象里的值完全复制给另一个对象,如A=B。这时,如果B中有一个成员变量指针已经申请了内存,那A中的那个成员变量也指向同一块内存。这就出现了问题:当B把内存释放了(如:析构),这时A内的指针就是野指针了,出现运行错误 ...
分类:
编程语言 时间:
2020-12-29 11:24:32
阅读次数:
0
一切要从CPU说起 你可能会有疑问,讲多线程为什么要从CPU说起呢?原因很简单,在这里没有那些时髦的概念,你可以更加清晰的看清问题的本质。 CPU并不知道线程、进程之类的概念。 CPU只知道两件事: 从内存中取出指令 执行指令,然后回到1 你看,在这里CPU确实是不知道什么进程、线程之类的概念。 接 ...
分类:
编程语言 时间:
2020-12-29 11:24:07
阅读次数:
0
Windows线程的上下文结构体,struct _CONTEXT结构是与CPU有关的,特定的CPU对应着特定的CONTEXT结构。
分类:
编程语言 时间:
2020-12-29 11:21:38
阅读次数:
0
Redis内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。 相关知识:Redis提供6种数据淘汰策略: voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰 volatile-ttl:从已设置过期时间的数据集(server ...
分类:
数据库 时间:
2020-12-29 11:08:57
阅读次数:
0
前言 LRU 是 Least Recently Used 的简写,字面意思是最近最少使用。 通常用于缓存的淘汰策略实现,由于缓存的内存非常宝贵,所以需要根据某种规则来剔除数据保证内存不被撑满。 代码实现 #ifndef _LRU_CACHE_H_ #define _LRU_CACHE_H_ #inc ...
分类:
系统相关 时间:
2020-12-28 11:27:33
阅读次数:
0
1.变长一维数组 这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做: 1: //文件名: array01.cpp 2: #include<iostream> 3: using namespace std; 4: i ...
分类:
编程语言 时间:
2020-12-28 11:21:58
阅读次数:
0
1、什么是jvm的类加载机制 类加载机制是指我们将类的字节码文件所包含的数据读入内存,同时我们会生成数据的访问入口的一种 特殊机制。那么我们可以得知,类加载的最终产品是数据访问入口。 加载类文件(即.class文件)的方式有以下几种: 从本地系统中直接加载。 通过网络下载的.class文件。比如We ...
分类:
其他好文 时间:
2020-12-28 11:11:09
阅读次数:
0
前言 我们都知道ArrayList适合查询/替换、LinkedList适合添加/删除,造成这样子的原因也在于它们底层的实现。光说这些理论似乎大家都会,所以准备用更加具体的例子来证明它,也能更好地比较这两者之间的性能关系。在测试具体场景前,简单说明下环境配置,window环境下:内存8个G;JDK8; ...
分类:
其他好文 时间:
2020-12-28 11:09:04
阅读次数:
0