自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_43827227的博客

记录学习路线

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

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

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

2020-07-22 16:59:31 222

原创 三、内存分配与回收策略

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

2020-07-22 14:42:18 208

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

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

2020-07-22 14:04:14 309

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

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

2020-07-22 11:01:00 180

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

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

2020-03-24 15:07:18 340

原创 链表初级详解

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

2020-03-24 08:53:51 380

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

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

2020-03-23 22:12:53 525

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

端系统之间的两种通信方式:端系统之间的通信方式通常可划分为两大类:客户-服务器方式(C/S 方式)即 Client/Server 方式,简称为 C/S 方式。对等方式(P2P 方式) 即 PeertoPeer 方式 ,简称为 P2P 方式。1. 客户-服务器方式客户 (client) 和服务器 (server) 都是指通信中所涉及的两个应用进程。客户-服务...

2020-03-22 09:02:16 12429

原创 数组详解

目录什么是数组数组的优点怎么用数组 数组的初始化与赋值 数组的返回 二维数组 Arrays什么是数组数组(Array)是⼀种线性表数据结构。它⽤⼀组连续的内存空间,来存储⼀组具有相同类型的数据。线性表就是好比一条线。把它弄直了,线上的点(数据)只有前后关系。它对应的非线性结构,点(数据)之间就不是单纯...

2020-03-21 09:19:43 554

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

什么是内部类将一个类的定义放在另一个类的定义内部(嵌套类),这就是内部类。内部类有什么用内部类允许你将一些逻辑相关的类组织在一起,内部类了解外部类...

2020-03-19 16:44:48 84

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

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

2020-03-18 16:42:03 1654

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

什么是抽象类与接口抽象类包含一个或多个抽象方法的类叫做抽象类,抽象类可以有具体的方法与变量。如果想要继承一个抽象类,且想要创建子类对象,那么子类必须实现抽象类中的具体方法。如若不提供实现,那么子类也是一个抽象类。接口接口比抽象类还要抽象,接口产生一个完全抽象的类,不提供任何具体实现。抽象类为子类提供模板,子类必须实现相关的抽象类...

2020-03-17 21:22:51 123

原创 初始化顺序

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

2020-03-17 11:00:20 205

原创 final

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

2020-03-17 10:49:32 105

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

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

2020-03-16 21:14:32 1018

原创 HTML基础知识点

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

2020-02-12 13:19:33 925

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

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

2020-02-10 14:23:15 1401

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

要讲区别,首先我们得先来弄弄清楚什么是面向过程,什么是面向对象。面向过程是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。比如把大象放进冰箱,第一步需要先打开冰箱,第二步把大象放进去,第三步把冰箱关上,这样就完成了把大象放进冰箱这件事情。这就是面向过程。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而...

2019-09-25 13:24:14 1302

原创 四、队列 顺序队列和链式队列 详解

目录队列队列的顺序存储结构队列的链式存储结构入队操作出队操作队列队列的顺序存储结构队列队列,顾名思义就是平常我们排队的时候的一种结构,下面JV带你详细看看它的定义。队列(queue)是只允许在一端进行插入操作(队尾),而在另一端进行删除操作(队头)的线性表。它先进先出(First In First Out),就像排队一样。为什么删除操作是O(n)呢?...

2019-09-18 22:43:25 2423 2

原创 三、栈:顺序栈和链式栈 java语言详解

(总结源自《大话数据结构》,初学数据结构推荐此书)目录栈栈的顺序存储结构进栈操作出栈操作两栈共享空间栈的链式存储结构进栈操作出栈操作栈栈(stack)是限定仅在表尾进行插入和删除操作的线性表我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出(Last In First Ou...

2019-09-16 21:31:52 568

原创 数据结构之美(五)静态链表、循环链表、双向链表

(总结源自《大话数据结构》,初学数据结构推荐此书)目录静态链表静态链表的插入操作静态链表的删除操作循环链表双向链表静态链表用数组描述的链表叫静态链表。让数组的元素由两个数据域组成,data和cur,data存放数据,cur模拟链表里的指针,存放后继元素在数组中的下标。#define MAXSIZE 1000;typedef int ElemType...

2019-09-15 16:11:37 323

原创 【计算机网络】谢希仁(一)基础概述

目录计算机网络与互连网互连网与互联网的区别:互联网基础结构发展的三个阶段互联网的组成边缘部分客户—服务器方式(C/S方式)对等方式(P2P方式)计算机网络与互连网计算机网络(简称网络)由若干个结点和连接这些结点的链路组成,网络中的结点可以是计算机、集线器、交换机或路由器等。网络之间通过路由器互连,形成一个范围更大的计算机网络,这样的网络称为互连网,所以互...

2019-09-02 22:47:22 722

原创 数据库系统概论(一)基本概念、发展阶段

目录数据库的4个基本概念数据(data)数据库(DataBase、DB)数据库管理系统(DataBase Management System,DBMS)数据库系统(DataBase System,DBS)数据管理技术的产生和发展(了解即可)数据库系统的特点1、数据结构化2、数据共享性高、冗余度低且易扩充3、数据独立性高4、数据由数据库管理系统统一管...

2019-09-02 20:34:36 2238

原创 什么是多态

目录什么是多态多态的特点多态存在的三个必要条件多态时成员变量、静态方法和非静态方法的特点什么是多态多态就是一个对象变量可以指向多种实际类型的现象,同一个事件发生在不同的对象上会产生不同的结果。多态的特点好处:消除类型之间的耦合关系弊端:不能用子类方法,可用转型的方法解决转型:·向上转型:【自动】父类 父类对象 = 子类实例;Fu f...

2019-08-20 20:45:31 10553 2

原创 重载(overload)与重写(override)一句话道清区别,再也不弄混

先一句话讲清区别:重载是重新加载,是方法名相同而方法参数不同,多用于构造器;重写又称覆写,是覆盖掉父类的方法,重新编写子类对父类的允许访问的方法的实现过程。再仔细讲讲这两个东西复习一下重载(overload)重载是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。重载多用于构造器中方法的重载:相同的方法名,不同的功能——>形参不一样(形参类型,...

2019-08-19 18:56:25 335

原创 内存分析--栈、堆、方法区

目录栈(stack)堆(heap)方法区(method area)栈(stack)0、自动分配连续空间1、栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)2、JVM会为每个线程创建一个栈,用于存放该线的执行方法的信息(实际参数、局部变量等)3、栈属于线程私有,不能实现线程间的共享4、栈的存储特性:先进后出,后进先出...

2019-08-18 16:28:35 202

原创 java中什么是类?什么是对象?

对象我们常说,一切皆对象,为什么呢?在计算机科学中,对象(英语:object)是一个存储器地址,其中拥有值,这个地址可能有标识符指向此处。对象可以是一个变量,一个数据结构,或是一个函数。是面向对象(Object Oriented)中的术语,既表示客观世界问题空间(Namespace)中的某个具体的事物,又表示软件系统解空间中的基本元素。在java中,对象就是用来描述客观事物的一个实...

2019-08-18 16:13:25 600

原创 static

目录static(静态修饰符)是什么 Static有什么用Static用在哪、什么时候用1,静态变量 2,静态函数3.静态代码块成员变量和静态变量(static修饰的成员变量)的区别finalstatic(静态修饰符)是什么 static是一个静态修饰符,可以修饰变量、方法、代码块...

2019-08-18 16:01:59 110

原创 继承

目录继承extends覆盖方法Overridesuper和this子类实例初始化过程继承extends继承就是通过扩展一个类来建立另外一个类的过程。extends:表明正在构造的新类派生于一个已存在的类。(父亲对儿子开放的东西,儿子就算自己没有也能用,这就是继承。)子类拥有比父类更加丰富的功能,是因为子类会自动继承超类的方法和域。public cl...

2019-08-18 11:58:40 227

原创 异常

目录异常​​异常体系Throwable特点:可抛性throws 和throw的区别ErrorIOException(未检查异常)RuntimeException (运行时异常)自定义异常异常处理的原则:异常的注意事项:异常异常:在运行时期发生的不正常情况。 例:角标越界。空指针等在java中通过面向对象的思想用类的形式对不正常情况进行...

2019-08-17 14:20:17 89

原创 数据结构之美(四)线性表的链式存储结构

(总结源自《大话数据结构》,初学数据结构推荐此书)目录线性表的链式存储结构基础知识与概念头指针与头结点单链表的读取O(n)单链表的插入 O(n)单链表的删除 O(n)单链表的整表创建单链表的整表删除线性表的链式存储结构基础知识与概念顺序存储结构比较简单,但它是有缺点的:插入和删除的时候需要移动大量元素,若在第一个元素之前的位置插入元素或删除第一个...

2019-08-14 21:49:46 163

原创 数据结构之美(三)线性表的顺序存储结构

(总结源自《大话数据结构》,初学数据结构推荐此书)目录线性表(List)线性表的顺序存储结构线性表的存储地址线性表的基本操作GetElem(L,i,*e)ListInsert(*L,i,e)ListDelete(*L,i,*e)线性表(List)线性表是数据结构中最常用和最简单的一种结构,定义如下线性表:零个或多个数据元素的有限序列线性结构:一...

2019-08-11 16:12:10 278

原创 算法基础知识

(总结源自《大话数据结构》,初学数据结构推荐此书)算法算法的特性1.输入输出2.有穷性3.确定性4.可行性算法设计的要求1.正确性2.可读性3.健壮性4.时间效率高和存储量低1.事后统计方法2.事前分析估算方法函数的渐进增长算法时间复杂度定义常见的时间复杂度最坏情况与平均情况算法空间复杂度算法算法是解决特点问题求解...

2019-08-11 14:57:56 332

原创 数据结构之美(一)数据结构绪论

(总结源自《大话数据结构》,初学数据结构推荐此书)目录数据结构基本概念与术语1、数据2、数据元素3、数据项4、数据对象5、数据结构逻辑结构和物理结构逻辑结构1.集合结构2.线性结构3.树形结构4.图形结构物理结构(存储结构)1.顺序存储结构2.链式存储结构抽象数据类型数据类型1.原子类型2.结构类型抽象数据类型...

2019-08-11 11:35:40 490

原创 JAVA泛型是什么!

目录泛型为什么要用泛型泛型的好处什么时候用泛型怎么用泛型泛型类泛型方法泛型接口类型变量的限定类型擦除泛型泛型,即广泛的类型,泛型很像C++里的模板,记住广泛的类型和模板和参数化这三个词,我们一起往下看看。为什么要用泛型有一天,JV我给int类型的数据写了一个非常完美的函数,刚得意洋洋地打算歇会。char不高兴了,说它也要一个...

2019-08-03 18:14:58 389

原创 集合框架Map与Collection: List、Set

目录集合类的由来:集合特点:框架的顶层Collection接口:Collection的常见方法:1,添加。2,删除。3,判断:4,获取:List:特有的常见方法:有一个共性特点就是都可以操作角标。1,添加2,删除3,修改4,获取5,ListIterator接口6.List的常用子类Set:元素不可以重复,是无序。Map1,添...

2019-08-01 23:34:57 272

原创 九大基本数据类型及其对象包装类

概念:为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作。用于描述该对象的类就称为基本数据类型对象包装类,主要用基本类型和字符串之间的转换。 byte--->Byte short---> Short int--->Integer long--->Long ...

2019-07-31 20:34:03 319

原创 StringBuffer和StringBuilder的功能特点与区别(基础版)

目录特点功能区别当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类(用于存储数据的容器)。和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使...

2019-07-24 17:42:51 684

原创 常见API——String类的常用方法

public class TestString { public static void main(String[] args) { //字符串常量会被放入常量池中 String string="abc"; String string2=new String("def"); String string3="abd"+"dedsd"; String string4="18"+...

2019-07-23 21:05:57 391

原创 多线程总结,九大知识点!

学习多线程基础,这一篇就够啦!(一):https://blog.csdn.net/weixin_43827227/article/details/96606212学习多线程基础,这一篇就够啦!(二):https://blog.csdn.net/weixin_43827227/article/details/96982701多线程总结:1,进程和线程的概念。|--...

2019-07-23 16:32:21 90

空空如也

空空如也

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

TA关注的人

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