自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文章总览

文章总览Java基础Java-Web常用类API示例常用类源码常用功能常用工具类Cron表达式EcpliseSpring系列框架SpringSpring MVCSpring BootSpring CloudzookeeperRDBMSOracleMySQLNOSQLMongoDBRedisKafka大数据Flink容器化DockerDocker SwarmKubernertes计算机基础操作系统移...

2019-10-21 14:57:57 185

原创 计算机网络原理-应用层

应用层应用层,位于OSI参考模型的第7层,提供了人们所有的应用程序与下层网络的接口,通过下层网络传递信息。现在有很多应用层的协议,一般情况只要和用户相关的程序基本都属于应用层的范畴。早期的OSI参考模型高3层(会话层、表示层与应用层)与TCP/IP协议族中的应用层功能基本对应。大多数应用程序都包含OSI参考模型中的五、六、七3层。下图显示了OSI参考模型与TCP/IP模型的对应关系。在OSI参考模型与TCP/IP模型中,应用层的相关软件实现了上层应用与底层数据的对接。当我们打开任何一个应用程序时

2020-06-15 13:54:42 5833

原创 计算机网络原理-传输层

传输服务传输层是整个协议层次结构的核心,传输层位于网络层和应用之间,在终端用户之间提供透明数据传输,向上层提供可靠的数据传输服务,如图所示。网络层是通信子网的最高层,但却无法保证通信子网或路由器提供的面向连接的服务可靠性,而在网络层之上的传输层正好可以解决这一问题,改善了传输质量。传输层提供的服务传输层的主要职责是向上层(应用层)提供有效、可靠的服务。在源端和目的端之间跟踪独立地通信,每台主机同时可能有多个应用进程在通信。传输层负责协调管理多进程之间的通信流,如果某台计算机正在发送电子邮件和浏览网

2020-06-15 10:42:27 2620

原创 计算机网络原理-IPV4

IPV4IPv4网络地址数制转换IPv4地址剖析IPv4地址主机号与网络号IPv4地址子网掩码ipconfigIPv4地址分类传统IPv4地址类别特殊的IPv4地址IPv4地址用途IPv4通信地址类型网络地址规划IPv4网络地址我们把整个因特网看成一个抽象的网络,IP地址就是给因特网上的每个主机的接口分配的一个在全世界范围内唯一的32 bit的标示符。要了解网络中设备的运作方式,就必须知道设备处理地址和数据方式:二进制方式。二进制表示仅用数字“0”和“1”表示信息。要知道,任何信息与文件在计算机内存储

2020-06-11 09:51:12 3761

原创 计算机网络原理-网络层

网络互连层网络互连网络互连原理1. 网络连接2.网络互连3.网络互通网络互连设备1.物理层互连设备2.数据链路层互连设备3.网络层互连设备4.高层互连设备网络互连协议1.静态路由协议2.动态路由协议网络层IPv4数据报IPv4数据报格式1.IP数据报首部固定部分2.IP数据报首部可选部分路由数据包路由选择机制数据包转发策略路由协议1.自治系统2.内部网关协议(IGP)3.外部网关协议(EGP)路由器路由表1.路由器的路由表存储的信息2.路由器的路由表中的条目包括的信息网络层协议IP协议ARP协议ICMP协议

2020-06-08 11:08:43 1105

原创 计算机网络原理-数据链路层

数据链路层数据链路层帧同步功能使用字符填充的首尾定界符法使用比特填充的首尾标志法违法编码法字节计数法差错控制流量控制停止等待方案滑动窗口机制MAC编址与数据帧封装数据链路层协议数据单元数据帧的格式帧头与帧尾帧头编址帧尾数据链路层数据链路层是OSI参考模型中的第二层,介于物理层和网络层之间,它使用物理层提供的服务,并向网络层提供服务。数据链路层的作用是将物理层传输的有可能出错的原始比特流连接改造成逻辑上无差错的数据链路。数据链路层的基本功能是向网络层提供透明、可靠的数据传输服务。透明是指该层上传输的数

2020-06-05 11:10:06 2562

原创 计算机网络原理-物理层

物理层物理层接口与协议物理层接口物理层功能和提供的服务械特性电气特性信号的功能特性规范特性物理层接口与协议物理层位于OSI参考模型的底层,直接面向实际承担数据传输的物理介质,主要功能是实现比特(Bit)流的传输,为上一层(数据链路层)提供数据传输服务。物理层不是指具体的物理设备或物理介质,而是指使用物理介质为数据链路层提供传输比特流的物理连接。进入物理层的数据链路帧包含着代表应用层、表示层、会话层、传输层、网络层信息的比特串,这些比特串按照特定协议的要求通过铜缆、光纤或空气等物理介质传输,从一台设备

2020-06-03 13:09:38 2663

原创 10.非线性结构-最优二叉树(哈夫曼树)

最优二叉树最优二叉树相关概念最优二叉树最优二叉树又称哈夫曼(Huffman)树,在编码和决策等方面有着广泛的应用。相关概念路径:树中两个结点之间所经过的分支,称为它们之间的路径。路径长度:一条路径上的分支数,称为该路径的长度。结点的权:给二叉树中的结点赋一个数,该数称为该结点的权。结点带权路径长度:从根结点到一个结点的路径长度与该结点的权值的乘积,称为该结点的带权路径长度。树的带权路径长度:一棵树中所有叶子结点的带权路径长度之和,称为该树的带权路径长度WPL,WPL的公式如下:其中,n

2020-05-21 15:28:54 1065

原创 9.非线性结构-二叉排序树(二叉查找树、二叉搜索树)

二叉排序树二叉排序树二叉排序树的运算二叉排序树二叉排序树是一种特殊的二叉树,它可以为空,若不空,则具有以下特性。若左子树非空,则左子树上所有结点的关键字均小于根结点的关键字。若右子树非空,则右子树上所有结点的关键字均大于根结点的关键字。左、右子树都是二叉排序树。二叉排序树有一个很重要的特性,即对二叉排序树做中序遍历时会得到一个有序序列。例如,对图6-12做中序遍历可得到一个有序序列:30、53、58、63、64、71、74、95。这就是这种二叉树命名为二叉排序树的原因。因为对二叉排序树做中序

2020-05-21 15:13:17 329

原创 8.非线性结构-线索二叉树

线索二叉树线索二叉树线索二叉树运算线索二叉树对二叉树进行一次遍历能够访问二叉树的所有结点,这是很多运算的基础。例如,在二叉树中查找一个满足给定条件的结点,就需要对二叉树进行一次遍历。在实际应用中,可能会多次应用某种运算。如在程序执行的不同阶段,可能会多次查找不同的元素,这样就需要多次执行递归遍历操作,增加程序的运行时间和空间开销。为了克服重复遍历,从而提高程序效率,一种可行的方法是利用二叉链表中的空闲指针域,将遍历得到的结点之间的前后关系保存在空闲指针域中。当需要再次遍历二叉树时,只需要根据空闲域

2020-05-20 11:05:05 199

原创 7.非线性结构-二叉树

二叉树二叉树基本概念结构特点特殊形态的二叉树二叉树的性质二叉树的存储结构顺序存储链式存储二叉树的运算二叉树二叉树的结构比较规范,有许多特有的性质和特点,可以用来方便地解决许多问题,是一种应用比较广泛的数据结构。基本概念二叉树是有n(n≥0)个结点的有限集合(n等于0时称为空二叉树)。在一棵非空二叉树中:有且只有一个特定的结点称为根结点;当n大于1时,除根结点外的结点又分为两个互不相交的子集L和R,L和R也都是二叉树,L称为二叉树的左子树,R称为二叉树的右子树。L的根结点称为二叉树的左孩子,R

2020-05-20 10:55:16 749

原创 6.非线性结构-树

树与二叉树树树的定义树的常用术语树的表示树的运算树树的定义树是有n(n≥0)个结点的有限集合(n等于0时称为空树)。在一棵非空树中:有且只有一个特定的结点称为根结点;当n大于1时,除根结点外的结点又分为m个互不相交的子集,每个子集又是一棵树,称为根结点的子树。为了更加直观的表示,常常用连线将根结点与其子树的根结点连接起来。如下图所示:树的常用术语结点:树的结点指一个数据元素及指向其子树的分支。孩子、双亲及兄弟结点:对于树中的任一结点,其所有子树的根结点称为它的孩子结点。该结点

2020-05-20 10:07:47 204

原创 5.线性结构-数组和广义表

数组和广义表数组和广义表数组多维数组的顺序存储以行为主的顺序存储以列为主的顺序存储特俗矩阵的压缩存储三角矩阵对角矩阵对称矩阵稀疏矩阵广义表广义表的存储数组和广义表数组和广义表是两种特殊的线性表。数组的特殊性在于它的长度是固定的。广义表的特殊性在于它的数据元素的类型可以不同。数组多维数组的顺序存储一维数组的存储比较简单,按照数据元素在数组中的顺序存储在一组连续的地址单元中。对于多维数组而言,采用顺序存储时,有两种方式:以行为主将数组的每一行视为一个数据元素以列为主将数组的每一列

2020-05-18 10:41:20 1906

原创 4.线性结构-队列

队列队列 Queue队列的运算顺序存储结构链式存储结构循环队列队列 Queue队列是操作受限的线性表。只能在线性表的一端进行插入操作,同时,只能在线性表的另一端进行删除操作,数据元素进入和退出队列的顺序相同。队列是只允许在一端进行插入,在另一端进行删除的线性表。允许插入的一端称为队尾,允许删除的一端称为队头。队列中的元素先进先出 FIFO(First In First Out)。不含元素的表称为空队列。队列的运算初始化。清空队列。读取队头元素。检查队列是否为空。入队。出队。顺

2020-05-18 09:45:04 233

原创 3.线性结构-栈

栈 stack栈是一种操作受限的顺序表。栈中的元素只能先进后出,即FILO(First In Last Out)栈是只能在表的一端进行插入和删除数据元素的线性表,允许进行插入和删除操作的一端称为栈顶,另一端称为栈底。不含数据元素的表称为空栈。栈的运算初始化。清空栈。读取栈顶元素。检查栈是否为空。入栈。出栈。顺序存储结构采用顺序存储方式的栈称为顺序栈。与线性表一样,栈也可以采用顺序存储方式。将栈底到栈顶的数据元素依次存放到一组连续的存储单元中,并用一个变量top指示栈顶元素的位

2020-05-18 09:37:25 199

原创 2.线性结构-线性表

title: 1.线性结构-线性表date: 2019-10-01 00:01:00categories:计算机基础数据结构线性表线性表是最常见、最简单的一种线性数据结构。逻辑结构线性表是n(n≥0)个具有相同特性的数据元素的有限序列,其中n表示线性表中数据元素的个数,称为线性表的长度。n等于0时,线性表为空表。线性表的逻辑结构具有以下特性:除第一个元素a1外,每一个数据元素都有且仅有一个前驱。除最后一个元素an外,每一个数据元素都有且仅有一个后继。数据元素之间是有序的,.

2020-05-14 11:12:24 291

原创 1.数据结构概述

数据结构概述数据结构逻辑结构物理结构数据的运算数据结构的表示方法二元组图形数据结构在计算机科学中,数据是一个比较广泛的概念,所有计算机输入、存储、处理和输出的信息都是数据,如字符、数字、图像、声音、视频等。在数据结构与算法中,数据元素是程序进行处理的一个独立的单位。数据元素可以包含若干子项目,称为数据项。在不同的问题领域,数据元素包含的数据项可能有所不同。数据结构的研究对象为问题中数据元素及其相互关系。具体来说,数据结构的研究内容包括数据的逻辑结构、数据的存储结构、数据的运算3个方面。逻辑结构数据

2020-05-14 10:38:28 583

原创 Java多线程的使用

Java多线程Java多线程的使用Java多线程的七种状态Thread实例方法及静态方法创建多线程继承Thread类实现Runnable接口启动多线程 start()检查线程是否存活 isAlive()休眠线程 sleep()停止线程设置中断标志 interrupt()判断线程是否是停止状态Thread.interrupted()t.isInterrupted()通过中断标志与抛异常停止线程通过中...

2020-04-08 10:52:36 433

原创 MySQL - Schema与数据类型优化

Schema与数据类型优化良好的逻辑设计和物理设计是高性能的基石,应根据系统要执行的查询语句来设计schema。MySQL支持的数据类型非常多,选择正确的数据类型是获得高性能的前提。选择数据类型的原则更小的通常更好更小的数据类型通常更快,占用更少磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。注意没有低估值的取值范围,因为后期扩大数据类型是一个非常耗时和痛苦的操作。...

2020-04-06 10:46:25 126

原创 1.Spring 核心组件与常用模块

Spring 核心组件与常用模块核心组件常用模块核心容器核心容器提供了Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用IOC模式将应用程序的配置和依赖性规范与实际的业务代码相分离。Spring 上下文Spring 上下文是一个配置文件,向Spirng框架提供上下文信息。Spring上下文包括企业服务...

2020-03-16 10:42:59 331

原创 C++ 7.继承和派生

继承和派生继承是面对对象设计的一个重要特性,是软件复用的一种形式,它允许在原有类的基础上创建新的类。新类可以从一个或多个原有类中继承函数和数据,并且可以重新定义或增加新的数据和函数,从而形成类的层次或等级。继承与派生类的继承是新的类从已有的类中得到已有的属性。从已有的类产生新的类的过程就是类的派生。在继承过程中,原有的类或已经存在的用来派生新类的类称为基类或父类,而由已存在的类派生出的新类...

2020-03-10 19:51:33 376

原创 C++ 6.类和对象

类和对象类是面对对象程序设计的核心,是通过抽象数据类型方法实现的一种用户自定义数据类型,它同时包含了数据和对数据进行操作的函数。利用类可以实现数据的封装和隐藏。类与对象:类:是对某一类对象的抽象。对象:是某一类的实例。tips:类和对象是密切相关的。没有脱离对象的类,也没有不依赖于类的对象。类的定义类是一种用户定义的复杂数据类型,它是将不同类型的数据和与这些数据相关的操作封装在...

2020-03-10 19:51:01 503

原创 C++ 5.函数

函数函数是一个可独立完成某个功能得语句块。主要作用就是将复杂程序拆分成若干易于实现的子程序。并将程序中重复实现的功能封装到一个函数中,提高程序的开发效率,和可靠性,同时极大的增加了程序的可读性。C++函数分类:标准函数(预定义函数):系统已实现并通过函数库形式提供的函数。程序员在编写程序时可直接使用。c++中所有函数都被放到了不同的函数库中,并有一个头文件与之对应。使用时,必须使用i...

2020-03-10 19:50:29 299

原创 C++ 4.数组、指针与引用

数组、指针与引用c++提供的导出数据类型:数组、指针和引用。数组:常用于处理大量集中在一起的数据。指针:用来操纵地址的特殊类型变量,可作为函数的参数用来传递数组变量,也可用来访问和操作内存空间。是理解许多C++语言现象的关键。引用:是C++引入的新概念(C语言中没有引用的概念),在很多情况下使用引用会提高程序可读性。数组数组是由固定数目元素组成的数据结构,同一数组内的元素类型相同。...

2020-03-10 19:49:50 314

原创 C++ 3.基本控制结构

基本控制结构在程序设计语言中控制结构用于指明程序的执行流程。C++包括提供的基本控制结构分为三种:顺序结构:按照先后顺序依次执行程序中的语句。选择结构:按照给定条件有选择地执行程序中的语句。循环结构:按照给定规则重复地执行程序中的语句。C++ 语句语句是C++程序中的基本共功能单元。任何一条C++语句都是为完成某项任务而进行的相关操作。C++语句按照不同功能大体分为6类:声明...

2020-03-10 19:49:04 3199

原创 C++ 2.数据类型、运算符和表达式

数据类型、运算符和表达式数据类型、运算符和表达式基本类型基本类型的派生类型常量逻辑常量字符常量整形常量枚举常量变量全局不变量和局部变量生存期与作用域typedef 类型说明符号常量声明语句运算符(操作符)sizeof圆括号运算符优先级和结合性数据类型、运算符和表达式C++程序中每个变量或常量都要拥有一种数据类型。c++中的数据类型可以分为三类:基本类型:C++语言预先定义好的数据类型...

2020-03-06 20:43:15 780

原创 c++ 1.语言概述

c++ 语言概述c++ 语言概述C++语言支持的新特性C++的特点结构化程序设计面对对象程序设计C++语言的基本符号C++语言的词汇运算符C++程序的基本框架C++程序的开发过程c++ 语言概述c++是一种优秀的高级程序设计语言,它以c语言为基础而逐渐发展起来的,是对c语言的改进和扩充。c语言特点:语言简洁、紧凑、使用方便、灵活。具有丰富的运算符和数据类型。可以进行许多低级操作,适合...

2020-03-05 15:33:43 655

原创 Java开发规范-编程规范之OOP规约

Java编程规约(OOP规约)内容源自阿里巴巴Java开发手册(华山版)【强制】 避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用"类名."形式来访问即可。【强制】 所有的覆写方法,必须加@Override注解。【强制】 相同参数类型,相同业务含义,才可以使用Java的可变参数,避免使用Object。(提倡尽量不用可变参数编程)【强制】 外部正在...

2020-03-04 19:29:15 124

原创 Java开发规范-编程规范之常量定义

Java编程规约(常量定义)内容源自阿里巴巴Java开发手册(华山版)【强制】 不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。【反例】:String key = “Id#taobao_” + tradeId; cache.put(key, value); // 缓存get时,由于在代码复制时,容易漏掉下划线,导致缓存击穿而出现问题【强制】在long或者Long赋值时...

2020-03-03 20:48:46 397

原创 Base64 编码与解码工具类

Base64 编码与解码Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。使用Java进行Base64编码和解码import java.util.Base64;/** ...

2020-03-03 20:31:49 1641

原创 Java开发规范-编程规范之代码格式

Java编程规约(代码格式)内容源自阿里巴巴Java开发手册(华山版)【强制】如果是大括号内为空,则简洁地写成{}即可,大括号中间无需换行和空格;if(){} // 大括号中间无需空格和换行【强制】如果是非空代码块则:1. 左大括号前不换行。2. 左大括号后换行。3. 右大括号前换行。4. 右大括号后还有else等代码则不换行;表示终止的右大括号后必须换行。if () { ...

2020-02-27 17:36:37 277

原创 Java开发规范-编程规范之命名风格

摘自阿里巴巴Java开发手册(阿里巴巴华山版)

2020-02-19 14:45:23 224

原创 Java基础-StringBuilder

StringBuilderStringBuilder APIModifier and TypeMethod and DescriptionStringBuilderappend(boolean b) 将 boolean参数的字符串表示附加到序列中。StringBuilderappend(char c) 将 char参数的字符串表示附加到此序列。StringB...

2019-11-06 21:21:43 135

原创 Java基础-StringBuffer

StringBufferStringBuffer APIModifier and TypeMethod and DescriptionStringBufferappend(boolean b) 将 boolean参数的字符串表示附加到序列中。StringBufferappend(char c) 将 char参数的字符串表示附加到此序列。StringBuffe...

2019-11-06 21:21:08 117

原创 Java基础-String

StringString APIModifier and TypeMethod and DescriptioncharcharAt(int index) 返回 char指定索引处的值。intcodePointAt(int index) 返回指定索引处的字符(Unicode代码点)。intcodePointBefore(int index) 返回指定索...

2019-11-06 21:20:31 148

原创 Java基础-集合框架-Map-HashTable API及常用方法

HashTableHashTable APIModifier and TypeMethod and Descriptionvoidclear() 清除此HashTable中的所有元素。Objectclone() 创建此HashTable的浅拷贝。Vcompute(K key, BiFunction<? super K,? super V,? exte...

2019-11-06 21:19:57 317

原创 Java基础-集合框架-Map-TreeMap API及常用方法

TreeMapTreeMap APIModifier and TypeMethod and DescriptionMap.Entry<K,V>ceilingEntry(K key) 返回大于等于key的最小值的元素,如果没有,则返回nullKceilingKey(K key) 返回大于等于key的最小值的元素的key,如果没有,则返回null...

2019-11-06 21:19:04 1056

原创 Java基础-集合框架-Map-HashMap API及常用方法

HashMapHashMap APIModifier and TypeMethod and Descriptionvoidclear() 清除HashMap中的所有元素。Objectclone() 返回此HashMap中的浅拷贝:其内元素不会被拷贝。Vcompute(K key, BiFunction<? super K,? super V,? ...

2019-11-05 17:13:14 550

原创 MD5加密工具类

MD5信息摘要算法(MD5 Message-Digest Algorithm)MD5信息摘要算法(MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算...

2019-11-04 16:04:04 429

原创 Java基础-集合框架-Collection-Set-TreeSet API及常用方法

TreeSetTreeSet APIModifier and TypeMethodDescriptionbooleanadd(E e)将指定的元素添加到此集合(如果尚未存在)。booleanaddAll(Collection<? extends E> c)将指定集合中的所有元素添加到此集合中。Eceiling(E e)返回此集合中最小元...

2019-10-31 17:09:37 291

空空如也

空空如也

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

TA关注的人

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