Franco的博客

学习,整理,积累,站在巨人的肩膀上厚积薄发

JVM成神之路-JVM引用模型

本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。 Java的引用 对于Java中的垃圾回收机制来说,对象是否被应该回收的取决于该对象是否被引用。因此,引用也是JVM进行内存管理的一个重...

2018-10-15 18:41:54

阅读数 104

评论数 0

JVM成神之路-类加载机制-双亲委派,破坏双亲委派

概述 概念 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接时候用的Java类型。 类的生命周期 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用、卸载。其中验证、准备...

2018-08-21 09:24:50

阅读数 1546

评论数 2

JVM成神之路-HotSpot虚拟机-编译原理、JIT、编译优化

Java编译原理 什么是字节码、机器码、本地代码? 字节码是指平常所了解的 .class 文件,Java 代码通过 javac 命令编译成字节码 机器码和本地代码都是指机器可以直接识别运行的代码,也就是机器指令 字节码是不能直接运行的,需要经过 JVM 解释或编译成机器码才能运行 此时你...

2018-08-13 16:02:53

阅读数 504

评论数 0

JVM成神之路-Java垃圾回收

Java垃圾回收机制 为什么要进行垃圾回收? 随着程序的运行,内存中存在的实例对象、变量等信息占据的内存越来越多,如果不及时进行垃圾回收,必然会带来程序性能的下降,甚至会因为可用内存不足造成一些不必要的系统异常。 哪些“垃圾”需要回收? 如果某个对象已经不存在任何引用,那么它可以被回收。 ...

2018-08-02 15:37:53

阅读数 1995

评论数 0

JVM成神之路-Java对象模型

首先我们要知道: 在jvm的内存结构中,对象保存在堆中,而我们在对对象进行操作时,其实操作的是对象的引用。 Java对象包含三个部分 一个Java对象可以分为三部分存储在内存中,分别是:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。 对象头...

2018-07-23 15:01:17

阅读数 782

评论数 0

目录

面向对象: https://blog.csdn.net/w372426096/article/details/82775858 拆箱装箱:https://blog.csdn.net/w372426096/article/details/81909792 基本数据类型+String: htt...

2018-07-09 15:02:31

阅读数 458

评论数 1

JVM成神之路-Java内存模型(JMM)

Java 内存模型基础 什么是 Java 内存模型(JMM-共享内存模型) 内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存中取出变量这样的底层细节。(共享变量是存放在堆内存中,对于局部变量等不会在线程之间共享) Java内存...

2018-07-03 15:32:05

阅读数 348

评论数 0

JVM成神之路-Java内存模型概述

为什么要有内存模型 在介绍Java内存模型之前,先来看一下到底什么是计算机内存模型,然后再来看Java内存模型在计算机内存模型的基础上做了哪些事情。要说计算机的内存模型,就要说一下一段古老的历史,看一下为什么要有内存模型。 内存模型,英文名Memory Model,他是一个很老的老古董了。他是...

2018-07-03 14:35:17

阅读数 110

评论数 0

JVM成神之路-JVM内存结构

  线程私有 程序计数器 当前线程所执行的字节码的行号指示器 对于 Java 方法,记录正在执行的虚拟机字节码指令的地址;对于 native 方法,记录值为空(Undefined) 唯一一个Java 虚拟机规范中没有规定任何 OutOfMemoryError 的内存区域 Java 虚...

2018-06-21 10:58:30

阅读数 300

评论数 3

【成神之路】Netty相关面试题

为什么选择 Netty 使用JDK自带的NIO需要了解太多的概念,编程复杂,一不小心bug横飞 Netty底层IO模型随意切换,而这一切只需要做微小的改动,改改参数,Netty可以直接从NIO模型变身为IO模型 Netty自带的拆包解包,异常检测等机制让你从NIO的繁重细节中脱离出来,让你只需要...

2019-05-21 11:32:38

阅读数 13

评论数 0

[Netty]LengthFieldBasedFrameDecoder

作者:简书闪电侠 链接:https://www.jianshu.com/p/a0a51fd79f62 拆包的原理 关于拆包原理的上一篇博文 netty源码分析之拆包器的奥秘 中已详细阐述,这里简单总结下:netty的拆包过程和自己写手工拆包并没有什么不同,都是将字节累加到一个容器里面,判断当前...

2019-05-21 10:03:55

阅读数 4

评论数 0

[Netty]拆包器的奥秘

作者:简书闪电侠 链接:https://www.jianshu.com/p/dc26e944da95 为什么要粘包拆包 为什么要粘包 首先你得了解一下TCP/IP协议,在用户数据量非常小的情况下,极端情况下,一个字节,该TCP数据包的有效载荷非常低,传递100字节的数据,需要100次TCP传...

2019-05-21 10:02:53

阅读数 12

评论数 0

[Netty]writeAndFlush全解析

作者:简书闪电侠 链接:https://www.jianshu.com/p/feaeaab2ce56 前言 在前面的文章中,我们已经详细阐述了事件和异常传播在netty中的实现,(netty源码分析之pipeline(一),netty源码分析之pipeline(二)),其中有一类事件我们在实际...

2019-05-21 10:01:24

阅读数 10

评论数 0

[Netty]pipeline(二)

作者:简书闪电侠 链接:https://www.jianshu.com/p/087b7e9a27a2 前言 netty源码分析之pipeline(一)中,我们已经了解了pipeline在netty中所处的角色,像是一条流水线,控制着字节流的读写,本文,我们在这个基础上继续深挖pipeline在...

2019-05-21 09:59:20

阅读数 9

评论数 0

[Netty]pipeline(一)

作者:简书闪电侠 链接:https://www.jianshu.com/p/6efa9c5fa702 通过前面的源码系列文章中的netty reactor线程三部曲,我们已经知道,netty的reactor线程就像是一个发动机,驱动着整个netty框架的运行,而服务端的绑定和新连接的建立正是发...

2019-05-21 09:57:58

阅读数 11

评论数 0

【成神之路】Http网络相关面试题

OSI七层模型分别对应着五层模型的哪一部分; OSI七层模型,每层都说下自己的理解和知道的,说的越多越好; 网络模型的分层、IP和Mac地址在那个层、TCP和HTTP分别在那个层; 应用层:HTTP、FTP、TELNET等 传输层:UDP,TCP 网络层:IP(32位),ICMP ...

2019-05-15 10:10:36

阅读数 11

评论数 0

【成神之路】集合相关面试题

List 和 Set 区别 List,Set都是继承自Collection接口。 都是用来存储一组相同类型的元素的。 List特点:元素有放入顺序,元素可重复 。 有顺序,即先放入的元素排在前面。 Set特点:元素无放入顺序,元素不可重复。 无顺序,即先放入的元素不一定排在前面。 ...

2019-05-14 16:50:49

阅读数 23

评论数 0

【成神之路】分布式&微服务相关面试题

请解释什么是C10K问题或者知道什么是C10K问题吗? https://blog.csdn.net/yeasy/article/details/43152115 Nginx简介,可参考《Nginx简介》 https://blog.csdn.net/wang379275614/article/...

2019-05-13 18:13:22

阅读数 40

评论数 0

【成神之路】设计模式相关面试题

设计模式的的六大原则及其含义 https://blog.csdn.net/w372426096/article/details/77947265 常见的设计模式 门面,工厂,单例,代理。。。。 常见的单例模式以及各种实现方式的优缺点,哪一种最好,手写常见的单利模式 https://blo...

2019-05-12 10:05:22

阅读数 19

评论数 0

【成神之路】Java基础相关面试题

面向对象的特征: 继承、封装和多态 final, finally, finalize 的区别 final final关键字可以用于类,方法,变量前,用来表示该关键字修饰的类,方法,变量具有不可变的特性。 (1)final关键字用于基本数据类型前:这时表明该关键字修饰的变量是一个常量,在定...

2019-05-12 10:04:35

阅读数 16

评论数 0

提示
确定要删除当前文章?
取消 删除