ICode9

精准搜索请尝试: 精确搜索
  • 【C# GC】C# GC何时被调用2022-02-16 13:33:01

    首先要指导GC的机制,这部分转载自:http://blog.csdn.net/qq_20949153/article/details/52188882CLR:公共运行时环境,管理托管堆。CTR:设置引用类型,值类型。GC:只负责回收托管对象,不负责回收非托管对象。垃圾回收器的基本假定:         1.被分配内存空间的对象最有可能被释放。在

  • JVM2022-02-15 17:01:34

    一、(面试题)Java是编译型语言还是解释型语言? java源代码由编译器编译为字节码,字节码由jvm解释器解释执行   二、HotSpot架构图     三、类加载机制   类加载机制:Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使

  • ZGC2022-02-14 19:04:34

    ZGC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,它的设计目标包括: 停顿时间不超过10ms; 停顿时间不会随着堆的大小,或者活跃对象的大小而增加; 支持8MB~4TB级别的堆(未来支持16TB)。 从设计目标来看,我们知道ZGC适用于大内存低延迟服务的内存管理和回收。本文主要介

  • 避免使用双for2022-02-11 11:31:17

    避免使用双for 在平时的开发过程中有一些地方需要使用到双for,但是想到这样的使用可能会降低代码执行的效率。 有一方法就是使用Stream。利用流的中间操作,映射。 IPage<PartyGeneralChangeEntity> page = this.page( new Query<PartyGeneralChangeEntity>(

  • JVM虚拟机2022-02-10 23:03:49

    一、内存模型:包括堆、栈、本地方法栈、方法区(元空间)、程序计数器 1.栈 ①、栈又称为线程栈,是每个线程独有的内存空间,存放线程中的局部变量。 (栈中存放的是对象的内存地址,对象是存放在堆中的) ②、栈帧,一个方法对应一个栈帧内存空间。在每个方法执行时,在栈的内存空间中,会分配

  • JVM面试连环炮2022-02-10 20:03:19

    目录 1 java中会存在内存泄漏吗,请简单描述。2 64 位 JVM 中,int 的长度是多数?3 Serial 与 Parallel GC 之间的不同之处?4 32 位和 64 位的 JVM,int 类型变量的长度是多数?5 Java 中 WeakReference 与 SoftReference 的区别?6 JVM 选项 -XX:+UseCompressedOops 有什么作用?为什么

  • 5分钟掌握JVM常用选项及相关知识2022-02-09 20:33:06

    相信很多java工程师在工作中都会接触到jvm,在面试中也会被问到跟java虚拟机有关的问题。我们为了把工作做好、把项目维护好、在系统出现fullgc等问题的时候,能够像老司机一样准确定位问题,很有必要把java虚拟机知识学习一遍。 然而,Java虚拟机的知识量很大,买一本书回来慢慢学习会比

  • Java 进阶 07 —— JVM 垃圾回收相关概念2022-02-09 18:04:17

    文章目录 System.gc() 的理解内存溢出与内存泄露内存溢出内存泄露 Stop The World垃圾回收的并行与并发并发(Concurrent)并行(Parallel)并发 vs 并行垃圾回收的并发与并行 安全点与安全区域安全点(Safe Point)安全区域(Safe Region) 再谈引用再谈引用:强引用(不回收)再谈引用:软引用(内

  • Java 进阶 08 —— JVM 垃圾回收器2022-02-09 18:03:09

    文章目录 垃圾回收器概述垃圾回收器的分类评估 GC 的性能指标吞吐量(throughput)暂停时间(pause time)吞吐量 vs 暂停时间 不同的垃圾回收器概述垃圾收集器发展史7 款经典的垃圾回收器7 款经典的垃圾回收器与垃圾分代之间的关系垃圾收集器的组合关系如何查看默认的垃圾回收器

  • GC算法总结2022-02-09 13:04:26

    总结 内存效率:复制算法>标记清除算法>标记压缩算法(时间复杂度) 内存整齐度:复制算法=标记压缩算法>标记清除算法 内存利用率:标记压缩算法=标记清除算法>复制算法 思考一个问题:难道没有最优算法吗? 答案:没有,没有最好的算法,只有最合适的算法-----> GC∶分代收集算法 年轻代:

  • GC之标记压缩清除算法2022-02-09 12:34:23

    标记清除算法 优点:不需要额外的空间! 缺点:两次扫描,严重浪费时间,会产生内存碎片。 标记压缩 再优化: 标记清除压缩 先标记清除几次 再压缩~

  • JVM调优2022-02-08 22:01:07

    JVM调优经历 系统优化: 一般系统优化思路是这样的:数据库->应用->JVM->网络和操作系统 1. 首先排查是否为数据库的问题,这个过程中就需要评估自己建的索引是否合理、是否需要引入分布式缓存、是否需要分库分表等等。 2. 然后考虑应用是否需要扩容(横向和纵向都会考虑,有可能是系统的压

  • JVM之垃圾回收第二篇垃圾回收算法(总体第十三篇)2022-02-08 16:36:07

    上一篇文章中已经大概解释了一下我们的java有的内存管理的内容和垃圾方面的内容。 上篇文章地址https://blog.csdn.net/weixin_46635575/article/details/122797073 1、垃圾标记阶段的算法之引用计数算法 (1)复习一下内存模型 咱垃圾回收是发生在我们的堆和元空间(元空间的Meth

  • javaz GC-循环引用2022-02-08 16:35:46

    工作原理:为每个内存对象维护一个引用计数。 当有新的引用指向某对象时就将该对象的引用计数加一,当指向该对象的引用被销毁时将该计数减一,当计数归零时,就回收该对象所占用的内存资源。 缺陷:在每次内存对象被引用或引用被销毁的时候都必须修改引用计数,这类操作被称为footprint。引

  • 【第十四期】高德go面经2022-02-08 09:34:35

    自我介绍 选一个比较熟悉的项目讲讲 筛选日志的时候,日志格式是不一样的,你们是如何处理的? 处理日志的时候如果日志量比较大会堆积吗?怎么处理的? 日志落盘到机器上,是如何采集的? 采集服务有问题的话可能会影响报警的及时性吗? 处理日志的时候如果发现突然量变大,该如何扩容让以前堆积的

  • JavaScript的内存管理2022-02-08 02:32:01

    JavaScript的内存管理 1.什么是内存管理? 在了解JavaScript的内存管理之前,可以先大致熟悉一下什么是内存管理,不管什么样的编程语言,在其代码执行的过程中都是需要为其分配内存的。 不管什么样的编程语言,以及它用什么方式来管理内存,其内存的管理都具备以下的生命周期: 申请内存:分配

  • GC的了解2022-02-07 23:00:22

    1.GC的四种算法的原理与优缺点 引用计数法 每个对象都存在一个引用计数器。在被引用的时候,都会让计数器+1。当引用消失时,计数器-1。当GC时,引用为计数器为0的对象就是垃圾对象没有被使用,即被回收。 缺点:如果两个对象相互引用,则无法被回收。类似于死锁。我拉着你,你拉着我,我们

  • JVM(Java虚拟机)从0到1全部合集,强烈建议收藏!2022-02-07 21:34:18

    为了方便大家更好的掌握好JVM(Java虚拟机),也为了让知识更系统化,这里我单独把JVM的整个系列一并罗列于此,希望对有用的人有用,也希望能帮助到更多的人。 深入详解JVM内存模型与JVM参数详细配置 这篇文章主要讲了以下几点: JVM内存结构 堆内存(Heap) 方法区(Method Area) 虚拟机栈(JVM St

  • openJDK中各种垃圾回收器浅谈2022-02-07 21:00:27

    本文的重点是把openJDK中多种主流垃圾回收器拉到一起,并对他们的特征、关注点、优劣势做对比分析,以期能在生产时间中根据业务场景选择合适的垃圾回收器。由于本文并非介绍各种垃圾回收器的内部实现细节,所以对垃圾回收器的工作过程只做整体描述。 openJDK中主流的垃圾回收器 截止到

  • 【JVM】CMS垃圾回收器概念与问题2022-02-07 18:59:22

    与轻重GC的区别 首先CMS不是重GC也不是轻GC,在新生区满后,会出发轻GC,将不能删除的数据放入到幸存区,幸存区会通过复制算法清理完成后再加入轻GC后的数据 CMS垃圾回收器主要针对的是老年代的垃圾回收,但是他并不是重GC,和重GC无关 CMS垃圾回收特点         1.CMS只会回收老年

  • jvm基础理论。2022-02-07 17:02:25

    前言 我们常说的JVM调优,到底指的是什么?你应该牢记一个名词stop-the-world,无论您选择哪种 GC 算法,都会发生stop-the-world,stop-the-world意味着 JVM 因为要执行GC而停止了应用程序的执行。当stop-the-world发生时,除了GC所需的线程以外,所有线程都处于等待状态,直到GC任务完成。我们

  • 面试题--JVM面试总结2022-02-04 23:33:45

    jre、jdk、jvm之间的关系 JDK是Java程序员常用的开发包、目的就是用来编译和调试Java程序的。 JRE是指Java运行环境,也就是我们的写好的程序必须在JRE才能够运行。 JVM是Java Virtual Machine(Java虚拟机)的缩写,是指负责将字节码解释成为特定的机器码进行运行,值得注意的是在运行

  • JVM-堆参数调整2022-02-04 20:59:01

        1、-Xmx 设置初始分配大小,默认为物理内存的"1/64" 2、-Xmx 最大分配内存,默认为物理内存的"1/4" 3、-XX:+PrintGCDetails 输出详细的GC处理日志 查看自己电脑默认配置大小  生成环境最大值和最小值必须设置一样。不然系统内存忽高忽低,系统产生停顿 4、idea设置堆内存的

  • 对象生命周期和GC2022-02-04 16:58:59

    一、 辛存者0区别名:from区 辛存者1区别名:to区 from区和to区,他们的位置和名分,不是固定的,每次GC后会交换,GC之后有交换,谁空谁是to   eden区和from区,to区比例:8:1:1 新生代和老年代的比例:1/3,2/3 发送轻GC 的过程就是 复制--->清空---->互换 1、第一次GC的时候会把活着的对象拷贝到Sur

  • OpenJDK 17 中的 Shenandoah:亚毫秒级 GC 停顿「译」2022-02-04 12:58:52

      一、前言   Shenandoah OpenJDK 垃圾收集(GC) 项目的主要动机是减少垃圾收集暂停时间。在 JDK 12 中,发布了原始的 Shenandoah 垃圾收集器,它实现了并发堆疏散,解决了在不停止应用程序的情况下清理(可能很大)堆的主要问题。这个版本最终被移植到 JDK 11。在 JDK 14 中,实现了

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有