JVM优化 0.目标 了解下我们为什么要学习JVM优化掌握jvm的运行参数以及参数的设置掌握jvm的内存模型(堆内存)掌握jmap命令的使用以及通过MAT工具进行分析掌握定位分析内存溢出的方法掌握jstack命令的使用掌握VisualJVM工具的使用 1.为什么学习JVM优化 在本地开发环境中我们很少会遇到需要对jvm进行优化的需求,但是到了生产环境,我们可能将有下面的需求: 运行的应用“卡住了”,日志 继续阅读
Search Results for: JVM
查询到最新的12条
Java虚拟机JVM性能优化(一):JVM知识总结
Java应用程序是运行在JVM上的,但是你对JVM技术了解吗?这篇文章(这个系列的第一部分)讲述了经典Java虚拟机是怎么样工作的,例如:Java一次编写的利弊,跨平台引擎,垃圾回收基础知识,经典的GC算法和编译优化。之后的文章会讲JVM性能优化,包括最新的JVM设计——支持当今高并发Java应用的性能和扩展。 如果你是一个开发人员,你肯定遇到过这样的特殊感觉,你突然灵光一现,所有的思路连接起来了,你能以一个新的视角来回想起你以前的想法。我个人很喜欢学习新知识带 继续阅读
打通 JVM 与 Native 代码:快速了解巴拿马项目
随着 JDK 19 在未来几周*内发布,是时候讨论巴拿马(Panama)项目了,更具体地说,是新的外部函数和内存 API,它简化了 Java 和本机代码之间的互操作性。 编注:2022年9月20日 JDK 19 已正式发布。 本文使用一个简单的基于 Java 的“Hello World”应用程序调用一些 C 本机代码来介绍外部函数和内存 API。 准备 要使用 Foreign F 继续阅读
JAVA互联网一线大厂面试真题自测,顺便看看大牛的通行证
前言 熟练的掌握Java的核心底层技能很重要,这样才能从容面对面试官的种种考验,小编整理的这份面试清单都是各大厂的面试真题总结得出来的,感兴趣的挑战自己的技术层级的就赶紧来试试吧,大厂一定是行业发展的方向标杆! 阿里面试真题 1、说⼀下ArrayList和LinkedList区别 2、说⼀下HashMap的Put⽅法 3、说⼀下ThreadLocal 4、说⼀下JVM中,哪些是共享区, 继续阅读
使用Java Unsafe创建对象
在Java中使用Unsafe实例化对象是一项十分有趣而且强大的功能。本文将讲解什么是Java Unsafe以及如何使用Java Unsafe来创建对象。 一、什么是Java Unsafe? Java Unsafe是一个Java中的内部类,它提供了许多访问底层内存的方法。Java Unsafe是一个包含许多有关内存访问的方法的类,使用Java Unsafe,您可以使用Java代码实现C / C ++代码的效果。 Unsafe在JVM启动时由类加载器加载,可以在运 继续阅读
Java知识点学习(第8天)
JVM中哪些是线程共享区 线程共享的: 方法区:主要存储类的信息。堆:主要存储类所产生的各个对象。 线程独有的: 虚拟机栈:存储某一个线程在执行过程中执行了哪些方法。一个栈有很多栈帧,每个栈帧就表示线程执行了哪些方法。程序计数器:每一个线程在执行方法的时候,程序计数器会告诉线程需要执行哪一行的代码。所以必然需要每个线程独有。本地方法栈:类似于虚拟机栈, 继续阅读
Java——《面试题——MySQL篇》
前文 java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 Java——《面试题——SpringBoot篇》 目录 前文 1、数据库的三范式是什么? 2、MySQL数据库引擎有哪些 3、说说InnoDB与MyISAM的区别 4、数据库的事务 5、索引是什么 6、SQL优化手段有哪些 7、简单说一说drop、delete与truncate的区别 继续阅读
如何判断对象是不是垃圾java
判断对象是否是垃圾是Java垃圾回收机制中非常重要的一个环节。垃圾回收的原理是通过判断哪些对象不再被引用来决定垃圾回收。判断对象是不是垃圾的过程,是通过JVM内部的机制,非程序员主动控制的。但是,我们可以从几个方面来了解垃圾回收机制是如何判断对象是否是垃圾的。 一、 引用计数方法 引用计数法是垃圾回收的一种效率比较高的机制。该算法的基本思想是给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,当引用失效时,计数器值就减1。任何时刻计数器值为0的对 继续阅读
应用的集群部署
基本附和 魔力猫咪 的观点。 [quote]主要看具体是什么集群。现在有些用F5之类的负载均衡器的应用也被叫做集群,还有双机热备(部分人也把它叫集群,其实只有一台机器在工作,另一台是备份机,平时不参与业务,只有主机不能提供服务的时候,备份机采工作)。还有用一些JVM集群缓存软件构件的集群。这些集群每台机器一般都需要单独部署。因为使用F5负载均衡和双机热备的,其实是一 继续阅读
socket系列之什么是socket
1、什么是socket Socket是应用层与TCP/IP协议族通信的中间抽象层,它是一组接口,应用层通过调用这些接口实现发送和接收数据。一般这种抽象层由操作系统提供或者由JVM自己实现。使用socket可以简单地实现应用程序在网络上得通信,一台机器上的应用想socket写入信息,另外一台相连的机器能读取到。TCP/IP协议族中分两种socket类型,分别是流套接字和数据报套接字,分别对应TCP协议和UDP协议。一个TCP/IP套接字由一个互联网地址,一个协议及一个端口号唯一确定。如图2-3- 继续阅读
京东四面面经整理
一面 kafka在应用场景以及 项目 里的实现bitmap底层object里有哪些方法hashmap相关sychronized和reentrantlock相关问题以及锁升级cas和volatile线程几种状态以及转化jvm内存模型mybatis相关问题Redis数据结构,问了下跳表的底层RDB和AOFMySQL索引有哪些b+树底层实现最左前缀原理 二面 线程的状态cms增量更新法GcRoots是哪些java基础mysql索引项目具体实现 三面 索引谈谈多线程j 继续阅读
java中Path和ClassPath用法比较
java中path是什么? 在计算机上安装java后,需要设置path环境变量以便从任何目录方便地运行可执行文件(javac.exe,java.exe,javadoc.exe等),而无需键入完整路径命令。【视频教程推荐:java教程】 例如: 否则,您需要在每次运行时指定完整路径,例如: java中和classpath是什么? classpath是java编译器和java虚拟机(jvm)使用的系统环境变量。 java编译 继续阅读