最新文章列表

Flink SQL 系列 | 5 个 TableEnvironment 我该用哪个?

本文为 Flink SQL 系列文章的第二篇,前面对 Flink 1.9 Table 新架构及 Planner 的使用进行了详细说明,本文详细讲解 5 个 TableEnvironment 及其适用场景,并介绍 Flink 社区对 TableEnvironment 的未来规划。主要内容如下: TableEnvironment 简介 5 个 TableEnvironment 梳理 如何使用 Table ...
大涛学长 评论(0) 有330人浏览 2019-10-11 16:08

一文看懂JVM内存布局及GC原理

java的内存布局以及GC原理”是java开发人员绕不开的话题,也是面试中常见的高频问题之一。   java发展历史上出现过很多垃圾回收器,各有各的适应场景,很多网上的旧文章已经跟不上的变化。本文详细介绍了java的内存布局以及各种垃圾回收器的原理(包括的ZGC),希望阅读完后,大家对这方面的知识不再陌生,有所收获,同时也欢迎大家留言讨论。   一、JVM运行时内存布局 按java 8 ...
aoyouzi 评论(0) 有666人浏览 2019-08-30 09:19

System.gc()与Runtime.getRuntime().gc()区别

首先,我们需要明确一点的是,两个gc都会强制触发垃圾收集,它们只是向JVM建议,现在也许是收集垃圾的好时机。 比较 System.gc()调用起来更方便,但是会给应用带来不必要的性能问题。还可以通过参数-XX:+DisableExplicitGC.禁止显示调用gc。 Runtime.getRuntime()用来与Java运行时进行交互,调用该方法会建议JVM花费精力回收不再使用的对象。 源代码 Sy ...
高级java工程师 评论(0) 有831人浏览 2019-07-23 14:34

JVM监控与调优

在Java虚拟机的参数中,有3种表示方法 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容; 非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用(但是,这些参数往往是非常有用的); (额外的,-DpropertyNa ...
yuqingshui 评论(0) 有748人浏览 2019-07-15 20:54

JVM系列文章汇总

JVM中运行时数据区中的堆、栈、方法区等区域的特性介绍 Java中class文件的组成结构 JVM的类加载生命周期介绍 Java堆、新生代老年代的特点、堆中的内存分配策略 JVM垃圾收集算法详解 JVM各个垃圾收集器的简单介绍及常用参数详解 JVM中的内存溢出\OOM的原因及解决方案 浅谈Java类加载器ClassLoader以及双亲委派模式 JVM常用调优参数 Java虚拟机是 ...
javenshi 评论(0) 有708人浏览 2019-05-22 09:15

Java虚拟机是怎么new的对象?

本文涉及:Java中的new命令之后发生的事 类加载检查 java虚拟机在遇到一条 new 指令时,首先会检查是否能在常量池中定位到这个类的符号引用,并且是否已被加载过、解析和初始化过。如果没有,那必须先执行类加载过程 类加载的相关知识可参考:JVM的类加载机制 分配内存 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。 分配方式有 指针碰撞 和 空闲列表 两种 ...
javenshi 评论(0) 有655人浏览 2019-05-14 09:17

java方法区学习总结记录

先存两张介绍jvm内存比较经典的图   关于方法区,永久代,元空间的学习总结   方法区是jvm规范当中的一个概念,具体实现各虚拟机和各个版本有所不同。 方法区主要用来存储编译后的代码,常量池,类元信息等。 javase8之前的hotspot虚拟机是用永久代来实现方法区的,永久代是堆内存的一个逻辑组成部分,jvm可以选择性的不去回收永久代的内存空间 javase8开始引入元空 ...
u014686416 评论(0) 有297人浏览 2019-04-08 21:11

JVM相关笔记

1、检查死锁     jps -v    [查看所有Java进程]     jstack  进程id   [查看当前死锁]
jvm 
hekuilove 评论(0) 有503人浏览 2019-01-30 21:19

检测一个字符串是否在jvm的常量池中

public static boolean inPool(String s) { String s2 = s.intern(); if (s2 == s) return true; return false; }
JVM 
Luob. 评论(0) 有998人浏览 2018-12-18 17:34

Java之CMS GC的7个阶段

CMS收集器的主要设计目标是:低应用停顿时间。它通过两种方式实现这一目标: 不压缩老年代,而是使用空闲列表来管理回收空间。 大部分标记清理工作与应用程序并发执行。 主要问题:由于不压缩带来的老年代堆碎片,或者在对象分配率高的情况下,都可能导致Full GC。 CMS收集器的GC周期主要由7个阶段组成,其中有两个阶段会发生stop-the-world,其他阶段都是并发执行的。(亦有4个 ...
zhanjia 评论(0) 有2257人浏览 2018-12-16 00:58

一张图看懂虚拟机中线程的共享区与私有区

从图中看到,JVM内存分为两个主要区域,一个是所有线程共享的数据区,一个是线程隔离数据区线程私有)
andyou2012 评论(0) 有462人浏览 2018-12-14 09:54

深入Java虚拟机(JVM)

一.Java 整体的运行结构以及与 JVM 的关系   ClassLoader的在关键是告诉你,我要进行类加载,而在进行类加载的时候,就一定有一个正常的环境属性CLASSPATH,没有CLASSPATH就无法找到我们的目录所在,这样程序才会跑到JVM中解释运行。   而JVM到底有什么组成结构呢?首先有一个执行引擎,它需要一个本地方法接口,通过本地方法接口调用本地一些资源,比如多线程、磁 ...
bijian1013 评论(0) 有4133人浏览 2018-11-10 22:55

02Java内存区域与内存溢出异常-2运行时数据区域

2.2 运行时数据区域 根据Java虚拟机规范,Java虚拟机所管理的内存包含以下几个运行时数据区域: 程序计数器,虚拟机栈,本地方法栈,Java堆,方法 ...
吖龙Sam 评论(0) 有393人浏览 2018-11-06 17:50

JVM内存溢出诊断方法

  内存泄漏诊断步骤: 1.查看各个代的内存使用情况(一般情况都是堆内存溢出)   jmap -heap pid 2.查看jvm中对象的实例个数(找出占用内存较大的异常对 ...
henu_zhangyang 评论(0) 有1675人浏览 2018-10-30 10:25

这一次,彻底解决Java的值传递和引用传递

本文旨在用最通俗的语言讲述最枯燥的基本知识 学过Java基础的人都知道:值传递和引用传递是初次接触Java时的一个难点,有时候记得了语法却记不得怎么实际运用,有时候会的了运用却解释不出原理,而且坊间讨论的话题又是充满争议:有的论坛帖子说Java只有值传递,有的博客说两者皆有;这让人有点摸不着头脑,下面我们就这个话题做一些探讨,对书籍、对论坛博客的说法,做一次考证,以得出信得过的答案。 ...
liaoyang.777 评论(0) 有455人浏览 2018-10-24 19:26

这一次,彻底解决Java的值传递和引用传递

本文旨在用最通俗的语言讲述最枯燥的基本知识 学过Java基础的人都知道:值传递和引用传递是初次接触Java时的一个难点,有时候记得了语法却记不 ...
jaybril 评论(0) 有433人浏览 2018-10-23 14:09

JVM指令分析实例五(操作数栈)

本篇为《JVM指令分析实例》的第五篇,相关实例均使用Oracle JDK 1.8编译,并使用javap生成字节码指令清单。 前几篇传送门: JVM指令分析实例一(常量、局部变量、for循环) JVM指令分析实例二(算术运算、常量池、控制结构) JVM指令分析实例三(方法调用、类实例) JVM指令分析实例四(数组、switch)
zhanjia 评论(0) 有2264人浏览 2018-10-14 23:29

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) .net(54785) 编程(39454) JSP(37542) 数据结构(36423) Eclipse(31254) PHP(29988) F#(26079) 算法(24867) 脚本(19840) J#(18922) JDBC(17888) ASP(17480) JDK(14881) JVM(14450)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics