自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java垃圾回收机制(详解)

查找垃圾——垃圾搜索算法:引用计数器:系统给每一个对象创建一个引用计数器,当对象被引用时,计数器+1,当对象失去引用时,计数器-1,当计数器值为0时,系统判断该对象为“垃圾”,需要被回收,该算法由于无法解决对象被循环引用的情况,以及计数器不断的加1减1增加了系统的开销,因此在jdk1.1之后就被弃用了。GC算法:由于目前该方法被广泛使用,因此垃圾搜索算法又叫GC算法,该算法是以一些GC Roots对象为起点,沿着从上至下的顺序遍历,经过的路径称为引用链,当发现有对象不在引用链上,系统就将该对象认定为“垃

2020-09-14 20:27:39 129

原创 Java中的I/O流相关知识点

分类:按照流的流向不同:分为输入流(InputStream)和输出流(OutputStream);按流中的数据格式不同:分为字节流和字符流,字节流继承于(InputStream)和(OutputStream),字符流继承于(InputStreamReader)和(OutputStreamWriter);字节流与字符流的相互转换:字节流转换为字符流:字节输入流转换为字符输入流时,使用InputStreamReader,字节输出流转换为字符输出流时,使用OutputStreamWriter;反之,将字符

2020-09-13 10:06:46 98

原创 系统中线程之间的状态转换

线程在被创建后处于NEW状态,当其他线程调用了新创建线程的start()方法,新线程就处于就绪(RUNNABLE)状态,这个时候我们需要注意的时,此时线程并不能直接开始运行,它必须等待CPU资源,此时处于准备(READY)状态,当其获得CPU资源时,线程状态转变为运行(RUNNING)状态。当线程运行到由synchronized修饰的同步方法或者同步代码块时,如果线程正常获得锁,线程正常运行,当线程无法获得锁时,线程的状态就变为BLOCKED状态,当线程再次成功获得锁后,线程进入就绪状态。线程在运行过程

2020-09-12 11:30:55 141

原创 Java内存模型——JMM

JMM——Java的内存模型,主要用于定义Java中线程对变量的访问规则,与JVM不同。首先,在实际应用时,系统把所有线程共享的变量都放在主内存中,每一个线程都有自己的一个独立的工作内存,线程都是把共享变量的副本放到自己的工作内存,再进行读写操作,在完成操作以后,再把共享变量的副本放入到主内存中供其他线程调用。但是,当多线程进行数据交互的时候,由于容易发生指令重排序,线程就很容易搞乱数据的写、读顺序,最终导致数据不一致。因此JMM为了保证数据的写、读顺序,防止指令重排序,对其进行了原子性、有序性、可见性

2020-09-11 10:09:11 133

原创 JVM内存模型详解

JVM内存模型分为两种类型:线程独占:栈、本地方法栈、程序计数器线程共享:堆、方法区栈:又称方法栈,是线程独占的,每一个线程在执行一个方法是都会创建一个方法栈,主要用于存储动态链接、方法的出口、程序栈以及局部变量表等;方法调用时执行入栈,方法返回时执行出栈。本地方法栈:它和栈中存储的内容基本一致,主要不同是:当线程执行Java方法时使用方法栈,执行本地方法时使用本地方法栈。程序计数器:主要用于记录线程执行时的字节码位置,每一个线程都有一个独立的程序计数器,需要注意的是,它主要用于执行Java方法的

2020-09-10 21:17:05 157

原创 try-catch语句中的代码执行流程

try-catch语句主要是用于防止当系统编译发生异常时,程序员告诉编译器该如何处理异常,也就是说有try-catch语句块的代码不一定要发生异常,它只是可能会发生异常。1.当代码执行到try代码块中的语句发生异常时,该语句后面的语句全部不执行,编译器直接开始执行catch语句块中的语句,在catch语句中顺序执行代码。2.当代码执行到try代码块中的语句没有发生异常时,系统会顺序执行try代码块中的语句,直接跳过catch代码块中的语句,接着向下执行。...

2020-09-10 16:48:24 984

原创 详解TCP协议的四次挥手断连

TCP协议的四次握手断连:首先,我们要清楚在实际通信过程中,我们是不区分客户端(Client)与服务器端(Server)的,但是为了方便区分,我们将率先发起断联的一端称为客户端,将响应断连请求的称为服务器端。我们知道无论是服务器段还是客户端(大家可以看我的上一篇文章),在断连之前都是ESTABLISHED状态,由客户端(Client)率先发起断连请求,客户端(Client)发送一个FIN包(表示客户端没有数据要发生了,请求与服务器端断开连接),此时客户端(Client)的状态为FIN_WAIT_1,服

2020-09-09 11:50:27 149

原创 详解TCP协议的三次握手建联

TCP协议的三次握手建联:首先,我们要清楚在实际通信过程中,我们是不区分客户端(Client)与服务器端(Server)的,但是为了方便区分,我们将率先发起建联的一端称为客户端,将响应建联请求的称为服务器端。在开始时,服务器端(Server)会一直有一个监听的端口来判断是否有建联请求,此时服务器端(Server)的状态是Listen状态,当客户端(Client)发送SYN包给服务器后,客户端(Client)的状态变为SYN_SENT状态,而当服务器端(Server)接受到客户端(Client)发送的SY

2020-09-09 11:33:17 596

原创 hashCode()和equals()方法的简单说明

首先将二者放在一起谈:hashCode()和equals()方法是HashMap在判断一个值是否在HashMap中时所要用到的方法,如果要判断两个在HashMap表中的数据是否一致,为了方便以及高效起见,我们首先先判断他们的hashCode()值是否相同,如果不相同,那么他们的值一定不同,也就是说在HashMap表中,如果他们的equals方法显示相同,那他们一定相同,反之则不然。其次抛开hashCode()不谈,我们要知道,equals()方法不止是在HashMap表中有应用,通常也用于在对于stri

2020-09-08 16:44:44 112

原创 Java的数据类型

Java的数据类型包括两类,分别是:基本数据类型:就是我们常说的基本数据类型(整性:int、short、long;浮点型:float、double;字节型:byte;布尔型:boolean;字符型:char)引用数据类型:类、接口、数组。在面试时,一定要听清面试官问题,如果没有听清可以再问一遍,切记不可盲目作答,尤其是对于此类问题!...

2020-09-07 17:44:26 110

转载 MySQL的卸载教程(视频),同样十分详细,希望可以帮助到大家!!!!!

大家的时期帮助更多的人!!!!https://www.bilibili.com/video/av50351111/?p=23

2019-09-04 10:43:53 177

转载 关于MySQL的安装视频教程(特别详细!!!!!)

https://www.bilibili.com/video/av50351111/?p=22

2019-09-04 10:40:34 354

原创 关于编码过程中出现乱码问题的一些情况

首先,我们知道,在计算机中存储信息是依靠高低电平的不同电信号来存储。它并不能识别我们的语言。 因此为了实现计算机与人类的交互,字符集就应运而生。简单来说,字符集就相当于计算机的字典,我们将 不同的字符以及汉字编为不同的01字符串便于计算机识别。 对于字母来说,一般在计算机中作为一个字节存在,而汉字由三个字节存储,而对于我们来说, 我们最常...

2019-08-31 16:32:10 428

原创 关于Java中I/O流部分对文件的一些操作

对于文件操作方法的一些实践

2019-08-31 08:43:58 94

空空如也

空空如也

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

TA关注的人

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