自定义博客皮肤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)
  • 收藏
  • 关注

原创 常用数据结构基本知识总结!

线性结构特点线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系。线性结构有两种不同的存储结构,既顺序存储结构(数组)和链式存储结构(链表)。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的。链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素中存放数据元素以及相邻元素的地址信息(指针)。数组与链表数组将多个元素存放在连续的地址中,从下标0开始标记每个元素的顺序。数组是需要提前声明空间的,在Java中用如下方式定义数组,都是声明了数组的空间,当访问的下标超

2021-01-31 15:54:57 460

原创 为什么MySQL使用B+树?

首先需要理解磁盘IO的原理磁盘读取硬盘中一般会有多个盘片组成,每个盘片包含两个面,每个盘面都对应地有一个读/写磁头。将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图践绿色部分),扇区是磁盘的最小组成单元。硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。block:块是虚拟出来的,是操作系统中最小的逻辑存储单位。操作系统与磁盘打交道的最小单位是磁盘块。由于扇区的数量比较小,数目众多在寻址时

2021-01-31 16:05:41 624

原创 Spring基础理论知识

架构Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。core提供了框架的基本组成部分,包括 IoC 和依赖注入功能。spring-beans提供 BeanFactory,工厂模式的微妙实现,它移除了编码式单例的

2021-01-28 19:53:07 638

原创 还不会Mybatis?看完这篇就无敌!

什么是 MyBatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。学习文档:https://mybatis.org/mybatis-3/zh/index.html使用步骤1. Maven依赖&l

2021-01-27 13:02:00 383

原创 2021年了还不会Nginx???没事,看完包会!(手动狗头)

Nginx官方文档:http://nginx.org/en/docs/Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器。反向代理正向代理:正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服

2021-01-26 12:07:00 343 1

原创 MongoDB超级快速学习!!!

基本概念MongoDB是NoSQL数据库的一种,是一种文档型数据库,它使用的是一种类似于JSON的数据结构既BSON。工作于27017端口。MongoDB不支持事务,常用于数据量大,读写操作频繁,价值较低的数据(如游戏中的经验等,物流中的订单变更等等)数据结构在MongoDB中,表可以理解为collection,一个collection中有多行既Document。每一列被成为域filed,同时MongoDB不支持表连接。MongoDB最小存储单位就是document,数据在MongoDB中以

2021-01-24 15:38:36 219

原创 最完整的MySQL知识!掌握MySQL知识

MySQL约束用于限制表中的数据,保证表中数据的准确和可靠。not null 非空,不能为null。default 默认,用于保证该字段有默认值。primary key 主键,用于保证唯一性。unique 唯一,但是可以为null。foreign key 外键,用于限制两个表的关系,在从表添加外键,用于引用主表中的值。超键、候选键、主键、外键超键在关系模式中,能够唯一标识元组的属性集称为超键。比如:学生(学号,姓名,性别,专业编号,年龄)其中可以通过学号来确定一名学生,但是通过姓

2021-01-23 23:35:37 191

原创 不懂并发?看完就超神!!!Java并发基础(六)

并发面试题sleep和wait、yield的异同wait 方法是属于 Object 类中的,wait 过程中线程会释放对象锁,只有当其他线程调用 notify 才能唤醒此线程。wait 使用时必须先获取对象锁,所以在调用wait()时,该线程必须已经获得锁即必须在 synchronized 修饰的代码块中使用,那么相应的 notify 方法同样必须在 synchronized 修饰的代码块中使用,如果没有在synchronized 修饰的代码块中使用时运行时会抛出IllegalMonitorStateE

2021-01-23 15:29:37 154

原创 不懂并发?看完就超神!!!Java并发基础(五)

concurrenthashmaphashtable、vector和collections底层都是使用synchronized的重量级锁实现的线程安全,性能不如使用轻量级锁的集合类。而collections使用装饰器模式将原本线程不安全的比如map、list等通过synchronized变为线程安全的,但是其性能任然不好。hashmap在多线程下的问题jdk7并发死链由于jdk7在插入链表时是使用头插法,在扩容时会进行迁移,迁移过程会先记录下old table的e和next,但在多线程下,可能会

2021-01-23 15:24:06 181 1

原创 不懂并发?看完就超神!!!Java并发基础(四)

JUCfastfail快速失败机制是Java集合一种错误检测机制,在多线程下使用线程不安全的集合,每次在修改集合时都会将modCount++,而在遍历集合是会检查mod。AQS 重点Abstract Queued Synchronizer,阻塞式锁和相关同步工具的框架,用来构建锁和同步器的,AQS底层使用模板模式,Reentrantlock,semaphore等都都需要重写指定的方法。isHeldExclusively()//该线程是否正在独占资源。只有用到condition才需要去实现它。t

2021-01-23 15:14:41 101

原创 不懂并发?看完就超神!!!Java并发基础(三)

线程池ThreadPoolExecutor线程池状态七个构造方法参数线程池中主要分为核心线程,救急线程,阻塞队列,核心线程会不断执行任务,任务执行完后会接着执行任务(一直存在),而救急线程是在阻塞队列满后,就会接下任务的线程(抢救),corePoolSize指定core thread的数量,而maximumPoolSize就是core thread和救急线程的总和。keepalivetime、unit表示救急线程的生存时间和时间单位,救急线程在执行完任务后会等待keepalivetime指定

2021-01-23 14:43:13 250

原创 不懂并发?看完就超神!!!Java并发基础(二)

wait、notifywait和notify调用的前提是它们在调用之前是owner,如果在没有获得锁就调用会报错(所以需要使用syn)。一般使用motifyall,因为notify不能指定唤醒会造成虚假唤醒。● wait(),notify(),notifyAll() 和 synchonized 需要搭配使用, 用于线程同步● 线程被notify后,会从wait的地方开始继续执行。● 当一个线程在执行synchronized 的方法内部,调用了wait()后, 该线程会释放该对象的锁,然后该线程

2021-01-23 14:27:12 135

原创 不懂并发?看完就超神!!!Java并发基础(一)

多线程基本概念参考课程:全面深入学习java并发编程,java基础进阶中级必会教程进程与线程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。并行与并发并行:在同一时刻一个进程的一条指令执行,只是由于多个进程被快速轮转,使得在宏观上好像是多个进程同时进行。并行:在同一时刻内多个进程的多条指令在多个处理器上同时执行,这种情况下才

2021-01-22 13:56:29 137

原创 HTTP协议详解

HTTP工作原理HTTP(Hyper Text Transer Protocol),基于TCP/IP的应用层协议,工作于C/S服务架构,用于服务器和客户端之间传送超文本(超文本就是用超链接的方法,将各种不同时空的文字信息组织在一起的网状文本,)的传送协议。超文本更是一种用户界面范式,用以显示文本及与文本之间相关的内容,超文本有许多种格式,其中最为广泛运用的是HTML。HTTP工作于客户端-服务端架构上,HTTP默认端口号为80,但是你也可以改为8080或者其他端口,HTTP是明文数据传输。HTTP是

2021-01-18 11:31:09 743

原创 Redis完整快速入门 看完就无敌!!!!!!

RedisNoSQL优点:易扩展,NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性,数据之间无关系,不需要设计数据库,这样就非常容易扩展,NoSQL数据库都具有非常高的读写性能。大数据时代3V:海量Volume,多样Variety,实时Velocity。3高:高并发,高可扩,高性能。4种类型键值(Key-Value)存储数据库:这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。列存储数据库:这部分数据库通常是用来应对分布式存

2021-01-15 14:53:36 1041 1

原创 Docker快速入门!!!

DockerDocker是一个开源的应用容器引擎,基于Go语言。参考课程:【狂神说Java】Docker最新超详细版教程通俗易懂容器与VM容器直接在Linux上运行,同时还与其他容器共同宿主机的kernel,容器之间相互隔离,占用的内存小于其他任何可执行应用,这使得Docker轻量化。相反VM则需要以运行一个完整的客户机操作系统,并使用hypervisor通过虚拟路径访问主机资源。Docker在Centos7的安装若存在Docker,需要先卸载Docker:yum remove docke

2021-01-15 13:58:42 84

原创 RIP协议详解

RIP协议详解RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量算法(Bellham-Ford)(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。RIP应用于OSI网络七层模型的应用层,使用UDP 520端口。在实际中已经很少使用,其最大优点就是简单。报文格式工作过程RIP使用reque

2021-01-02 17:24:55 19329

原创 OSPF详解

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),其核心思想是SPF,使用著名的迪克斯彻(Dijkstra)算法来计算最短路径树。OSPF支持负载均衡和基于服务类型的选路,也支持多种路由形式,如特定主机路由和子网路由等。在OSI模型中工作于网络层,在TCP/IP层中工作于应用层。IP协议89。工作过程每台路由器向邻居发送Hello包形成邻居关系,邻居之间还会定时发送Hello数据包来维

2021-01-02 12:34:53 5464

原创 TCP UDP详解

TCP:面向连接的、可靠的、基于字节流的传输层通信协议。UDP:无连接、不可靠的、面向报文的。TCP报文格式TCP传输控制协议,面向连接的,可靠的,基于字节流的传输层协议。TCP报文封装在IP数据部分中。① URG:当URG=1时,注解此报文应尽快传送,而不要按本来的列队次序来传送。与“紧急指针”字段共同应用,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。② ACK:只有当ACK=1时,确认序号字段才有效。③ PSH:当PSH=1时,接收方应该尽快将本报文段立即传送给其应用层。

2021-01-01 15:55:54 505

空空如也

空空如也

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

TA关注的人

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