自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pugongying_95的博客

越努力越幸运

  • 博客(17)
  • 收藏
  • 关注

转载 Redis String底层实现

Redis String底层实现:内容转载来自于 喵耳朵 的https://www.miaoerduo.com/redis/redis基本操作-string原理.html一、Redis​ Redis使用自己的简单动态字符串(simple dynamic string, SDS)的抽象类型。Redis中,默认以SDS作为自己的字符串表示。只有在一些字符串不可能出现变化的地方使用C字符串。SD...

2019-08-19 11:51:52 10008 2

原创 Linux文件名存在哪儿

linux一、Linux文件存储文件文件有文件本身的信息和数据信息,在Linux上分成:用户数据:即文件数据块 (data block),数据块是记录文件真实内容的地方;元数据:则是文件的附加属性,如文件大小、创建时间、所有者等信息;在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是 文件的唯一标...

2019-07-25 20:24:49 2168

原创 数据链路层

数据链路层数据链路层的主要问题封装成帧在网络层的IP数据报前面和后面分别添加上首部和尾部,就构成了一个帧。首部和尾部的一个重要作用就是帧定界。每一种数据链路层协议都规定了所能传送的帧的数据部分长度上限-最大传送单元MTU。透明传输发送端的数据链路层在数据中出现控制字符的前面插入一个转义字符,而在接收端的数据链路层把数据送往网络层之前删除这个插入的转义字符。差错检测数据链...

2019-07-22 17:36:59 150

原创 网络层

网络层一、网际协议IP与IP协议配合使用的还有三个协议:地址解析协议ARP(Address Resolution Protocol)网际控制报文协议ICMP(Internet Control Message Protocol)网际组管理协议IGMP(Internet Group Management Protocol)将网络互连连接起来使用的一些中间设备:物理层使...

2019-07-19 21:27:12 161

原创 传输层涉及面试相关问题

传输层:一、TCP1. TCP三次连接:ACK=1 的报文,若携带数据就消耗一个序号,不携带数据则不消耗序号。第三次握手的目的​ 为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的 请求,因此不会理睬server的确认,也不会向server发送数据。但...

2019-07-18 11:38:20 249

原创 深入理解JVM7-JVM优化技术

JVM优化一、JVM早期(编译期)优化javac编译器编译过程分为三个过程:解析(词法分析与语法分析)与填充符号表过程;插入式注解处理器的注解处理过程;语义分析与字节码生成过程。解析与填充符号表过程词法分析将源代码的字符流转变为标记集合;语法分析将标记序列构造成抽象语法树。完成词法分析和语法分析后,下一步是填充符号表。符号表是由一组符号地址和符号信息构成的表格(类似于哈希表),用于后...

2019-06-13 17:20:43 209

原创 深入理解JVM6-虚拟机字节码执行引擎

虚拟机字节码执行引擎:不同的虚拟机实现里,可能会有解释执行(边解释边执行)和编译执行(通过即时编译器产生本地代码执行)的混合模式或单独的某种模式。一、运行时栈帧结构编译时,栈帧中需要多大的局部变量表,多深的操作数栈就已经确定,存储在方法表的Code属性中。因此一个栈帧需要分配的内存大小,不会受到程序运行期间变量数据的影响,而仅仅取决于具体的虚拟机实现。栈帧存储了方法的局部变量表、操作数栈...

2019-06-13 17:19:06 143

原创 java自动装箱陷阱

public static void main(String[] args) { Integer a = 1; Integer b = 2; Integer c = 3; Integer d = 3; Integer e = 321; Integer f = 321; Long g = 3L; System.out.println(c == d); //3存在运算时常量池中 Sy...

2019-06-04 20:05:09 150

原创 深入理解JVM5-虚拟机类加载机制

虚拟机类加载机制Java中类型的加载、连接和初始化过程在运行期间完成的。一. 类加载的时机类的生命周期从类被加载、连接和初始化开始,到类被卸载结束。类的生命周期包括:加载、连接、初始化、使用、卸载。连接阶段包括验证、准备、解析过程。其中加载、验证、准备、初始化、卸载这5个阶段顺序是确定的。解析阶段在有些情况下可以在初始化之后再开始(动态绑定)。JVM规定这5种情况必须立即对类进行初始化:...

2019-05-20 21:51:15 128

原创 深入理解JVM4-Class文件结构

Class文件结构:平台无关,语言无关jdk/bin目录下的javap命令可以输出class文件的字节码内容class文件以字节为单位的二进制流,中间没有分隔符。字节序为Big-Endian(高位在前).class文件中只有两种数据类型:无符号数,表。表是由多个无符号数或其他表作为数据项构成的复合数据类型。表习惯性以“_info"结尾。无论是符号数还是表,当同一类型但数量不定的多个数据时...

2019-05-14 11:10:29 119

原创 深入理解JVM3-自动内存管理

1、内存泄漏memory leak :是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。2、内存溢出 out of memory :指程序申请内存时,没有足够的内存供申请者使用java的线程是映射到操作系统的内核线程上的。垃圾回收:垃圾回收针对的区域:Java堆和方法区程序计数器,虚拟机栈,本地方法栈 线程私有区域,方法...

2019-05-14 11:08:22 95

原创 30天自制操作系统笔记

2016.8月做的笔记,偶然翻到以防后面丢失。最后的操作系统代码 上传GitHubhttps://github.com/Dandelionshine/30OSconsole:控制台 通过键盘输入命令的一种方式。基本上只用文字进行计算机操作。开发操作系统:制作一张“含有操作系统的,能够自动启动的磁盘”映像文件:软盘的备份数据。做出备份数据,将备份数据写入磁盘世界上第一个操作系统:对着CP...

2019-04-15 14:09:28 735 2

原创 MapReduce的工作机制

单机模式:用于对MapReduce程序的逻辑进行调试,用于开发和调试默认处于该模式使用本地文件系统,而不是HDFSmap和reduce任务作为同一个进程的不同部分来执行伪分布式模式:开发测试Hadoop程序执行是否正确在一台主机模拟多主机Hadoop启动namenode,datanode,jobtracker,tasktracker这些守护进程在同一台机器上运行,是相互独立...

2018-08-04 20:44:18 370

原创 IO操作

Hadoop的I/O操作数据完整性监测数据是否损坏常用:计算校验和(不能修复数据)HDFS的数据完整性:HDFS对写入的所有数据计算校验和,并在读取数据时验证校验和。针对每个由io.bytes.per.checksum(默认512)指定的字节的数据计算校验和。datanode负责收到数据后存储数据及验证校验和。 客户端从datanode读取数据时,验证校验和,每个datan...

2018-07-30 14:40:57 493

原创 hadoop学习笔记2

hadoop权威指南Hadoop文件系统:namenode管理文件系统的命名空间,维护文件系统树及整颗树内所有文件和目录,这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像文件和编辑日志文件。 datanode也记录着每个该文件中各个块所在的数据节点信息,但不永久保存块的位置信息,因为这些信息会在系统启动时由数据节点重建。 HDFS的块比磁盘的块大,其目的是为了最小化寻址开销(磁盘传输时间远...

2018-03-15 20:32:35 149

原创 深入理解JVM2-对象访问的两种方式

Java语言中,对象访问实现:Object obj = new Object(); 假设该句代码出现在方法体中, “Object obj”反映到Java栈的本地变量表中,作为一个reference类型数据出现。 “new Object()”反映到Java堆中,形成一块存储了Object类型所有实例数据值的结构化内存。 另外,在Java堆中必须包含能查找到此对象类型数据(如对象类型、父类、实现

2017-11-30 22:18:15 217

原创 深入理解JVM1-JVM运行时数据区

#深入理解Java虚拟机(1)-JVM运行时数据区Java虚拟机所管理的内存包括的运行时数据区: 注:此图片来源于http://chenzhou123520.iteye.com/blog/1585224 程序计数器:线程私有每个线程有一个独立的程序计数器(一块小的内存空间)线程执行Java方法,程序计数器=正执行的虚拟机字节码指令的地址 线程执行native方法,程序计数器=空(Undef

2017-11-30 21:54:49 264

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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