自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 指针碰撞和空闲列表

对于Java开发来说,在虚拟机内存管理的帮助下,不需要为每个新的对象在代码层面分配内存,回收内存,比如像C语言那样操作。所以在正常情况下,内存泄露和内存溢出等问题也不太容易出现。所以要是运行中的程序出现了内存泄露问题,排查还是有一定困难。Java堆是被所有线程共享的一块内存区域,主要用于存放对象实例,为对象分配内存就是把一块大小确定的内存从堆内存中划分出来,通常有指针碰撞和空闲列表两种实现方式。1.指针碰撞法假设Java堆中内存时完整的,已分配的内存和空闲内存分别在不同的一侧,通过一个指针作为分界点,

2021-04-26 17:21:23 2311

原创 CPU制造

CPU制造一、简述计算机从上个世纪被发明后,由第一代的电子管计算机时代到现在的大规模集成电路,体积是越来越小,性能则是越来越强悍。我们都知道,计算机系统的硬件结构主要由几部分组成:控制器、运算器、存储器和输入、输出设备等,各个部件之间通过系统总线联系起来协同工作。控制器和运算器就是CPU的组成部分(还有寄存器组),控制器主要负责协调工作,运算器则负责计算机的算术运算和逻辑运算。CPU本身其实就是一块大规模的集成电路,我们现在主要介绍这一部分的内容。二、制造硅(Si),是一种非金属元素,它具有半导体

2021-04-24 20:36:26 132

原创 Class文件结构

Class文件结构1 概述作为Java程序员,为什么我们需要接触字节码文件?字节码文件的跨平台性Java语言:跨平台的语言(write once, run anywhere)当Java源代码成功编译成字节码后,如果想在不同平台运行,则无需再次编译这个优势不再那么吸引人了。Python、PHP、Perl、Ruby、Lisp等有强大的编译器跨平台似乎已经快成为一门语言必选的特性了Java虚拟机:跨语言的平台Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这

2021-04-14 22:07:41 173

原创 垃圾回收器

垃圾回收器

2021-04-12 21:50:32 382

原创 HTTP

HTTP认识 HTTP首先你听的最多的应该就是 HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol),这你一定能说出来,但是这样还不够,假如你是大厂面试官,这不可能是他想要的最终结果,我们在面试的时候往往把自己知道的尽可能多的说出来,才有和面试官谈价钱的资本。那么什么是超文本传输协议?超文本传输协议可以进行文字分割:超文本(Hypertext)、传输(Transfer)、协议(Protocol),它们之间的关系如下按照范围的大小 协议 > 传输 >

2021-04-12 18:20:49 1210 1

原创 垃圾回收相关概念

垃圾回收相关概念

2021-04-11 17:02:28 89

原创 垃圾回收相关算法

垃圾回收相关算法标记阶段:引用计数算法标记阶段的目的方法区和堆存在GC和OOM程序计数器既没有GC也没有OOM本地方法栈和虚拟机栈没有GC,但是存在StackOverFlow频繁的回收新生代,较少的回收老年代,基本不懂元空间垃圾标记阶段:主要是为了判断对象是否存活在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,GC才会在执行垃圾回收时,释放掉其所占用的内存空间,因此这个过程我们可以称为垃

2021-04-10 18:30:18 140

原创 垃圾回收概述

垃圾回收概述什么是垃圾?概述Java 和 C++语言的区别,就在于垃圾收集技术和内存动态分配上,C++语言没有垃圾收集技术,需要程序员手动的收集。垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。关于垃圾收集有三个经典问题:哪些内存需要回收?什么时候回收?如何回收?垃圾收集机制是Java的招牌能力,极大地提高了开发效率。如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展,Java的垃圾收集机制

2021-04-09 20:09:28 111

原创 StringTable(字符串常量池)

StringTable(字符串常量池)String的基本特性String:字符串,使用一对 “” 引起来表示String s1 = "chinese";// 字面量的定义方式String s2 = new String("hello");// new 对象的方式String被声明为final的,不可被继承String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小String在jdk8及以前内部定义了

2021-04-07 15:24:55 486 4

原创 三次握手四次挥手

三次握手四次挥手

2021-04-05 20:38:23 90

原创 Linux用户管理,网络管理命令

基本属性看懂文件属性Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:实例中,boot文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:当为[ d ]则是目录当为[ - ]则是

2021-04-04 20:17:59 220

原创 传输层

传输层端口号端口号(Port)标识了一个主机上进行通信的不同的应用程序;在TCP/IP协议中,用 “源IP”,“源端口号”,“目的IP”,“目的端口号”,“协议号”这样一个五元组来标识一个通信(可以通过netstat -n查看);端口号范围划分0 - 1023:知名端口号,HTTP,FTP,SSH等这些广为使用的应用层协议,他们的端口号都是固定的;1024 - 65535:操作系统动态分配的端口号,客户端程序的端口号,就是由操作系统从这个范围分配的。认识知名端口号(Well-Know P

2021-04-04 20:13:24 546

原创 执行引擎

执行引擎执行引擎概述执行引擎概述执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。JVM的主要任务是负责装载字节码到其内部,但字节码并不能够直接运行在操作系统之上,因为字节码指令并非等价于本地机器指令,它内部包含的仅仅只

2021-04-04 19:53:07 139

原创 DNS域名解析

域名( Domain Name)- 顶级域名、二级域名由于IP地址不方便记忆,并且不能表达组织的名称和性质,人们设计出了 域名(比如baidu.com)但实际上,为了能够访问到具体的主机,最终还是得知道目标主机的IP地址域名申请注册:https://wanwang.aliyun.com/那干脆全程直接用域名,不用IP地址?IP地址固定4个字节,域名随随便便都至少10几个字节,这无疑会增加路由器的负担,浪费流量根据级别不同,域名可以分为:顶级域名(Top-level Domain,简称

2021-04-03 21:48:54 907

原创 对象的实例化内存布局与访问定位

对象的实例化内存布局与访问定位对象的实例化对象创建的方式new:最常见的方式、单例类中调用getInstance的静态类方法,XxxxBuilder/XxxFactory的静态方法Class的newInstance方法:反射的方式,在JDK9里面被标记为过时的方法,因为只能调用空参构造器,并且权限必须为 publicConstructor的newInstance(Xxxx):反射的方式,反射的方式,可以调用空参的,或者带参的构造器,权限没有要求使用clone():不调用任何的构造器,要求当前

2021-04-02 19:17:33 168

原创 方法区

方法区栈、堆、方法区的交互关系运行时数据区结构图从线程共享与否的角度来看ThreadLocal:如何保证多个线程在并发环境下的安全性?典型场景就是数据库连接管理,以及线程会话管理。栈、堆、方法区的交互关系下面涉及了对象的访问定位Person 类的 .class 信息存放在方法区中person 变量存放在 Java 栈的局部变量表中真正的 person 对象存放在 Java 堆中在 person 对象中,有个指针指向方法区中的 person 类型数据,表明这个 person 对象是用

2021-04-01 17:59:45 192

空空如也

空空如也

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

TA关注的人

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