- 2024-11-21Java初识
Java概述Java由来Java是由JamesGosling设计的。最初是为了网联化的市场前景而开启的项目计划,起名为Oak,但这个市场并不友好,这个项目就被搁置了;但在1994年,该项目小组看到了浏览器在未来的发展前景,于是决定将OaK应用于万维网,就这样Java诞生了。随着Java的发展,体系越来越完
- 2024-11-20JVM八股
JVMJVM的内存结构元空间,Java虚拟机栈,本地方法栈(虚拟机栈执行Java方法,本地方法站执行native方法),程序计数器,堆内存,直接内存JVM内存模型里的堆和栈有什么区别栈主要用于存储局部变量、方法调用的参数、方法返回地址以及一些临时数据栈中的数据具有确定的生命周期,当一个方法调用
- 2024-11-20【尼恩】JVM预热,你的方案是啥?
转发自:https://blog.csdn.net/crazymakercircle/article/details/132793889尼恩老法师 说在前面在40岁老架构师尼恩的读者社区(50+)中,最近有小伙伴拿到了一线互联网Q企业如微博、阿里、汽车之家、极兔、有赞、希音、百度、网易、滴滴的面试资格,遇到一几个很重要的面试题:
- 2024-11-20JVM 场景面试题【强烈推荐】
前言:前面系列文章让我们对JVM及垃圾回收相关的知识有了一个基本的了解,JVM的知识比较偏概念,当然也有一些底层的源码可以去研读,但多数来说我们了解了JVM的原理即可,本篇我们将基于前面分享的JVM相关的原理知识,提取一些JVM中场景的面试题,希望可以帮助到有需要的朋友。
- 2024-11-20jvm堆外内存
jvm的内存包含堆内存和堆外内存,所谓堆内存就是我们平常用-xms和-xmx控制的内存,而堆外内存分为几部分:元空间大小:元空间是用于存储类的元数据信息的区域,在JDK8之后替代了永久代。可以通过-XX:MetaspaceSize和-XX:MaxMetaspaceSize来设置初始大小和最大大小。例如:-XX:MetaspaceS
- 2024-11-19JVM 内存分配的调优过程
以一个创建1MB对象的接口来模拟万级并发请求产生大量对象的场景。@RequestMapping(value="/test1")publicStringtest1(HttpServletRequestrequest){List<Byte[]>temp=newArrayList<Byte[]>();Byte[]b=newByte[1024*1024];temp.add(b)
- 2024-11-1802day
DOS常用命令windows下打开命令行窗口:1、在指定的文件下按住shift+右键打开命令行窗口 2、在资源管理器的文件导航中输入cmd+“”+路径#盘符切换盘名字:#查看当前目录下的所有文件dir#切换目录cd+文件路径(如果想在这里切换磁盘则要输入/d盘名:)cd../返回上
- 2024-11-18Java基础知识(一)
文章目录基础概念1.Java语言的特点2.JavaSEvsJavaEE3.JVMvsJDKvsJRE的区别a.JVMb.JDKc.JDEd.JDK、JRE和JVM的关系4.字节码5.Java语言“编译与解释并存”的特性6.AOT编译模式优势缺陷7.OracleJDKvsOpenJDK8.Java和C++的区别相同点:不同点
- 2024-11-17Elasticsearch 在Linux下的安装部署和配置
环境CentOS-7-x86_64-DVD-2009.isohttps://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.isoelasticsearch-7.10.0-linux-x86_64.tar.gzhttps://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-10-0https://artifacts.elastic.co/downl
- 2024-11-17深入理解 JVM 垃圾回收算法
前言上一篇我们对JVM的垃圾回收进行了探讨,知道了什么样的对象是垃圾对象,以及JVM虚拟机是如何判断一个对象垃圾对象的,本篇我们来探讨一下JVM垃圾回收算法。JVM系列文章传送门初识JVM(Java虚拟机)深入理解JVM(Java虚拟机)一文搞懂JVM垃圾回收(JVMGC)JVM有哪些垃
- 2024-11-17Java面试之多线程&并发篇(5)
前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!常用的线程池有哪些?简述一下你对线程池的理解?Java程序是如何执行的?锁的优化机制了解吗?说说进程和线程的区别?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12万字的java面试题整理******java核心面试知
- 2024-11-17JVM---JDBC案例是否真的打破了双亲委派机制的思考
首先先来了解一下数据库驱动的加载过程:数据库驱动加载的过程我们先来看看Java中SPI定义的一个核心类:DriverManager,该类位于rt.jar包中,是Java中用于管理不同数据库厂商实现的驱动,同时这些各厂商实现的Driver驱动类,都继承自Java的核心类java.sql.Driver,如MySQL的com.mysql.c
- 2024-11-16Java虚拟机JVM-程序计数器 讲解
目录Java8的JVM内存结构程序计数器的功能程序技术器的具体细节class文件的字节码视图的内容程序计数器的特性Java8的JVM内存结构程序计数器的功能记录每个线程正在执行的字节码指令的地址,帮助JVM确定下一条需要执行的指令。程序技术器的具体细节class文件的
- 2024-11-16JVM内存以及垃圾回收
JVM基本概念线程JVM内存区域程序计数器(线程私有)虚拟机栈(线程私有)本地方法区(线程私有)堆(Heap-线程共享)-运行时数据区方法区/永久代(线程共享)JVM运行时内存新生代Eden区ServivorFromServivorToMinorGC的过程(复制->清空->互换)eden、ServivorFrom复制到ServivorTo,年龄+1清空
- 2024-11-15对偶发接口频繁超时问题排查并解决
问题排查现象 业务(重量级业务,比较庞大)高峰期接口偶尔频繁超时,重启机器即可恢复,或连续超时多次超时后pod内存溢出,直接触发重启后恢复。多次出现超时情况时jstack线程栈、jmap获取内存快照,对其进行分析后没明显异常。机器配置pod配置pod内存:5.1G(线上
- 2024-11-15Tomcat Windows 服务 JVM 内存参数设置
Tomcat在Windows平台上启动服务的方式是CommonsDaemon,JVM的启动参数可以有多种设置方法。本文介绍CommonsDaemon的大致组成和参数设置方法。CommonsDaemon由两部分组成。一是由C语言开发负责和操作系统交互的平台相关程序,在Windows上平台相关部分是procrun,在Un
- 2024-11-15Java虚拟机(JVM):Java程序的心脏
Java虚拟机(JavaVirtualMachine,JVM)是Java运行时环境的核心组件,它不仅为Java程序提供了跨平台的能力,还负责内存管理、类加载、字节码解释与执行等重要功能。本文将深入探讨JVM的架构、内存划分、工作原理以及性能调优等方面的内容,帮助读者全面理解这一关键技术。一、JVM的架构
- 2024-11-15JAVA的概述,安装与第一个Java程序
Java的发展史1991年sun公司的工程师小组需要设计一种小型计算机语言,主要用于计算处理能力和内存都非常有限的小型消费类电子产品像:电视机机顶盒,家用电器。另外由于不懂厂商选择不同的cpu,因此这类语言必须能生成非常紧密的代码保证保证在小型电器上运行,而且还要要求这种语言不
- 2024-11-14初识JVM,JVM自动内存管理
文章目录一、前言1.1计算机==>操作系统==>JVM1.1.1虚拟与实体(对上图的结构层次分析)1.1.2Java程序执行(对上图的箭头流程分析)二、JVM内存空间与参数设置2.1运行时数据区2.2关于StackOverflowError和OutOfMemoryError2.2.1StackOverflowError2.2.2OutOfMemoryErr
- 2024-11-13深入理解Java的类加载与卸载机制
在Java中,类加载和卸载是Java虚拟机(JVM)管理类生命周期的重要环节。类加载是Java动态链接机制的核心,通过它,JVM可以在运行时加载类文件。而类的卸载则是为了节省内存,将无用的类从JVM中移除。要理解类的加载和卸载,不仅有助于解决类加载异常、内存泄漏等问题,也能帮助我们更好地优
- 2024-11-13jvm 垃圾回收算法
如何实现回收的(核心思想):1.找到内存中存活的对象(与GCRoot相关联)2.释放不再存活对象的内存,使得程序能再次利用这部分空间---------------------------------------------------------------------------------垃圾回收算法的分类: -------- ---------------------------
- 2024-11-13jvm 五种常见的对象引用
-------------------------------------------------------------------------------软引用: ------ ---------------- -----------------------------------------------------------------------------------------------------------------弱引用: --------------
- 2024-11-13什么是 Java中的 OOM
一、什么是Java中的OOM(OutOfMemoryError)在Java中,OutOfMemoryError(OOM)是一个运行时错误,表示JVM(JavaVirtualMachine)在执行程序时,无法为对象分配足够的内存。通常,这意味着JVM堆内存或其他内存区域(如方法区、直接内存等)已用尽。OOM错误通常发生在以下几
- 2024-11-13大数据新视界 -- 大数据大厂之 Impala 性能提升:高级执行计划优化实战案例(下)(18/30)
- 2024-11-13彻底搞懂jvm内存以及jvm垃圾回收机制
jvm内存划分jvm内存分为线程私有、线程共享、直接内存线程私有包括:程序计数器,虚拟机栈,本地方法栈线程共享包括:堆,方法区程序计数器:每条线程都要有一个独立的程序计数器,cpu通过这个来决定执行的线程,根据这个取指虚拟机栈:之前上java棵老师提过一嘴,java的方法是放在栈里面的,