栈内存:栈内存首先是一片内存区域,存储的都是局部变量,凡是定义在方法中的都是局部变量(方法外的是全局变量),for循环内部定义的也是局部变量,是先加载函数才能进行局部变量的定义,所以方法先进栈,然后再定义变量,变量有自己的作用域,一旦离开作用域,变量就会被释放。栈内存的更新速度很快,因为局部变量的生 ...
分类:
编程语言 时间:
2020-08-06 17:10:24
阅读次数:
77
第八讲:Git标签、别名与Gitgc前言这一节主要介绍Git标签、别名与Git的垃圾回收机制。一、Git标签(tag)1.标签的实质标签与分支十分相似,都是指向某一次提交;并且,它们的值都为各自指向提交的SHA1值;但是,不同于会随着提交的变化而变化的分支,一旦给某次提交添加了标签,该标签就永远不会发生变化。「注意」:标签标识的是某一次提交,这次提交可以是任何分支上的任何一次提交。两类标签Git标
分类:
其他好文 时间:
2020-08-05 10:34:43
阅读次数:
67
垃圾回收器有哪些?是一个高频的面试题,那本文就详细来解答这个问题。因为不同的厂商(IBM、Oracle),实现的垃圾回收器各不相同,而本文要讨论的是Oracle的HotSpot虚拟机所使用的垃圾回收器。常用垃圾回收器,如下图所示:新生代回收器:Serial、ParNew、ParallelScavenge老年代回收器:SerialOld、ParallelOld、CMS整堆回收器:G1其中相互连线的垃
分类:
其他好文 时间:
2020-08-02 10:17:00
阅读次数:
76
关于垃圾回收算法的这道面试题,几乎是所有3年以上的Java面试中必问的题目,甚至有些好一点的公司会在校招时问到面试者。那么本文就系统的讲一下垃圾回收的算法,和Hotspot虚拟机执行垃圾回收的一些实现细节,比如安全点和安全区域等。因为各个平台的虚拟机操作内存的方法各不相同,且牵扯大量的程序实现细节,所以本文不会过多的讨论算法的具体实现,只会介绍几种算法思想及发展过程。垃圾回收算法1、标记-清除算法
分类:
编程语言 时间:
2020-08-02 10:16:16
阅读次数:
74
对象的诞生“你醒啦!”,迷迷糊糊中听到一个声音,我睁开了眼睛,发现一个小伙伴正看着我。“这里是哪里,你是谁啊?”“这里是堆区,我是一个Ajax对象,叫我小A吧”我慢慢坐了起来,举目四望,这里有好多形形色色的对象居住在这里,远处还有好多的线程在各自忙碌着,好一副热闹的景象!“你好,我才刚醒,我还不知道我是什么对象呢”“这个简单,让我看看哈~~哦,原来你是一个APIController对象啊”,小A摸
分类:
编程语言 时间:
2020-07-31 12:37:35
阅读次数:
83
在java语言中,除了基本数据类型以外,其他的引用都是各类对象的引用,根据生命周期的长短,分为以下四类: 强引用:我们new的对象所关联的引用就是强引用,当jvm内存空间不足时,宁肯抛出oom运行时错误,也不会将该引用回收来解决内存不足的问题。除非将其赋值为null或者超过引用的作用范围,该引用指向 ...
分类:
其他好文 时间:
2020-07-30 22:02:24
阅读次数:
74
垃圾回收概念 什么是垃圾 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 如果不及时对内存中的垃圾进行清理那么,这些垃圾对象所占的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用。甚至可能导致内存溢出。 为什么需要GC 对于高级语言来说,一个基本认知是如果 ...
分类:
其他好文 时间:
2020-07-29 15:14:38
阅读次数:
61
python内存管理&垃圾回收 引用计数器 环装双向列表refchain 在python程序中创建的任何对象都会放在refchain连表中 name = '张三' age = 18 hobby = ['汽车','游艇'] 创建一个变量!内部会创建一些数据【上一个对象,下一个对象,类型,引用个数 na ...
分类:
编程语言 时间:
2020-07-28 17:23:40
阅读次数:
93
对于Java开发而言,Java虚拟机是开发工作中必须要理解和掌握的知识内容,也是Java面试中面试官常会问到的考点。在本课程中,我将带你循序渐进的学习JVM:从源码到运行、类加载,再到内存分配和垃圾回收,以及JVM调优的技巧与实战。整个课程基于JDK13讲解,理论-实战-面试三结合,带你剖析整个JVM知识体系,JVM问题一站解决。一、首先JVM是什么JVM它是JavaVirtualMachine的
分类:
其他好文 时间:
2020-07-27 23:38:44
阅读次数:
119