标签:JVM

Java

JVM笔记:Java虚拟机的内存结构

1

小丁 发布于 2019-10-22

开始先说明一个知识点,Java虚拟机的内存结构和内存模型(JMM)其实是两个不一样的东西,前者是下面要讲的堆栈之类的内容,后者可以看 这篇文章。 由于 全局字符串常量池(string pool或string literal pool) 在Java不同的版本中存放在不同的位置,下面...

阅读(8)评论(0)赞 (0)

Spring

Spring Cloud(一):入门篇

邓龙华 发布于 2019-10-22

Spring Cloud 是一个基于 Spring Boot 实现的微服务架构开发工具,可以快速构建分布式系统中的某些常用模式,如配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式回话和集群状态管理等等。Spring Cloud致力于为典型的用例和扩...

阅读(9)评论(0)赞 (0)

Java

深入分析synchronized实现原理

5

likai 发布于 2019-10-22

EE30A7">实现原理 Synchronized可以保证一个在多线程运行中,同一时刻只有一个方法或者代码块被执行,它还可以保证共享变量的可见性和原子性 在Java中每个对象都可以作为锁,这是Synchronized实现同步的基础。具体的表现为一下3种形式: 普通...

阅读(7)评论(0)赞 (0)

Java

Netty – PooledByteBufAllocator

4

wenming.gapo 发布于 2019-10-22

堆外内存, 就是非JVM管理的,由os管理的内存,等同于c语言里面的mallco分配的内存 故堆外内存的好处, 1. 不会有GC回收,缓解gc压力 2. 避免一次copy,发生到socket buffer的时候,如果是堆内内存需要copy到堆外一次 问题, 回收是个问题;性能没有...

阅读(7)评论(0)赞 (0)

Java

Java基础之类加载器

3

hellas 发布于 2019-10-22

概述 类加载器: 负责将.class文件加载到内存中,并为之生成对应的Class对象,也就是字节码文件对象。 问题:我们平时书写在eclipse中的Java程序是如何运行的呢? 1)首先将 .java 源文件编译为class类文件; 2)编译后的类文件是存在硬盘中的,那么我们运行...

阅读(14)评论(0)赞 (0)

Java

一起来看一下Java中的Annotation注解

3

刘莉莉 发布于 2019-10-22

我们在平时的开发过程中看到很多如@Override,@SuppressWarnings,@Test等样式的代码就是注解,注解是放到类、构造器、方法、属性、参数前的标记。 二. Annotation的作用 给某个类、方法..添加了一个注解,这个环节仅仅是做了一个标记,对代码本身并不...

阅读(14)评论(0)赞 (0)

Java

java-IO编程

22

zhuangli 发布于 2019-10-22

IO流是一种顺序读写数据的模式: 单向流动 以byte为最小单位(字节流) 如果字符不是单子节表示的ASCLL码,Java还提供一下解决方案: java还提供了reader、writer表示字符流 字符流传输的最小单位是char 字符流输出byte取决于编码方式 reader、w...

阅读(7)评论(0)赞 (0)

Java

JVM(二) — 对象详解

7

Harries 发布于 2019-10-22

JVM(一) 内存分配文章中谈了虚拟机运行时内存区域的划分,其中堆作为最大的内存区域存储几乎所有对象实例。本文将从对象结构、内存分配、对象访问、死亡判断、引用类型等几方面针对对象进行系列阐述,更深层次认识面向对象到底面向的是什么 二:对象结构 2.1 对象头区域 划分为三块区域,...

阅读(5)评论(0)赞 (0)

Java

JVM(三)– 垃圾回收

16

刘莉莉 发布于 2019-10-22

JVM中垃圾收集算法主要有复制算法、标记–清除、标记–整理、分代收集,每种垃圾收集器可以说都是一种或多种垃圾收集算法的实现。堆空间分代、垃圾收集器、垃圾收集算法三者的关系可以用以下特点概括: 堆空间:不同对象根据存活时间内存大小等特点分布在堆不同空间 收集...

阅读(6)评论(0)赞 (0)

Java

Dubbo调优(二) — 限流策略

11

小丁 发布于 2019-10-22

高并发环境下若生产者不能及时处理请求造成大量请求线程积压,最终会演变为大面积服务崩溃现象产生。根据服务特点设定合理的请求拒绝策略,保证服务正常运行是本文重点。当然必须区别于 负载均衡只能分配流量而不能限制流量 二:消费端actives 仅针对消费者端生效,只能在 <dubb...

阅读(6)评论(0)赞 (0)

Java

JVM 中发生内存溢出的 8 种原因及解决办法

wenming.gapo 发布于 2019-10-22

1. Java 堆空间 2. GC 开销超过限制 3. 请求的数组大小超过虚拟机限制 4. Perm gen 空间 5. Metaspace 6. 无法新建本机线程 7. 杀死进程或子进程 8. 发生 stack_trace_with_native_method 1. Java ...

阅读(5)评论(0)赞 (0)

Java

面试官,Java8 JVM内存结构变了,永久代到元空间

7

xiaoli.he 发布于 2019-10-22

在文章《 JVM之内存结构详解 》中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化。作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试者,如果知晓这些变化,又将成为面试中的亮点。 如果在网络上搜索JVM内存结构,9...

阅读(12)评论(0)赞 (0)

Java

Java 面试 – 四种引用类型

2

hanze 发布于 2019-10-22

之前我们提到过 GC,但当 Java 中引用的对象越来越多,会导致内存空间不足,最终会产生错误 OutOfMemoryError,并让应用程序终止。那为什么 GC 在此时不能多收集一些对象呢?这就和今天说的引用类型有关了。 首先,从 JDK1.2 开始,对象的引用被划分为4种级别...

阅读(14)评论(0)赞 (0)

Java

App流畅度优化:利用字节码插桩实现一个快速排查高耗时方法的工具

4

Harries 发布于 2019-10-22

我们产线的主流程页面中有几个比较复杂的页面在版本迭代中流畅度频繁出现反复,经常由于开发的不注意导致变卡,主要是对流畅度缺少必要的监控和可持续的优化手段,这个系列是对上半年实践App流畅度监控、优化过程中的一点总结,希望可以给需要的同学一点小参考。 当然App内存上的优化,尽量减少...

阅读(11)评论(0)赞 (0)

Java

正确理解IM长连接的心跳及重连机制,并动手实现(有完整IM源码)

23

xiaoli.he 发布于 2019-10-22

说道“心跳”这个词大家都不陌生,当然不是指男女之间的心跳,而是和长连接相关的。顾名思义就是证明是否还活着的依据。 什么场景下需要心跳呢?目前我们接触到的大多是一些基于长连接的应用需要心跳来“保活”。 由于在长连接的场景下,客户端和服务端并不是一直处于通信状态,如果双方长期没有沟通...

阅读(11)评论(0)赞 (0)

编程技术

FEBS Cloud 微服务权限系统 1.3 版本发布

18

puefu.he 发布于 2019-10-22

FEBS Cloud是一款使用Spring Cloud Greenwich.SR3、Spring Cloud OAuth2 & Spring Cloud Alibaba构建的低耦合权限管理系统,前端(FEBS Cloud Web)采用vue element admin构建...

阅读(13)评论(0)赞 (0)

Spring

Spring Boot Actuator 整合 Prometheus

2

xubiao.zhuang 发布于 2019-10-22

简介 Spring Boot 自带监控功能 Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息等。这一节结合 Prometheus 、Grafana 来更加直观的展示这些信息。 实验 说明 服务名 地址 端口 Pro...

阅读(11)评论(0)赞 (0)

Java

Spring Boot Actuator 整合 Prometheus

5

yanxinchi 发布于 2019-10-22

简介 Spring Boot 自带监控功能 Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息等。这一节结合 Prometheus 、Grafana 来更加直观的展示这些信息。 实验 说明 服务名 地址 端口 Pro...

阅读(13)评论(0)赞 (0)