手机版
热门标签
站点地图
我要投稿
广告合作
联系我们
搜 索
广告位招租
广告位招租
切换导航
首页
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
人工智能
栏目导航
▸ 编程语言
▸ 前端开发
▸ 移动开发
▸ 开发工具
▸ 程序设计
▸ 行业应用
▸ CMS系统
▸ 服务器
▸ 数据库
公众号推荐
微信公众号搜
"智元新知"
关注
微信扫一扫可直接关注哦!
子栏目导航
Git
GitHub
SVN
Jenkins
Vim
vmware
Hyper-v
SSH
Jmeter
sysTemd
Maven
Webpack
Zookeeper
k8s
Phpstorm
JVM
IDEA
Appium
Cypress
pandas
Eclipse
HBuilder
编程工具
Markdown
Mac
Pytest
Selenium
istio
Gradle
Tensorflow
Homebrew
编程之家
JVM
java – 未处理的异常如何影响JVM?
我的项目有20个未处理的异常,无关紧要,我想知道它们如何影响JVM?它不会崩溃,但我仍然想知道它们在JVM中的占用空间.他们去哪里? 所有异常都由您的代码或“未捕获的异常处理程序”处理.避免处理异常的唯一方法是从finally块返回或退出程序. 未处理的异常/错误将导致正在运行的线程结束.然而,这是可接受的响应,没有理由这需要扰乱您的应用程序. Exceptions的一个问题是它们有一些开销,如果
作者:编程之家 时间:2020-09-03
java – 显示VisualVM等每个可用JVM的主类名
VisualVM做得非常好,每个完整的主类名都显示在左侧栏导航中.这些名字是如何检索的? Attach API为所有正在运行的JVM提供显示名称,但是,某些显示名称看起来有点膨胀,例如 Eclipse: C:\Program Files\Eclipse\plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar -os win32 -ws wi
作者:编程之家 时间:2020-09-03
java – 我可以手动复制JVM完成的一些优化吗?
我正在学校做一个数独求解器,我们正在进行一场小小的表演比赛.现在,我的算法在第一次运行时(大约2.5ms)非常快,但是当我解决相同的谜题10 000次(每次运行大约0.5ms)时更快.当然,这些时间取决于正在解决的难题.我知道JVM在多次调用方法时会做一些优化,这是我怀疑正在发生的事情. 我不认为我可以进一步优化算法本身(虽然我会继续寻找),所以我想知道我是否可以复制JVM完成的一些优化. 注意:
作者:编程之家 时间:2020-09-04
java – 有没有办法强制JVM在单个处理器或Core上运行
在 Java中,有没有办法强制JVM实例在单个CPU / Core上运行. 另外有一种方法可以让给定的线程找出它运行的CPU吗? 这不是在JVM / Java级别控制,而是在OS /平台级别控制.例如,在Windows中,您可以转到任务管理器中的“进程”选项卡,并通过在右键单击菜单中选择适当的选项来为大多数进程设置“关联”.通过这种方式,您基本上可以控制允许进程使用的CPU /核心.
作者:编程之家 时间:2020-09-04
jvm – 是否可以在Java中进行InterProcess通信?
我有两个 Java程序,每个程序都运行在自己的JVM实例中?他们可以使用共享内存或管道等任何IPC技术相互通信吗?有办法吗? 是; D-BUS和 Pipes都易于使用,并且跨平台. D-BUS对于通用消息传递IPC和用于发送批量数据的管道非常有用. 如果需要支持连接到中央服务器的多个客户端,还可以在localhost上打开TCP或UDP套接字. 我还发现了一个implementation of U
作者:编程之家 时间:2020-09-06
java – 在创建非文字大小的数组时,jvm如何分配memroies
在c / c中,必须在创建时指定数组大小的字面数,即int arr [10];.但在 java中,我们可以用这种形式创建一个数组int size = 10; int [] arr = new int [size];.并且编译器不会弄清楚变量大小究竟是什么.那么jvm如何分配数组所需的内存? Java在堆上分配数组内存.变量arr只是对数组的引用,而不是数组本身.这与使用malloc或new在c /
作者:编程之家 时间:2020-09-06
JVM运行时数据区域和垃圾回收
????Java虚拟机定义了若干种程序运行期间会使用的运行时数据区域,其中一些会随着虚拟机启动而创建,随着虚拟机的退出而销毁。另外一些则是和线程一一对应,这些与线程对应的数据区域随着线程开始而创建,线程的结束而销毁。 PC寄存器 ????PC寄存器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器,每条线程都要一个独立的PC寄存器,这个内存也是线程私有的内存。正在执行 java 方
作者:编程之家 时间:2020-09-09
JVM内存设置多大合适?Xmx和Xmn如何设置?
JVM内存设置多大合适?Xmx和Xmn如何设置? 问题: 新上线一个java服务,或者是RPC或者是WEB站点, 内存的设置该怎么设置呢?设置成多大比较合适,既不浪费内存,又不影响性能呢? 分析: 依据的原则是根据Java Performance里面的推荐公式来进行设置。 296d1509689688.png 具体来讲: Java整个堆大小设置,Xmx 和 Xms设置为老年代存活对象的3-
作者:编程之家 时间:2020-09-09
jvm(2):垃圾收集和内存分配
typora-root-url: ./ 垃圾收集 垃圾收集器关注的是线程共享的这部分内存。 jvisualvm用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。 回收方法区 永久代的垃圾收集主要回收两部分内存:废弃常量和无用的类 废弃常量:没有任何对象引用该常量。 无用的类:同时满足 该类所有的实例
作者:编程之家 时间:2020-09-09
jvm(4):类文件结构
typora-root-url: ./ 类文件结构 魔数Magic Number 每个Class文件的头4个字节是魔数。值为0xCAFEBABE 唯一作用:确定这个文件是一个能被虚拟机接受的Class文件 Class文件的版本 紧挨着魔数的4个字节是Class文件的版本号:第5、6个字节是次版本号,第7、8个字节是主版本号。 高版本的JDK能向下兼容以前版本的Class文件,但不能运行以后版本的C
作者:编程之家 时间:2020-09-09
认识JVM的内存分配
当我们在JVM中运行一段程序代码,JVM初始运行的时候都会分配好Method Area(方法区)和Heap(堆),而JVM每遇到一个线程,就为其分配一个Program Counter Register(程序计数器), VM Stack(虚拟机栈)和Native Method Stack (本地方法栈),当线程终止时,三者(虚拟机栈,本地方法栈和程序计数器)所占用的内存空间也会被释放掉。 这也是为什
作者:编程之家 时间:2020-09-09
5种JVM垃圾收集器特点和8种JVM内存溢出原因
先来看看5种JVM垃圾收集器特点 一、常见垃圾收集器 现在常见的垃圾收集器有如下几种: 新生代收集器: Serial ParNew Parallel Scavenge 老年代收集器: Serial Old CMS Parallel Old 堆内存垃圾收集器:G1 每种垃圾收集器之间有连线,表示他们可以搭配使用。 二、新生代垃圾收集器 (1)Serial 收集器 Serial 是一款用于新生代的单线
作者:编程之家 时间:2020-09-09
Nagios-报错:UNKNOWN Can't connect to the JVM:
原因: 由于手动开启nrpe程序,产生临时文件,需要把产生的多余文件删除。 [[email protected] ~]# ll /tmp/ drwx------ 3 root root 17 Aug 12 13:47 systemd-private-e9aa9379cce548dab04aa0ab896def51-ntpd.service-mJrIFY <<产生的多余文件,导致远程调用程序不成
作者:编程之家 时间:2020-09-09
深入理解JVM虚拟机9:JVM监控工具与诊断实践
转自https://juejin.im/post/59e6c1f26fb9a0451c397a8c jvm优化必知系列——监控工具 微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。作者黄小斜,专注 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Jav
作者:编程之家 时间:2020-09-09
深入理解JVM虚拟机6:深入理解JVM类加载机制
深入理解JVM类加载机制 简述:虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 下面我们具体来看类加载的过程: 类的生命周期 类从被加载到内存中开始,到卸载出内存,经历了加载、连接、初始化、使用四个阶段,其中连接又包含了验证、准备、解析三个步骤。这些步骤总体上是按照图中顺序进行的,但是J
作者:编程之家 时间:2020-09-09
《深入理解Java虚拟机》- JVM是如何实现反射的
Java反射学问很深,这里就浅谈吧。如果涉及到方法内联,逃逸分析的话,我们就说说是什么就好了。有兴趣的可以去另外看看,我后面可能也会写一下。(因为我也不会呀~) 一、Java反射是什么? 反射的核心是JVM在运行时才动态加载类或调用方法/访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁。 反射是由类开始的,从class对象中,我们可以获得有关该类的全部成员的完整列表;可以找出该类的所
作者:编程之家 时间:2020-09-10
【JVM从小白学成大佬】4.Java虚拟机何谓垃圾及垃圾回收算法
在Java中内存是由虚拟机自动管理的,虚拟机在内存中划出一片区域,作为满足程序内存分配请求的空间。内存的创建仍然是由程序猿来显示指定的,但是对象的释放却对程序猿是透明的。就是解放了程序猿手动回收内存的工作,交给垃圾回收器来自动回收。 在虚拟机中,释放哪些不再被使用的对象所占空间的过程称为垃圾收集(Garbage Collection,GC)。负责垃圾收集的程序模块,成为垃圾收集器(Garbage
作者:编程之家 时间:2020-09-10
JVM内存机制与垃圾收集器总结
本文目录 1. JVM内存组成结构 2. JVM内存回收 3. 垃圾收集器与算法 4. jdk1.6中class文件结构 5. jdk1.8中永久代与元空间比较 1. JVM内存组成结构 JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: 2. JVM内存回收 Sun的JVMGenerationalCollecting(垃圾回收)原理是这样
作者:编程之家 时间:2020-09-11
「每日五分钟,玩转JVM」:线程共享区
前言 上一篇中,我们了解了JVM中的线程独占区,这节课我们就来了解一下JVM中的线程共享区,JVM中的线程共享区是跟随JVM启动时一起创建的,包括堆(Heap)和方法区()两部分,而线程独占区的程序计数器,虚拟机栈,本地方法栈的生命周期都是跟随线程的,随线程的创建而诞生,随线程的销毁而销毁。 堆(Heap) 堆内存作为JVM管理的内存中最大的一块,用于存放我们的对象实例,我们经常会把JVM的内存简
作者:编程之家 时间:2020-09-11
JVM运行机制及原理
一、JVM生命周期 JVM伴随Java程序的开始而开始,程序的结束而停止。一个Java程序会开启一个JVM进程,一台计算机上可以运行多个程序,也就可以运行多个JVM进程。 JVM将线程分为两种:守护线程和普通线程。守护线程是JVM自己使用的线程,比如垃圾回收(GC)。普通线程一般是Java程序的线程,只要JVM中有普通线程在执行,那么JVM就不会停止。 二、JVM启动流程 三、JVM体系结构
作者:编程之家 时间:2020-09-11
JVM | 分代垃圾回收策略的基本概念以及过程
一、为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要是程序运行过程中生成的临时变量,这些
作者:编程之家 时间:2020-09-11
jvm优化
6 个JVM性能监控、调优工具使用详解 DevOps技术栈 昨天 现实企业级Java应用开发、维护中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 ...... 这些问题在日常开发、维护中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题
作者:编程之家 时间:2020-09-11
「每日五分钟,玩转JVM」:对象从哪来
面向对象 众所周知,Java是一门面向对象的高级编程语言,那么现在问题来了,对象从哪来呢?有些人会说通过new关键字来创建一个对象,说的很好,本篇我们就来解密在new一个对象的过程中,JVM都给我们做了什么工作。 走哪来,到哪去 一个对象的诞生必定有一个类,通常我们都是通过new关键字实例化一个类来获取该类的一个对象,类在加载的过程中会经历一系列的检查,解析,初始化等一系列的过程,我们会在后面详细
作者:编程之家 时间:2020-09-11
JVM | JVM体系结构认知
虚拟机 何为虚拟机呢?虚拟机是模拟执行某种指令集体系结构(ISA)的软件,是对操作系统和硬件的一种抽象。其软件模型如下图所示: 计算机系统的这种抽象类似于面向对象编程(OOP)中的针对接口编程泛型(或者是依赖倒转原则),通过一层抽象提取底层实现中共性的部分,底层实现这个抽象并完成自己个性的部分。也就是说通过一个抽象层次来隔离底层的不同实现。虚拟机规范定义了这个虚拟机要完成的功能(也就是接口),底层
作者:编程之家 时间:2020-09-11
系统属性file.encoding在JVM启动后,再次设置无法对系统的默认编码造成影响
原因和解决方法: https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4163515 https://stackoverflow.com/questions/361975/setting-the-default-java-character-encoding/362006#362006 file.encoding由谁设置?
作者:编程之家 时间:2020-09-11
Java虚拟机的Heap监狱JVM、新生代、Minor GC、老年代、Full GC
原文链接: https://mp.weixin.qq.com/s/BiSESLCKW-NExP4-lyiZUw 转自:码农翻身(微信号:coderising) 在Java虚拟机中,我是一个位高权重的大管家,他们都很怕我,尤其是那些Java 对象,我把他们圈到一个叫做Heap的“监狱”里,严格管理,生杀大权尽在掌握。 中国人把Stack翻译成“栈”,把Heap翻译成“堆”, 还有人会把Stack翻译
作者:编程之家 时间:2020-09-11
JDK、JRE、JVM三者间的关系
JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核
作者:编程之家 时间:2020-09-11
JVM:类加载机制
虚拟机把描述类的数据从class文件加载到内存并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。 类加载过程分为: 加载:加载阶段由类加载器负责。 验证:验证阶段负责验证类数据信息是否符合JVM规范,是否是一个有效的字节码文件; 准备:准备阶段负责为类中static变量分配空间,并初始化(与程序无关,系统初始化); 解析:解析阶段负责将常
作者:编程之家 时间:2020-09-11
JVM内存模型
javac : 编译代码(即将.java文件编译成.class的中立字节码文件) eg:javac App.java javap是jdk自带的反解析工具。它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令)、本地变量表、异常表和代码行偏移量映射表、常量池等等信息。 -help --help -? 输出此用法消息 -c
作者:编程之家 时间:2020-09-11
JVM性能调优的6大步骤,及关键调优参数详解
https://youzhixueyuan.com/jvm-performance-optimization.html JVM内存调优 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。 1.Full GC 会对整个堆进行整理,包括Young、Tenured和Perm。Full GC因为需要对整个堆进行回收,所以比较慢,因此应该尽可能减少Full GC的次数。 2.导
作者:编程之家 时间:2020-09-12
上一页
108
109
110
111
112
113
114
115
下一页
小编推荐
热门标签
更多
python
JavaScript
java
HTML
reactjs
C#
Android
CSS
Node.js
sql
r
python-3.x
MysqL
jQuery
c++
pandas
Flutter
angular
IOS
django
linux
swift
typescript
路由器
JSON
路由器设置
无线路由器
h3c
华三
华三路由器设置
华三路由器
电脑软件教程
arrays
docker
软件图文教程
C
vue.js
laravel
spring-boot
react-native