自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机网络应用层

概述应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。DNS域名系统DNS:互联网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统DNS,DNS是大多数名字都在本地进行解析,仅少量解析需要互联网上通信。作用: 将浏览器中输入的域名转换为ip地址。原理

2021-11-30 23:28:04 1747

原创 单例模式学习

单例模式概念这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有某个对象被创建;而且还提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。保证一个类只有一个实例:如果你创建了一个对象,同时过一会后决定再创建一个新对象,此时会获得之前已创建的对象,而不是一个新对象。注意:普通构造函数无法实现上述行为,因为构造函数的设计决定了它必须总是返回一个新对象为该实例提供一个全局访问节点:和全局变量一样,单例模式也允许在程序的任何地方访问特定对象。但是它可以保护该实例不被其他代码覆

2021-11-26 23:29:08 428

原创 操作系统知识学习

进程与线程概念区分并发 :同一时间段多个程序轮流发生。多个任务在同一个CPU核上,按细分的时间片轮流(交替)执行,从逻辑上来看那些任务是同时执行。并发的两种关系是同步和互斥。同步:进程间存在依赖关系,需协调进程的执行顺序。如一个进程结束的输出作为另一个进程的输入。异步:进程间彼此独立。在等待某个事件的过程中继续做自己的事,不要等待这一事件完成后再工作。互斥:进程间访问临界资源时相互排斥。并行:同一时刻多个程序同时发生串行:程序由一个线程按顺序执行。程序、进程、线程、协程程序

2021-11-24 22:14:24 297

原创 MySQL索引知识点学习

什么是索引?MySQL官方对索引的定义为:索引是帮助MySQL高效获取数据的数据结构。通俗的说,索引就相当于一本书的目录,能加快数据库的查询速度。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。InnoDB存储引擎默认将索引文件和数据文件放在 .ibd文件 。我们通常所说的索引,包括聚集索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都是使用B+树结构组织(多路搜索树,并不一定是二

2021-11-23 23:12:34 2180

原创 MySQL锁机制知识点

锁概述锁机制用于管理对共享资源的并发访问。InnoDB存储引擎会在行级别上对表数据上锁,也会在数据库内部其他多个地方使用锁,从而允许多种不同资源提供并发访问。数据库使用锁是为了支持对共享资源进行并发访问,保持数据的完整性和一致性InnoDB存储引擎锁的实现和Oracle数据库非常类似,提供一致性的非锁定读、行级锁支持。行级锁没有相关额外的开销,并可以同时得到并发性和一致性缺点:加锁是消耗资源的,锁的各种操作,包括获得锁、检测锁是否已解除、释放锁等,都会增加系统的开销。锁分类锁粒度:表锁、页锁、

2021-11-22 17:59:25 795

原创 MySQL事务学习

什么是事务?数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合。事务在执行的过程中,不会被其他客户端发送的命令请求所打断。事务四大特性(ACID)原子性:事务是最小的执行单位,要么全成功,要么全失败。一致性:事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态的含义是数据库中的数据应满足完整性约束。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库

2021-11-21 22:13:02 556

原创 数组初始化默认值

数组初始化默认值数组一旦初始化完成,其长度就确定了;数组的长度一旦确定,就不能修改了一维数组元素的初始化默认值整型:0浮点型:0.0char型:0或’\u0000’ (而非’0’)boolean型:false运用数据类型:null二维数组元素的初始化默认值,二维数据分为外层数组的元素,内层数组的元素方式一:int[][] arr = new int[4][3];外层元素初始化值为:地址值内层元素初始化值为:与一维数组初始化情况相同,按类型来分方式二:int[][] arr = new

2021-11-07 01:25:01 1384

原创 num == null 和 num.length == 0 的区别 (num 是 int[] )

num == null 和 num.length == 0 的区别 (num 是 int[] )num == null(nums在内存中没有一个对应的空间,连存储length的地方都没有)num.length == 0 (内存中开辟了一篇nums的空间,但是一个数都没放进去,但是这篇内存空间中存了length,且length的值是0),int[] array = null; 数组为空,此时array不指向任何对象;int[] array = new array[0]; 定义一个长度为0的数组;

2021-09-17 15:16:34 764

原创 SpringMVC

SpringMVC

2020-08-11 23:59:39 379

原创 Spring

Spring1.环境搭建maven搭建一个干净的项目,不使用任何模板//导入这个包可以同时导入大量其依赖的包,简单 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.0.RELEASE</version></dependency&

2020-08-10 23:25:06 134

原创 mybatis

mybatis

2020-08-06 23:17:20 297

原创 MySQL

MySQL索引索引的创建:建表时创建:CREATE TABLE 表名(字段名 数据类型 [完整性约束条件],……,[UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY[索引名](字段名1 [(长度)] [ASC | DESC]) [USING 索引方法]);说明:UNIQUE:可选。表示索引为唯一性索引。FULLTEXT:可选。表示索引为全文索引。SPATIAL:可选。表示索引为空间索引。INDEX和KEY:用于指定字段为索引,两者选择其中之一就可

2020-08-02 16:51:44 211

原创 Maven

maven

2020-07-30 00:21:48 121

原创 设计模式

1.设计模式的目的编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的:可靠性:当我们增加新的功能后,对原来的功能没有影响可读性:编程规范性, 便于其他程序员的阅读和理解可扩展:当需要增加新的功能时,非常的方便,称为可维护用性:相同功能的代码,不用多次编写使程序呈现高内聚,低耦合的特性2. 设计模式七大原则2.1 单一职责原则(Single Responsibility Principle, SRP)定

2020-07-29 11:34:56 113

原创 Docker

Docker命令查看Docker版本信息终端输入:docker versionpull镜像下来Docker安装好后是不会自带镜像的,你需要从仓库自己pull一个镜像下来,自己制作自己的镜像也是一个道理,你可以通过在已有的镜像基础上生成自己的镜像或者看一下这篇博客: 随便百度的如何创建自己Docker镜像得到的教程Docker镜像官方好像只提供Linux,这个很容易想,windows和mac是要交钱的吧大概?搜索ubuntu的Docker镜像docker search ubuntu,这

2020-07-29 03:13:18 139

原创 Linux 常用命令

Linux 常用命令Linux下有两种用户:超级用户(root)、普通用户。a)超级用户:可以再linux系统下做任何事情,不受限制。b)普通用户:在linux下做有限的事情。超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。命令:su [用户名]功能:切换用户。例如,要从root用户切换到普通用户user,则使用 su user。要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。添加用户。命令:us

2020-07-27 17:51:54 355

原创 多线程

多线程并发与并行并发:两个或多个事件在同一时间段发生并行:两个或多个事件在同一时刻发生(同时发生)创建多线程继承Thread类创建线程一、步骤1.写一个类直接继承Thread类2.重写run方法.该run()方法的方法体就代表了线程需要完成的任务3.创建Thread子类的实例4.调用线程对象的start()方法来启动该线程public class MyThread extends Thread { @Override public void run() {

2020-07-24 17:26:15 176

原创 网络编程

一、计网OSI、TCP/IP参考模型分层结构优点开放的标准化接口多厂商兼容易于理解学习和更新协议标准模块化过程,降低开发实现复杂度便于故障排除OSI模型OSI是Open System Interconnect的缩写,意为开放式系统互联。OSI七层参考模型的各个层次的划分遵循下列原则:同一层中的各网络节点都有相同的层次结构,具有同样的功能。同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信。七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。不同节点的同等层按照协议

2020-07-22 12:18:17 220

原创 类加载、反射、注解、动态代理(JDK)

类加载程序要使用某个类时如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤对类进行初始化。正常情况JVM会连续完成这三个步骤,所以有时把这三个步骤统称为类加载或类初始化。类的加载将class文件读入内存,并为之创建一个java.lang.Class对象任何类被使用时,系统都会为之建立一个java.lang.Class对象类的连接验证阶段:用于检验被加载的类是否有正确的内部结构,并和其他类协调一致准备阶段:负责为类的类变量分配内存,并设置默认初始化值解析阶段

2020-07-16 19:30:18 129

空空如也

空空如也

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

TA关注的人

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