自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL优化 mysql

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结项目系统开发过程中的一个重要性能优化步骤就是SQL数据库的优化,前言一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport w

2021-12-09 21:10:57 623

原创 InnoDB引擎下的锁机制

目录MySQL的锁划分InnoDB下的行级锁处理死锁问题锁是保持并发访问下数据一致性的一个重要工具;当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制;MySQL的锁划分1、按照锁的粒度来划分,MySQL分为行级锁、页级锁和表级锁;行级锁表示只针对当前操作的行进行加锁。分为共享锁和排他锁;优点:锁定粒度最小,对当前操作的行记录加锁,发生锁冲突的概率最低,并发度也最高;缺点:加锁开销大,加锁慢;会出现死锁;表级锁 表示对当前操作

2021-12-02 17:01:18 258

原创 MySQL索引、事务常见的一些问题总结

目录1、索引是什么?如何分类?2、索引的设计原则?3、B+树索引的实现原理?Hash索引的实现;4、索引的优化策略?如何建立高性能索引?5、1、索引是什么?如何分类?索引是一种快速查找数据的数据结构,在innodb中以.index文件的方式存储在磁盘上;常见的几种索引是:B+树索引、全文索引和hash索引;1)B+索引是最常用的索引,适用于2、索引的设计原则?3、B+树索引的实现原理?Hash索引的实现;B+树是一种特殊的多路平衡查找树;一个B+树的结构一般来说如下图所示,非叶子节点主要存储每

2021-11-29 23:58:43 357

原创 MySQL中innodb体系结构和特性研究

目录简介1、innodb体系结构是怎样的?2、innodb的线程3、如何理解innodb的内存4、innodb如何保证缓冲池和磁盘上的数据一致5、innodb的一些关键特性插入缓冲两次写自适应hash索引异步IO刷新邻接页简介MySQL的体系结构可以分为连接层和服务层;连接层主要是各种外部的语言连接接口,服务层则是MySQL的核心;其中服务层又包括各种连接池、管理组、SQL接口、查询分析器、优化器、缓冲组件、存储引擎、物理文件;本文主要介绍了存储引擎Innodb的一些相关特性;1、innodb体系结

2021-11-25 11:54:38 637

原创 MySQL视图、存储过程与触发器;

目录视图使用注意事项存储过程使用触发器使用视图视图是MySQL中的一个虚拟表的概念,类似于一个SQL语句的查询结果,它提供了从某一视角来看表的类型;将一个表中不该显示的数据或列剔除;而得到自己想要的数据;视图一般应用于简化复杂的SQL语句,比如在需要大量使用一些复杂多个条件的查询时,建立符合其中条件的SQL语句显示的视图,可以快速的将视图的SQL语句进行一个复用,即只需要从视图中获取数据即可;另外,除了简化复用SQL语句,它还对于原来的数据表起了一个保护作用,视图可以返回和原表数据格式不相同的数据

2021-11-24 18:06:35 484

原创 常见解题方法(位运算、双指针、前缀和)

数组:位运算双指针滑动窗口前缀和

2021-11-23 19:06:32 308

原创 TCP/IP协议族介绍

目录简介TCP/IP协议分层模型协议通信过程应用层协议TELNETSSHFTPSMTP与POPHTTPSNMPMIB与RMONRTP传输层TCPUDPSCTPDCCP网络层IPARPICMPDHCPNAT总结简介所谓TCP/IP协议族,一般来说不仅仅指TCP/IP两种协议,而是指一系列网络协议:包括IP/ICMP、TCP/UDP、FTP/TELENT等利用IP通信时需要用到的协议;TCP/IP协议的标准化流程大致分为以下几个阶段:首先是互联网草案阶段;其次,如果IETF认为可以进行标准化,就记入RF

2021-11-22 23:45:26 3013

原创 OSI七层模型和TCP/IP四层网络模型

目录简介五层模型应用层运输层网络层数据链路层物理层OSI七层模型应用层表示层会话层运输层网络层链路层物理层TCP/IP四层模型应用层传输层网络层链路层简介通常我们以协议栈的方式将网络划分为5层体系结构、应用层、网络层、运输层、数据链路层和物理层;开放系统互连 (OSI) 模型由国际化标准组织(ISO)提出; OSI 参考模型的 层是:应用层、表示层、会话层、运输层、网络层、数据链路层和物理层;TCP/IP四层模型则指的是应用层、网络层、传输层、链路层;五层模型应用层负责应用程序间的信息交互;其

2021-11-21 17:56:11 544

原创 ssl协议连接过程

目录SSL简介SSL加密过程1、握手2、密钥导出3、数据传输关闭SSL连接SSL简介密码技术常常用于提供机密性、数据完整性和端点鉴别;对于一个TCP连接的加密过程,TCP 的这种强化版本通常被称为安全套接字层 Secure Socket Layer, SSL; SSL协议版本3以上修改的版本被称为运输层安全性 Transport Layer Security, TLSSSL协议通过采用机密性、数据完整性、服务器鉴别和客户鉴别来强化TCP,从而强化HTTP2连接,来解决一些服务器上的应用安全问题;

2021-11-20 21:53:58 3143

原创 堆排序和快排与归并排序

目录快速排序算法思想算法的优化代码实现归并排序算法思想算法优化代码实现堆排序算法思想代码实现本文主要介绍了三个排序算法的思想原理和Java代码实现快速排序快排序的一个优点是其原地排序的特性,通过反复的交换元素,直接在数组中进行操作,只需要分配较少的内存来用于中间计算。最佳情况:T(n) = O(nlogn) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(nlogn)算法思想快速排序是一种分治的排序算法。它将一个数组分成两个子数组,将两部分独立地排序。通过划分成多个子部

2021-11-19 03:06:11 1244

原创 CAS操作和原子类

文章目录CAS概念CAS的问题原子类AtomicIntegerAtomicBooleanAtomicLongAtomicReference类AtomicArrayAtomicIntegerFieldUpdaterCAS概念CAS的概念:CAS包含3个操作数:内存值V、旧的预期值A、要修改的新值B。当且仅当预期值A与内存值V相等时,将内存值V修改为B,否则什么都不需要做。这是一种算法,用于在多线程写时保证一个变量的原子性。通过CAS可以更容易的实现一种类似乐观锁的机制来保证操作对象的安全。以例子来说明

2021-11-17 19:50:29 206

原创 Java中的volatile与synchronized

简介Java中多线程并发编程中synchronized和volatile是对于线程的安全保证的两个重要机制;简单来说synchronized提供了一种独占加锁的机制,使得当前锁住的对象只被一个线程访问;volatile用于保证了线程的在共享内存中变量对于所有线程可见与禁止cpu指令重排作用;从而保证部分状态下的线程安全;线程安全的三大特性:原子性:一组语句作为一个不可分割的单元被执行。可见性:修改一个共享变量时,其他线程可以读到这个修改的值;有序性:对于多个线程执行来说,他们之间必须是相对有序的;

2021-11-15 18:35:32 1492

原创 Java并发编程问题与执行实现

并发编程的应用场景1、某些需要提高性能的地方,显然在大多数情况可以多线程执行的地方采用多线程执行可以增加程序的执行效率;提高CPU利用率;2、同步访问地段,除了在主动应用多线程提高性能外,必须在支持多线程访问的接口上进行多线程的处理,否则很容易出现问题;3、有时需要保证多个用户对于系统顺序访问的公平性,让其通过多线程的方式比单线程串行较好一些。4、通过将一个大的任务分成几个单独的小任务分线程来执行,不一定是为了效率,这样的编程方式使得各个线程任务隔离执行,提高可读性。并发编程的问题1、线程安全问

2021-11-14 20:58:18 418

原创 URL请求过程

结论:1、首先请求DNS解析域名、解析为ip地址;2、根据这个地址找到互联网上对应的服务器,向这个服务器发起一个请求,3、由服务器决定返回默认的数据资源给访问的用户;4、浏览器根据数据渲染页面;DNS域名解析过程1、当用户在浏览器中输入域名并按回车键时,浏览器会检查缓存中该域名是否为对应解析的IP地址,如果缓存中有,解析过程将结束。浏览器缓存大小有限制,而且也有时间限制,通常是几分钟到几个小时,这个时间限制是由域名的TTL属性来设置的。2、如果用户的浏览器缓存没有,浏览器将缓存查找操作系统缓存

2021-11-11 23:15:03 4666

原创 MySQL体系结构

基本概念MySQL是一个可移植的数据库,在各个频台上的物理体系基本一致;数据库:物理操作系统文件和其他文件类型的集合。MySQL数据库文件可以是frm\MYS\MYI\ibd等结尾的文件。使用NDB引擎是文件是在内存中的;实例:MySQL数据库由后台线程以及一个共享内存区组成。共享内存区的内存由后台线程共享。数据库实例才是真正用于操作数据库的。结构体系通常来说MySQL 体系结构可分为两层,MySQL Server 层和 存储引擎层,而 MySQL Server 层又分为连接层和 SQL 层,连接

2021-11-10 21:36:39 677

原创 Linux编程基础

linux程序的执行过程linux程序涉及的过程包括预处理、编译、汇编、和链接等步骤;1、预编译 用于处理头文件,处理一些预处理命令;如#include。它的作用是将头文件的内容包含到本文件中。gcc -e2、编译环节是指对源代码进行语法分析,并优化产生对应的汇编代码的过程。同样,可以使用gcc得到汇编代码,而非最终的二进制文件。gcc -s3、汇编就是将源代码翻译成可执行的指令,并生成目标文件。gcc -c4、链接是生成最终可执行程序的最后一个步骤,也是比较复杂的一步。它的工作就是将各个目标

2021-11-09 20:15:21 1046

原创 MySQL基础语法

当我们写完Java源代码后,通过编译器来将其转化为字节码class供JVM来进行使用,随后再由JVM处理成计算机能够理解的语言,通过JVM对于不同系统的适配,从而使得Java拥有良好的跨平台性;那么 编译成Class文件的过程是怎样的;步骤:...

2021-11-08 22:22:23 345

原创 注解Java

基本概念注解是指那些插入到源码上的@xxx这种,通过注解使得其他工具类对于其进行处理;注解不会改变程序的编译方式。Java编译器对于包含注解和不包含注解的代码生成相同指令;注解的作用:常用于附属文件的自动生成类、测试、日志、事务等语义的自动生成;...

2021-11-07 18:31:01 63

原创 基于Java8的日期和事件API

时间线Java的Date和Time的API都具有以下规范1、每天86400秒2、每天正午进行时间精准匹配;3、其他时间进行接近匹配;因此Java的时间api能符合官方时间的变化;Instant类提供了时间的计数;其可以充当时间戳,可以使用其方法比较两个对象,比如isAfter、isBefore判断前后关系;为了得出时间差,引入了Duration静态类的between方法;然后使用Duration类的getSeconds、toDay、toMinutes、toHours等方法得到自己所需要的值;

2021-11-06 14:47:25 114

原创 JDBC的基本步骤

学习目标:jdbc学习内容:JDBC理解JDBC编程步骤1、注册驱动2、获取链接3、获取数据库操作对象4、执行sql语句5、处理查询结果集6、释放资源其他

2021-11-05 15:00:57 267

原创 Java中的Stream流API

简介流机制用于快速的对于数据进行处理,我们可以使用它和lambda表达式达到一个简洁的数据处理;对于数据的处理,使用流可以避免再使用其他的加工步骤,更关注于结果的具体表现,而非如何去实现流程;比如:如果想要对于一个0-100整形数组nums,进行大于50的计数操作;public static void main(String[] args) { int[] nums = new int[10]; for (int i = 0; i < nums.length; i

2021-11-03 16:32:17 147

原创 Java中的集合

Java集合指标准库中对于一些不同类型集合的封装集合中的接口大体上分为Collection和Map两种;Collection又包括List、Set、Queue三种;List、Set、QueueList是一个有序集合、元素会在容器中的特定位置进行存储、可以使用迭代器或者使用下标进行一个随机访问: List可以精确控制每个元素在列表中的插入位置。 用户可以通过它们的整数索引(在列表中的位置)访问元素,并在列表中搜索元素。而且List可以存储多个Null;对于List,java中还有一个ListIte

2021-11-01 23:29:27 51

原创 操作系统基础知识点总结

简介操作系统负责管理协调硬件、软件等计算机源的工作,为上层用户、应用程序提供简单易用的服务,本质是一种系统软件;功能目标:1、管理计算机资源:处理机、存储器、文件、设备;2、向上层提供服务:包括用户GUI和开发者的系统接口;3、硬件机器扩展;操作系统的四大特征:并发:两个或多个事件在同一事件间隔里发生;共享:系统中的资源可以供内存中的多个进程共同使用;虚拟:把一个物理存储映射成若干个虚拟逻辑存储;异步:并发过程中的程序非同步执行结束;发展过程手工操作阶段-批处理-分时处理-实时操作-&g

2021-10-31 22:47:49 958

原创 Java中HashMap的源码简析

简介Hashmap是Java中常用的一种集合,文章简单对其源码做了一些简单刨析基于JDK8;HashMap中的初始化参数:public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {//指定序列号,用于序列化 private static final long serialVersionUID = 36249882

2021-10-31 02:13:23 105

原创 网络安全基础

浅谈计算机网络安全的一些常见概念;常见网络威胁分裂被动攻击指攻击者不影响信息流,只在信息流中监听、截获信息流中的数据单元PDU获取信息或者流量分析;主动攻击1、恶意篡改报文内容,伪造报文信息发给接收方;2、恶意程序,如脚本木马、病毒等,获取信息损害程序;3、拒绝服务DOS,通过不停发送大量服务使服务器无法正常工作;DDOS通过多个渠道向一个站点猛攻;安全网络特性1、保密性信息截获者无法看懂信息内容,即信息加密工作做好;2、端点鉴别对于发送者和接受的的身份能够很好的鉴别,不出现失误;

2021-10-29 21:22:21 4039

原创 网络层协议简介

简介网络层负责为分组交换网络上的不同主机提供服务,在发送数据时网络层把运输层产生的报文段或用户数据封装成分组或包进行传送;IP协议网际协议IP是体系中重要的一个协议,一般预期配套使用的有地址解析协议:ARP网际控制报文协议:ICMP网际组管理协议:IGMPIP协议主要用于使互联的计算机网络进行通信;IP地址表示方式:1)分类的IP地址,IP地址通过网络号与主机号的位数对32位进行划分A类地址:0+网络号+24位主机号可容纳主机数:2^24-2,去除了全零网络号,和全一的主机广播号;B

2021-10-28 23:06:36 202

原创 常用应用层协议及HTTP协议

简介应用层协议是用于精确定义不同主机件通信的规则,传输层提供端到端的数据逻辑传输,应用层则规定了具体的数据格式类型。常用的应用层协议:超文本传输协议HTTP,域名系统DNS,FTP文件传输协议,SMTP电子邮件传输协议,POP3邮件读取协议,SNMP简单网络管理协议,Telnet远程中断协议;应用层的协议应规定下内容:1、应用进程间交换的报文类型,如请求报文或响应报文;2、各种报文段类型的语法;3、字段的含义,即报文段中的内容;4、进程发送报文的规则以及响应报文规则;DNS:Doming N

2021-10-27 18:02:12 1475

原创 树的简单理解

文章目录前言总结前言这里总结树的应用总结提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。...

2021-10-26 22:16:22 390

原创 java特性基本研究

文章目录前言一、java是什么?二、特性简介1、简单性2、面向对象3、健壮性4、安全性5、可移植性6、多线程7、动态性三、补充说明java1、java程序的运行过程2、java虚拟机简介3、其他4、java应用领域总结前言最近在系统的学习java,简单总结一些java和其他语言的不同和其特性,内容参考java核心技术卷一一、java是什么?示例:java不仅仅是一种语言,它是一个完整的平台,有庞大的类库,以及java程序执行环境。不同于c++,java拥有一个好的语法,并且好理解的语义,并在库.

2021-10-26 22:06:17 114

原创 数据结构 --线性存储结构-数组、链表、栈、队列

学习目标:理解链表的实现原理,熟练链表的使用学习内容:1、 链表的基本理解2、 链表的方法实现3、 链表的实际用例4、 文章总结一、链表的基本理解

2021-10-26 22:03:40 653

原创 浅析tcp与udp

简介TCP与 UDP是网络体系中传输层常用的协议,传输层的主要作用是提供应用进程间的逻辑通信。计算机之间的通信实际上是主机上不同应用进程间的数据交换。以用户浏览网页为例,应用层提供的是应用间的交互要求,即提供了需要交互的应用进程和需要交换的数据。下面的网络层提供的是数据报文段分组分包和路径选择。那么中间的传输层需要做到的就是对于参与传输的对象和数据进行一个确认和包装处理。事实上传输层的作用主要有以下几点;为应用进程间提供端到端的逻辑通信,对收到的报文进行差错检测,提供应用进程发送过程中传输协议的

2021-10-26 21:59:13 100

空空如也

空空如也

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

TA关注的人

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