先说:唯手熟尔 指针存储着一个内存空间的地址 定义一个指针 int a; int * p; 定义一个指针,只需在变量前面加一个 * 号。这里的指针只能存储一个存放整数的内存空间的地址 指针如何存储地址 p = &a; &叫取地址符。这样整形指针p获得了整型变量a的地址。理解为指针p指向了整型变量a ...
分类:
其他好文 时间:
2020-07-02 21:36:30
阅读次数:
41
利用展开运算符进行数组拷贝,采用的是浅拷贝,即引用的是同一个内存地址。但是当两个数组其中一个进行了变动,发生变动的节点会重新开辟出内存空间,其它未改变的节点依然引用同样的内存块。具体看如下代码示例: let a=[1,2,3]; let b=[4,5]; let c=[...a,...b]; con ...
分类:
编程语言 时间:
2020-07-01 16:05:39
阅读次数:
70
Java内存泄漏 解释 内存泄漏: 存在一些被分配的对象,满足两个特点: 对象是可达的:在有向图中,存在通路与之相连. 对象是无用的:程序以后不再使用这些对象. 结果:消耗越来越多的内存资源,最终导致OutOfMemoryError。 与C++的区别: C++:对象被分配内存空间,却不可达. Jav ...
分类:
编程语言 时间:
2020-07-01 09:17:15
阅读次数:
66
项目响应速度要求比较高,全部使用Redis缓存这也导致缓存。需要分析各种键占用内存情况进行优化。 redisclient虽然可以很方便的对redis进行操作,但不能查看对应key占用的内存情况,也无法对占用内存的key进行统计分析。我简单的了解一下市面上的可以查看redis中的key的占用的开源中间 ...
分类:
其他好文 时间:
2020-06-30 12:59:09
阅读次数:
56
包含: 程序计数器 虚拟机栈 本地方法栈 堆 方法区(包含运行时常量池) 直接内存 线程私有:程序计数器,虚拟机栈,本地方法栈线程共享:堆,方法区 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程执行的字节码行号指示器,JVM 通过改变这个计数器的值,来选取下一条需要执行的字节码指令, ...
分类:
其他好文 时间:
2020-06-29 22:52:57
阅读次数:
62
前言线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在。一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加轻量化,也因此被称为轻量级的进程。1)线程是如何工作的?线程的状态在JDK1.5之后以枚举的方式被定义在Thread的源码中,它总共包含以下6个状态:NEW:新建状态,线程被创建出来,但尚未启动时的线程状态;R
分类:
编程语言 时间:
2020-06-29 15:42:59
阅读次数:
77
单例模式:使类只有一个实例对象的设计模式称为单例模式。 单例模式作用:1)节省内存空间 2)业务需求(有些类必须只有一个实例) 单例的实现的几个步骤: 1)构造方法私有化(别人不能通过new来创建这个对象) 2)在类的内部创建单例对象 3)通过public方法提供这个单例对象 单例模式的实现方式: ...
分类:
其他好文 时间:
2020-06-29 00:01:05
阅读次数:
62
何为内存泄漏? 内存泄露(Memory leak),是指程序在向系统申请分配内存空间后(new),在使用完毕后未释放。结果导致一直占据该内存单元,我们和程序都无法再使用该内存单元,直到程序结束,这是内存泄露。 JVM/ART JVM(Java虚拟机) 是一个虚构出来的运行Java程序的运行时环境,是 ...
分类:
移动开发 时间:
2020-06-28 22:10:07
阅读次数:
78
JVM调优核心为调整年轻代、年老大的内存空间大小及使用GC发生器的类型等。start.sh文件内容,我们来分下: java -server -Xms4G -Xmx4G -Xmn2G -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -Dcom.sun.manag ...
分类:
其他好文 时间:
2020-06-28 14:58:59
阅读次数:
42
一、信号是什么,有什么作用? 1. 信号简介 连接Linux都知道,Linux以进程为单位来执行程序。我们可以将计算机看作一个大楼,内核(kernel)是大楼的管理员,进程是大楼的房客。每个进程拥有一个独立的房间(属于进程的内存空间),而每个房间都是不允许该进程之外的人进入。这样,每个进程都只专注于 ...
分类:
其他好文 时间:
2020-06-27 11:56:41
阅读次数:
64