摘要:从 OpenJDK8 起有了一个很 nice 的虚拟机内部功能: Native Memory Tracking (NMT). 本文分享自华为云社区<Native Memory Tracking 详解(1):基础介绍>,作者:毕昇小助手. 0.引言 我们经常会好奇,我启动了一个 JVM,他到底会占据多大的内存?他的内存都消耗在哪里?为什么 JVM 使用的内存比我设置的 -Xmx 大这么多?我的内存设置参数是否合理?为什么我的 JVM 内存一直缓慢增长?为什么我的 JVM 会被 OOMKil…
一:JVM中内存 JVM中内存通常划分为两个部分,分别为堆内存与栈内存,栈内存主要用运行线程方法 存放本地暂时变量与线程中方法运行时候须要的引用对象地址. JVM全部的对象信息都 存放在堆内存中.相比栈内存,堆内存能够所大的多,所以JVM一直通过对堆内存划分 不同的功能区块实现对堆内存中对象管理. 堆内存不够最常见的错误就是OOM(OutOfMemoryError) 栈内存溢出最常见的错误就是StackOverflowError.程序有递归调用时候最easy发生 二:堆内存划分 在JDK7以及其…
JDK8中新日期和时间API 其他的一些API ZoneId:该类中包含了所有的时区信息,一个时区的ID,如 Europe/Paris ZonedDateTime:一个在ISO-8601日历系统时区的日期时间,如 2007-12- 03T10:15:30+01:00 Europe/Paris. 其中每个时区都对应着ID,地区ID都为"{区域}/{城市}"的格式,例如: Asia/Shanghai等 Clock:使用时区提供对当前即时.日期和时间的访问的时钟. 持续时间:Duration…
JDK8中Stream使用解析 现在谈及JDK8的新特新,已经说不上新了.本篇介绍的就是Stream和Lambda,说的Stream可不是JDK中的IO流,这里的Stream指的是处理集合的抽象概念『像流一样处理集合数据』. 了解Stream前先认识一下Lambda. 函数式接口和Lambda 先看一组简单的对比 传统方式使用一个匿名内部类的写法 new Thread(new Runnable() { @Override public void run() { // ... } }).start…
这篇文章主要介绍了带你认识HTML5中的WebSocket,本文讲解了HTML5 中的 WebSocket API 是个什么东东.HTML5 中的 WebSocket API 的用法.带Socket.IO的WebSocket.NodeJS和Socket.IO联合开发等内容,需要的朋友可以参考下 认识 HTML5 的 WebSocket 在 HTML5 规范中,我最喜欢的Web技术就是正迅速变得流行的 WebSocket API.WebSocket 提供了一个受欢迎的技术,以替代我们过去几年一直在…
在<深入理解Java虚拟机>(第二版,周志明著)中,作者介绍了JVM必须初始化类(或接口)的五种情况,但是是针对JDK7而言的. 那么,在JDK8中,这几种情况有没有变化呢?(我猜测应该会有扩展) 接下来我们探讨一下JDK8中JVM类的初始化这一部分内容. 官方文档为The Java® Virtual Machine Specification, Java SE 8 Edition, 2015-02-13. 类的初始化部分在https://docs.oracle.com/javase/spec…
JDK7中的HashMap HashMap底层维护一个数组,数组中的每一项都是一个Entry transient Entry<K,V>[] table; 我们向 HashMap 中所放置的对象实际上是存储在该数组当中: 而Map中的key,value则以Entry的形式存放在数组中 static class Entry<K,V> implements Map.Entry<K,V> { final K key; V value; Entry<K,V> next…
前言 前面我们介绍过数据库中 带你了解数据库中JOIN的用法 与 带你了解数据库中group by的用法的相关用法.本章节主要来介绍下数据库中一个非常重要的知识点事务,也是我们项目中或面试中经常会遇到的知识点.如有错误还请大家及时指出~ 涉及面试题: 请讲下你对事务的理解? 讲下事务有那几大特性? 以下都是采用mysql数据库 事务 事务(Transaction),是我们关系型数据库中非常重要的一个概念,它要符合ACID特性.是由一组SQL语句组成的一个程序执行单元(Unit),该执行单元要么成…
前言 本章主要介绍数据库中group by的用法,也是我们在使用数据库时非常基础的一个知识点.并且也会涉及Join的使用,关于Join的用法,可以看我写的上一篇文章:带你了解数据库中JOIN的用法如有错误还请大家及时指出~ 以下都是采用mysql数据库 Group By 概念 Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)". 作用:通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理. 注意:group by…
1.实体类 package com.zy.model; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import java.io.Serializable; @Data @Builder @AllArgsConstructor public class Employee implements Serializable { private Integer id; private Strin…