洞鉴
码龄6年
关注
提问 私信
  • 博客:55,535
    动态:17
    55,552
    总访问量
  • 43
    原创
  • 830,073
    排名
  • 20
    粉丝
  • 0
    铁粉

个人简介:一起洞鉴,一起透彻了解

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2018-11-28
博客简介:

weixin_43827227的博客

博客描述:
记录学习路线
查看详细资料
个人成就
  • 获得47次点赞
  • 内容获得6次评论
  • 获得161次收藏
创作历程
  • 17篇
    2020年
  • 26篇
    2019年
成就勋章
TA的专栏
  • 【数据结构】
    5篇
  • 【算法】
    1篇
  • 【计算机网络】
    4篇
  • 【操作系统】
  • 【数据库】
    1篇
  • 【JAVA虚拟机(JVM)】
    4篇
  • 【Java基础】
    21篇
  • 【Java集合】
    1篇
  • 【javaweb】
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

四、类加载机制、类加载过程、类加载器、双亲委派模型

类加载机制类从被加载到虚拟机内存中开始,到卸载出内存为止,整个生命周期如下:加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的,必须按这种顺序来开始(并非执行,因为这些阶段通常是交叉混合进行的)。但解析阶段不一样,有时可以在初始化之后再开始【Java的动态绑定】类加载过程:5步加载:加载需要完成如下三件事,完成后,虚拟机外部的二进制字节流就存入方法区中了,内存中也会实例化一个java.lang.Class对象,将作为程序访问方法区的外部入口。通过一个类的全限定名来获取定义此类的二进制字节
原创
发布博客 2020.07.22 ·
261 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

三、内存分配与回收策略

此笔记出自《深入理解java虚拟机 第二版》,仅做摘要整理,详细了解可购买相关书籍。Java中的自动内存管理归根结底是为了自动化解决两个问题:1、给对象分配内存2、回收分配给对象的内存回收分配给对象的内存是上面说到的,接下来说说第一个问题:给对象分配内存对象的内存分配,宏观来说就是在队上分配,因为堆是存放对象实例的内存区域。(也有可能经过JIT编译后拆散为标量间接的分配到栈上)对象主要分配在新生代的Eden区上,少数情况下可能直接分配到老年代上。接下来讲讲规矩对象优先分配在Eden区上大
原创
发布博客 2020.07.22 ·
249 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二、对象判活算法、垃圾收集(GC)算法、垃圾收集器

此笔记出自《深入理解java虚拟机 第二版》,仅做摘要整理,详细了解可购买相关书籍。图片扎堆,一是为了让文字更加紧凑,二是为了学习完文字知识后能单纯看图回顾,及时复习,三是增加不同类型之间对比。三连问:哪些内存需要回收?什么时候回收?如何回收?对象存活判定算法:2种引用计数算法:给对象添加应该引用计数器,引用到则+1,引用失效则-1,任何时刻计数器为0的对象就不可能再被使用。​ 实现简单,效率高,但很难解决对象之间相互循环使用的例子。
原创
发布博客 2020.07.22 ·
344 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一、内存区域、对象创建步骤、对象内存布局、对象访问定位

此笔记出自《深入理解java虚拟机 第二版》,仅做摘要整理,详细了解可购买相关书籍。内存区域程序计数器:线程私有;当前线程所指向的字节码的行号指示器;是唯一一个没有规定OOM(OutOfMemoryError)情况的区域;【PS:如果线程当前执行的是一个Java方法,则记录的是正在执行的虚拟机字节码指令地址,如果是native方法,则为空;】虚拟机栈:线程私有;描述Java方法执行,方法执行时会创建栈帧—用于存储局部变量表、操作数栈、动态链接、方法出口等信息;会抛出OOM和StackOver
原创
发布博客 2020.07.22 ·
202 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

链表进阶详解(链表基础面试题)

目录单链表反转链表中环的检测两个有序的链表合并删除链表倒数第n个结点求链表的中间结点上一篇博客中 -----链表初级详解------我们讲了链表的基本操作,看上去很简单,掌握了基础的增删查改的思想。但这好比三原色,通过各种组合,千变万化。现在我们就看看链表有什么进阶的东西可用学学,了解一下:玩链表,就是玩指针!的具体思想哈哈哈。单链表反转思路:玩链表就是玩...
原创
发布博客 2020.03.24 ·
411 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

链表初级详解

什么是链表我们前面说了“数组”,它是一种占用连续内存空间的数据结构。但有时候我们需要存储大量的数据,内存中却没有像样大小的连续空间,这可怎么办呢?我们有一个需要大量增删操作的数据集,而改查操作用的比较少,选择数组进行存储的话,操作起来不构效率怎么办呢?链表应运而生,它并不需要⼀块连续的内存空间,它通过“指针”将⼀组零散的内存块串联起来使⽤。链表的特点为什么链表应运而生呢...
原创
发布博客 2020.03.24 ·
470 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

TCP和UDP详解 (附面试常问问题)

TCP和UDP最基本的责任是:将两个端系统间IP(网络层)的交付服务拓展为运行在端系统上两个进程之间(运输层)的交付服务。UDP比较简单,咱们先讲UDPUDP 用户数据报协议数据交付(复用和分用)、差错检查是最低限度的运输层服务,也是UDP能提供的仅有的两种服务。所以UDP只在IP数据报上增加了很少的一点功能。UDP的特点:1、UDP是无连接的。(不需要建立连接)2、...
原创
发布博客 2020.03.23 ·
618 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

计算机网络------客户-服务器方式、对等方式

端系统之间的两种通信方式:端系统之间的通信方式通常可划分为两大类:客户-服务器方式(C/S 方式)即 Client/Server 方式,简称为 C/S 方式。对等方式(P2P 方式) 即 PeertoPeer 方式 ,简称为 P2P 方式。1. 客户-服务器方式客户 (client) 和服务器 (server) 都是指通信中所涉及的两个应用进程。客户-服务...
原创
发布博客 2020.03.22 ·
13352 阅读 ·
6 点赞 ·
0 评论 ·
13 收藏

数组详解

目录什么是数组数组的优点怎么用数组 数组的初始化与赋值 数组的返回 二维数组 Arrays什么是数组数组(Array)是⼀种线性表数据结构。它⽤⼀组连续的内存空间,来存储⼀组具有相同类型的数据。线性表就是好比一条线。把它弄直了,线上的点(数据)只有前后关系。它对应的非线性结构,点(数据)之间就不是单纯...
原创
发布博客 2020.03.21 ·
660 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

卑微内部类,在线自夸(非静态、静态、局部、匿名)

什么是内部类将一个类的定义放在另一个类的定义内部(嵌套类),这就是内部类。内部类有什么用内部类允许你将一些逻辑相关的类组织在一起,内部类了解外部类...
原创
发布博客 2020.03.19 ·
99 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

五层协议与OSI七层体系结构

首先,先来解决掉几个小问题1、为什么计算机网络协议要设计成层次式的?两个主机之间通过通信网络传送文件是一件非常复杂的事情,如果不进行分层分工处理,单独一个模块进行处理的话,会显得臃肿复杂。若进行分层处理,则能够带来许多好处: ①、各层之间相互独立。处理A层的时候不需要知道它的下一层如何工作,可以将一个难处理的复杂问题分解成若干个容易处理的简单问题。 ②、灵活...
原创
发布博客 2020.03.18 ·
1711 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

抽象类(abstract)与接口(interface)

什么是抽象类与接口抽象类包含一个或多个抽象方法的类叫做抽象类,抽象类可以有具体的方法与变量。如果想要继承一个抽象类,且想要创建子类对象,那么子类必须实现抽象类中的具体方法。如若不提供实现,那么子类也是一个抽象类。接口接口比抽象类还要抽象,接口产生一个完全抽象的类,不提供任何具体实现。抽象类为子类提供模板,子类必须实现相关的抽象类...
原创
发布博客 2020.03.17 ·
145 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

初始化顺序

三个原则:1、变量先于方法2、静态先于非静态(构造器是静态方法)3、父类先于子类。(new子类对象时会先产生一个父类对象,它被包装在子类对象内部。这也是子类能够使用父类方法的原因)。补充:静态初始化只有在必要时候才会进行,要是不创建对象,也不调用static变量,那么static变量就不会被创建。不妨来做做下面这个例子,用笔写写输出了什么哟~---------...
原创
发布博客 2020.03.17 ·
235 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

final

什么是final final意思是最终的、不可更改的,也就是说这个关键字所修饰的变量、方法、类都是不可修改的。为什么要有final 有时候我们需要一个永不改变的编译时常量(比如说Π:3.1415)或者一个在运行时被初始化后就不希望再改变的值。怎么用final 常用情况: final可以修饰变量、方法和类...
原创
发布博客 2020.03.17 ·
129 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

访问修饰符:public、protected、包访问权限(无关键词/default)和private

什么是访问权限控制 访问权限控制就是开发人员(比如写java的底层实现的人)向客户端程序员(使用java的人)指明哪些是可用的,哪些是不可用的,以控制访问权限。访问权限分为4个等级:public、protected、包访问权限(无关键词/default)和private为什么要有访问权限控制 初期,我们在写代码的时候,更加注意的是能不能实现这个功能。时间长了...
原创
发布博客 2020.03.16 ·
1064 阅读 ·
1 点赞 ·
1 评论 ·
6 收藏

HTML基础知识点

前言html的基础知识不难,但大多都是记忆部分,故整理了一下知识点,以后忘记的时候方便重新捡起来。知识点并非是我原创,是我看的黑马程序员javaweb系列里自带的,但与视频还是有一定的出入,我边看视频边细化知识点,然后填充对应的知识点使其更加简单易懂,毕竟这篇博客的目标对象是什么都不懂的新手和像我一样学了以后过段时间就忘得干干净净的人orz。下面进入正题。目录前言【内容:html基...
原创
发布博客 2020.02.12 ·
1158 阅读 ·
2 点赞 ·
0 评论 ·
19 收藏

三次握手和四次挥手(附面试常问问题)

目录三次握手TCP建立连接可以两次握手吗?为什么?可以采用四次握手吗?为什么?第三次握手中,如果客户端的ACK未送达服务器,会怎样?如果已经建立了连接,但客户端出现了故障怎么办?初始序列号是什么?四次挥手为什么不能把服务器发送的ACK和FIN合并起来,变成三次挥手(CLOSE_WAIT状态意义是什么)?如果第二次挥手时服务器的ACK没有送达客户端,会怎样?...
原创
发布博客 2020.02.10 ·
1524 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

什么是面向对象、面向过程与面向对象的区别

要讲区别,首先我们得先来弄弄清楚什么是面向过程,什么是面向对象。面向过程是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。比如把大象放进冰箱,第一步需要先打开冰箱,第二步把大象放进去,第三步把冰箱关上,这样就完成了把大象放进冰箱这件事情。这就是面向过程。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而...
原创
发布博客 2019.09.25 ·
1357 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏
加载更多