Java进阶
Coder-michael
不积跬步无以至千里
展开
-
Java进阶之深入理解JVM(六)
深入理解JVM之四种对象引用方式强引用 软引用 弱引用 虚引用1.强引用(默认的支持方式)假设出现了异常或者OOM情况,只要是强引用的对对象,都不会被回收!强引用就是导致内存泄漏原因之一package JVM.Import;//-XX:+PrintGCDetailspublic class ImportTest01 { public static void main(String[] args){ Object o1 = new Object();原创 2020-06-03 11:40:51 · 90 阅读 · 0 评论 -
Java进阶之深入理解JVM(五)
深入理解JVM之垃圾回收器详解1.浅谈垃圾收集器GC算法(引用计数、复制、标记清除、标记整理算法)方法论,垃圾收集器就是对应的落地的实现!1.4种垃圾收集器1、串行(STW:Stop the World)单线程2、并行垃圾回收器(多线程工作,也会导致 STW)3、并发垃圾回收器(回收垃圾的同时,可以正常执行线程,并行处理,但是如果是单核CPU,只能交替执行!)4、G1垃圾回收器(将堆内存分割成不同的区域,然后并发的对其进行垃圾回收)2. 垃圾回收器查看默认的垃圾回原创 2020-06-03 11:34:25 · 116 阅读 · 0 评论 -
Java进阶之深入理解JVM(四)
深入理解JVM之堆内存调优堆内存调优(初识)环境信息:HotSpot、JDK1.8;1.设置堆最大分配内存和初始分配内存-Xms: 初始分配的内存大小(一般设置为物理内存内存的1/64)-Xmx: 最大分配内存(一般设置为物理内存内存的1/4)-XX:+PrintGCDetails: 输出详细的垃圾回收信息package com.coding.oom;/** * 默认情况: * maxMemory : 1808.0MB (虚拟机试图使用的最大的内存量 一般是物理内存的 1/4)原创 2020-06-03 11:20:30 · 310 阅读 · 0 评论 -
Java进阶之深入理解JVM(三)
深入理解JVM之GC1.GC详解1.GC 的作用域口诀:关于垃圾回收:分代收集算法 不同的区域使用不同的算法Young代: GC频繁区域Old代:GC次数较少Perm代:不会产生GC!2. 一个对象的历程!JVM在进行GC时,并非每次都是对三个区域进行扫描的!大部分的时候都是指的新生代!3.GC两个类型:普通GC:只针对新生代 【GC】全局GC:主要是针对老年代,偶尔伴随新生代! 【Full GC】4. GC 面试题1、JVM内存模型,每个区中存放什么?2、堆原创 2020-06-03 10:28:14 · 117 阅读 · 0 评论 -
Java进阶之深入理解JVM(二)
深入理解JVM(二)1.Native方法栈public class Test { public static void main(String[] args) { // java 真的可以开启线程吗? // private native void start0(); new Thread().start(); }}native : 只要是带了这个关键字的,说明 java的作用范围达不到,只能去调用底层 C 语言的库!补充:Robot原创 2020-06-03 10:15:55 · 240 阅读 · 0 评论 -
Java进阶之深入理解JVM(一)
深入理解JVM(一)JVM 前言1. 聊聊常见的面试题1、请你谈谈你对JVM的理解? java8 虚拟机有什么更新?2、什么是OOM,请你说说OOM产生的原因?如何分析?3、JVM 的常用调优参数有哪些?4、内存快照抓取,如何分析,命令是什么?5、堆里面分区:Eden、Survial(from to)、老年区6、GC垃圾收集算法有那个几个?谈谈利弊?2. BAT 难度的面试题1、JVM 垃圾回收的时候如何确定垃圾,GC Roots?2、-X、-XX 参数你用过哪些?3、你常用的项目,原创 2020-06-03 09:33:06 · 181 阅读 · 0 评论 -
底层微服务搭建
1.微服务目前已有解决方案spring cloud netflixdubbo zookeeperspring cloud alibaba微服务架构1.数据库,基本的表设计和创建2.服务构建3.编写服务代码原创 2020-04-05 23:34:00 · 154 阅读 · 0 评论 -
MyBatis-Plus熟悉之路
MyBatis-PlusMyBatis-Plus简介MyBatis-Plus简化开发,配置文件特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用Service,仅仅通过少量配置即可实现单表大部分 CRUD操作,更有强大的条件构造器...原创 2020-04-04 22:53:40 · 144 阅读 · 0 评论