ICode9

精准搜索请尝试: 精确搜索
  • 16 垃圾回收器2022-08-03 21:38:29

    垃圾回收器 一、GC分类与性能指标 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。 由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。 从不同角度分析垃圾收集器,可以将GC分为不同的类型。 Java不同版本新特性 语法层面:L

  • jvm调优经验?调优⽅案有哪些?2022-08-02 10:33:14

    1. 调优时机:a. heap 内存(⽼年代)持续上涨达到设置的最⼤内存值;b. Full GC 次数频繁;c. GC 停顿时间过⻓(超过1秒);d. 应⽤出现OutOfMemory 等内存异常;e. 应⽤中有使⽤本地缓存且占⽤⼤量内存空间;f. 系统吞吐量与响应性能不⾼或下降。   2. 调优原则:a. 多数的Java应⽤不

  • cms垃圾回收机制2022-08-02 08:00:44

    1、概念:CMS全称 Concurrent Mark Sweep,是⼀款并发的、使⽤标记-清除算法的垃圾回收器,   2、使⽤场景:GC过程短暂停,适合对时延要求较⾼的服务,⽤户线程不允许⻓时间的停顿。   3、缺点:1、服务⻓时间运⾏,造成严重的内存碎⽚化。2、算法实现⽐较复杂(如果也算缺点的话)。     4、

  • 15 垃圾回收相关概念2022-08-01 22:02:51

    垃圾回收相关概念 一、System.gc()的理解 在默认情况下,通过system.gc()者Runtime.getRuntime().gc() 的调用,会显式触发FullGC,同时对老年代和新生代进行回收,尝试释放被丢弃对象占用的内存。 然而system.gc() )调用附带一个免责声明,无法保证对垃圾收集器的调用。(不能确保立即生效) JV

  • 2022牛客多校4 K NIO's Sword2022-08-01 20:05:48

    https://ac.nowcoder.com/acm/contest/33189/K 题意: 给出n个数,要求从1到n以此得出这n个数,每轮可以进行一种操作,将\(x\)变成\((10*x+y)\%n\),\(x\)最开始是\(0\),\(y\)每次由自己随意指定,问最少操作多少次可以得到这n个数 解法: 假设\(n\)是\(100\),那么显然,对于所有数\(i\)都可以经过

  • 2022牛客多校4 N Particle Arts2022-08-01 20:02:56

    https://ac.nowcoder.com/acm/contest/33189/N 题意: 给\(n\)个数,每次任选两个数\(a,b\),变成两个新数\(a|b\)和\(a\&b\),在进行若干次操作后,数列会处于稳定,求方差 解法: 观察操作我们会发现,在操作前后,每一位上的1的数量不会发生变化,如果有两个1,与和或产生的都是1,如果有一个1,只有与是

  • 2022-07-20-JVM的基础认识2022-07-31 23:34:29

    图灵学院jvm https://www.bilibili.com/video/BV14a411B7Ux?p=1 JVM作用 JVM内存模型图 javap常用的命令 .class类文件 执行javap命令后的操作 输出到一个文件而不是控制台打印 反汇编后的实际内容 JVM指令手册(局部 官方文档 指令码解释手册 查手册就好) 线程栈、栈帧关系

  • Java 并发编程解析 | 如何正确理解Java领域中的内存模型,主要是解决了什么问题?2022-07-31 04:31:24

    苍穹之边,浩瀚之挚,眰恦之美; 悟心悟性,善始善终,惟善惟道! —— 朝槿《朝槿兮年说》 写在开头 这些年,随着CPU、内存、I/O 设备都在不断迭代,不断朝着更快的方向努力。在这个快速发展的过程中,有一个核心矛盾一直存在,就是这三者的速度差异。CPU 和内存的速度差异可以形象地描述为:CPU

  • 矩阵快速幂(运算符重载)2022-07-31 02:02:55

    https://www.luogu.com.cn/problem/P3390 把*重载成矩阵的乘法 再用普通的快速幂就行 (AC代码是copy的,实在debug不出了) #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <cctype> #define ll long long #define gc() getchar(

  • 关于最近公司一个业务系统的性能优化方案2022-07-31 01:02:58

    问题   最近公司的某个业务系统在运行过程中,经常出现数据库锁表、应用服务器CPU使用率飙升,导致系统响应很慢,甚至系统崩溃,严重影响着用户体验和企业业务运作。 分析   通过跟用户沟通,以及从数据库锁表的信息来看,导致性能问题主要有以下原因:   1、大量数据导出操作   大量数

  • 07 堆2022-07-29 17:34:38

    堆 概述 堆针对一个JVM进程来说是唯一的,也就是一个进程只有一个JVM,但是进程包含多个线程,他们是共享同一堆空间的。 一个java程序对应一个进程 每个进程拥有一个JVM实例 一个JVM实例,只有一个运行时数据区,一个运行时数据区只存在一个堆内存,堆也是Java内存管理的核心区域 Ja

  • 浅谈jvm调优2022-07-28 13:06:04

    如何排查jvm cpu飙升问题? 1.如果系统是运行的,可以通过命令观察一下cpu高的进程 2.通过jmap -histo pid 查看当前进程里面 按照占用内存的排序的对象实例个数以及其大小,以及其class文件。 3.jastack pid 然后直接拿到线程id,去分析具体代码   可以先设置好dump文件是否需要生成以及

  • 八股文2022-07-28 09:34:54

    八股文 ArrayList和Linklist ArrayList 底层是数组 常用于遍历、读取速度更快 用于查,数据的访问 LinkList 底层是链表 一个节点指向另一个节点 增删改更快 java接口和抽象类有哪些区别? 抽象类: 接口: 语义上的区别: 抽象类一般用来描述一个你可以想象出来的东西,他是一

  • 快读,快输2022-07-27 14:36:23

    快读 #define gc getchar inline ll read(){ ll a=0;int f=0;char p=gc(); while(!isdigit(p)){f|=p=='-';p=gc();} while(isdigit(p)){a=(a<<3)+(a<<1)+(p^48);p=gc();} return f?-a:a; } 快输 inline void write(int n)

  • 瑞零科技|DANI顶空进样器可以和全部类型的GC通用2022-07-27 14:34:27

      DANI HSS 86.50 (Plus) 顶空进样器是一个完全独立的系统,可以和全部类型的GC通用。接口连接迅速且容易,只需连接载气以及将输送管线插入GC注射端口中即可。   样品容量: 44位10 ml,20ml或22ml样品瓶,6个样品瓶同时加热;  操作模式:方法开发(MDO)模式;多重顶空萃取(MHE)模式;多次顶

  • java中有哪些常用的JVM参数呢?2022-07-24 17:03:31

    转自: http://www.java265.com/JavaCourse/202204/2648.html 下文笔者讲述java中JVM参数的简介说明,如下所示: JVM参数类型说明 常见的JVM参数类型如下: 1.标准的jvm参数 -version -help 2.X非标准参数, -Xms -Xmx 3.XX不稳定参数, -XX:+PrintGC 设置这些参数会引起JVM性能

  • JVM基础和问题分析入门笔记2022-07-23 10:34:43

    1.1 JDK、JRE、JVM的关系 JDK是java开发工具集合,JRE是java运行环境,JVM是Java虚拟机 JDK > JRE > JVM JDK = JRE + 开发工具 JRE = JVM + 类库 三者在开发运行Java程序时的交互关系: 通过JDK开发的程序,编译以后,可以打包发给装有JRE的机器上去运行。而运行的程序,则是通过Java命令启

  • 记一次 .NET 某RFID标签管理系统 CPU 暴涨分析2022-07-22 09:09:00

    一:背景 1. 讲故事 前段时间有位朋友说他的程序 CPU 出现了暴涨现象,由于程序是买来的,所以问题就比较棘手了,那既然找到我,就想办法帮朋友找出来吧,分析下来,问题比较经典,有必要和大家做一下分享。 二:WinDbg 分析 1. CPU 真的爆高吗 一直关注这个系列的朋友应该知道,用 !tp 验证即可。 0

  • JVM如何知道一个对象该回收了呢?2022-07-17 11:32:25

    转自: http://www.java265.com/JavaCourse/202204/2841.html 下文笔者讲述JVM虚拟机如何界定对象可以被回收的方法分享,如下所示: 回收就是通常我们所说的GC,那么何时我们才知道对象该回收呢 下文将一一道来,如下所示 我们都知道在java中 程序计数器、虚拟机栈、本地方法栈这三个区

  • 因Full GC导致CPU飙升到100%问题排查记录2022-07-17 00:01:19

    背景 提供了一个商品信息查询接口,此接口中会从Redis缓存中读取一个大对象列表出来,然后再根据传入的参数,对大对象列表进行过滤,进而得到最终的返回结果。 这里是一个比较典型的触发CPU飙高的场景,单次调用会生成大对象导致占用大量的年轻代空间。如果在业务高峰期,调用这个商品查询接

  • JVM疑难问题2022-07-12 20:00:53

    数组类创建过程 【结论】数组类本身并不是由类加载器负责创建的,而是由JVM直接在内存中动态构造出来的 理解: String[] Student[] Integer[] int[] 【结论】数组不是类加载器创建的而是java虚拟机直接创建的,知道这个结论就可以了,因为数组不属于类 核心就是: 创建数组类的过程: 1、如

  • 线上CPU飙升排查2022-07-11 18:02:01

    线上CPU飙升排查 目录线上CPU飙升排查准备一份代码步骤top命令找到对应进程找到占用最高的线程方法1方法2将线程号转换成16进制使用jdk的工具jstack查看堆栈信息cpu飙升可能原因1. 超大对象频繁移动或者创建2 .内存消耗过大,导致Full GC次数过多3. 死循环等CPU密集型代码4. 死锁5.

  • .NET GC工作流程2022-07-11 09:33:51

    前言 在上文[如何获取GC的STW时间]一文中,我们聊到了如何通过监听GC发出的诊断事件来计算STW时间。里面只简单的介绍了几种GC事件和它的流程。 群里就有小伙伴在问,那么GC事件是什么时候产生的?分别是代表什么含义? 那么在本文就通过几个图为大家解答一下这个问题。 有哪些GC模式? 工作

  • JVM面试题2022-07-09 19:34:51

    1、java中会出现内存泄漏吗?前简述   会。自己实现堆载的数据结构时有可能会出现的内存泄露,可参考看effective java   2、64位JVM中,int的长度是多数?   java中,int类型变量的长度是一个固定值,与平台无关,都是32位,意思是说,在32位和64位的java虚拟机中,int类型的长度是相同的。   3、

  • 垃圾回收机制具体是如何执行的?2022-07-06 20:05:31

    Java虚拟机的自动内存管理,将原本需要由开发人员手动回收的内存,交给垃圾回收器来自动回收。不过既然是自动机制,肯定没法做到像手动回收那般精准高效,而且还会带来不少与垃圾回收实现相关的问题。 引用计数法与可达性分析 在Java虚拟机的语境下,垃圾指的是死亡的对象所占据的堆空间。

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

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

ICode9版权所有