自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL中InnoDB和MyISAM的区别

MySQL中的常见的存储引擎有InnoDB和MyISAM,本文主要介绍二者各自的特点和的区别。事务InomoDB支持事务。当时MyISAM不支持事务。并发MyISAM只支持表级锁,但是InonoDB支持行级锁和表锁,默认为行级锁;外键MyISAM不支持外键,但是InonoDB支持外键备份InonoDB支持在线热备份崩溃恢复MyISAM崩溃后恢复速度要比InonoDB慢的多。

2022-10-09 20:52:58 733 2

原创 TCP的拥塞控制

TCP是基于连接,面向字节流传输数据的安全 可靠的传输层协议,他有很多机制来确保传输中的安全,例如校验和、序列号、确认应答、超时重传、连接管理、拥塞控制等等一系列的机制来确保传输中的完全。同时也因为这些机制的限制,使得TCP的性能大打折扣。今天就来聊一聊什么是拥塞控制。

2022-10-08 19:24:45 1064

原创 TCP的三次握手&四次挥手

什么是TCP:什么是TCP:TCP是基于连接,面向字节流传输数据的安全 可靠的传输层协议,他有很多机制来确保传输中的安全,例如校验和、序列号、确认应答、超时重传、连接管理等等一系列的机制来确保传输中的完全。同时也因为这些机制的限制,使得TCP的性能大打折扣。今天就来说下什么是TCP提供面向有连接的通信传输。面向有连接是指在数据通信开始之前,先做好通信两端之间的准备工作。这里就离不开三次握手和四次挥手第一次握手:客户端发送一个数据包,数据包中的首部里包含:同步SYN=1,确认ACK=0。

2022-10-06 15:10:44 558 1

原创 MySQL事务的理解

事务是是数据库操作的最小的单元,它包含了一个或者多个操作命令,这些命令作为一个整体来执行,要么一起成功要么一起失败,事务是不可在分的一个整体的操作集合。

2022-10-05 15:03:29 429

原创 栈&队列的理解

栈和队列都可以作为储存数据的容器,但是其二者又有着不同的特点,以及各自的应用场景,比如在线程池的中的工作队列,其使用的阻塞队列就是队列的一种。而在JVM中的虚拟机栈、本地方法栈都是栈的一种。

2022-10-04 19:42:13 608

原创 JSon解析

JSON 使用 {......} 来保存对象.每个对象由若干数据组成,数据是由一对对 key:value 构成的,每个数据之间由 ,(逗号)隔开 ,使用 [......] 来保存集合;将其中的有关天气的数据取出,首先要将JSON字符串通过 parseObject()方法转化成Json类型的对象。相比于XML更小的内存占用,同时JSON,对人对机器的易于阅读和写入,更加使的JSON成为主流数据交换语言.上面的例子是较为简单例子,只涉及到一个对象的,而实际情况要比这复杂的多。在使用时无非面临两种情况。

2022-10-04 18:49:51 407

原创 当添加一个键值对元素时,HashMap发生了什么?

后再判断数组中该坐标下,是否存在数据,如果没有数据就构造一个Node节点,存放在数中,如果该。数据覆盖,如果不相同那么该位置的元素将以链表的形式存用next 放,使指向新添加的元素,行。map是以键值对的形式来储存数据的,并且其内部也会随着内部数据的多少,而发生着变化,我们。坐标已经存在有其他元素,即产生了哈希冲突,那么就判断key是否相同,如果相同就将数组中的。如果当前数组容量已经超过60,并且链表长度不足8,那就将其转化为链表,如果链表长度超。过8,那就将链表转化为红黑树。hashnap底层是以。

2022-10-04 18:48:35 461

原创 对线程池的理解

线程池是一种技术,使用线程池来管理维护线程,比手动创建更加安全,快捷,因为线程是一种稀缺资源,无限制的过度创建,可能会威胁到系统的稳定性,同时线程的创建和销毁都会付出额外的性能消耗,而线程池就像一个蓄水的池子,将线程都存放在里面,到需要的时候,可以直接去使用。

2022-09-29 17:53:18 2272 1

原创 多线程的理解

多线程顾名思义就是有多个线程在执行任务,就像小龙女左手画圆,右手画正方形一样。它实在CPU的调度下来回切换的,但是因为人的视觉感官的问题,觉得在同时执行的。

2022-09-28 21:20:49 1240

原创 浏览一个网站时的整个过程

2、如输入网址并敲下回车的那一刻,浏览器会通过DNS(域名解析服务器)将网址转化为IP地址,并且可以根据该Ip地址获取对应的服务器。3、这是浏览器会与服务器进行连接,即浏览器发出连接请求,应为要他们是基于TCP传输数据。4、当连接建立成功,浏览器会向服务器发送一个HTTP的格式数据包,当服务器接收到数据包。后,会将该数据进行解析并执行对应的请求后,将结果以HTTP格式的数据包,发送给浏览器。5、浏览器收到该数据包后,对数据进行解析,并将结果呈现出在界面上供我们查看。

2022-09-22 19:04:18 257

原创 TCP与UDP的区别

据的安全到达与有序到达,即尽最大努力到达。但是UDP的传输效率要比TCP高,所以在视频通话等类似功能中大多都使用的UDP。UDP是无连接的,支持一对多,多对一的广播传输形式,依靠数据包来传输数据,但是UDP不保证数。TCP 是面向连接的,只支持点对点的数据传输,依靠字节流来传递数据,是一种可靠的数据传输。的服务,即不重复,不丢失,按序到达,所以为了维护这种可靠、安全性在首部中维护了大量数据。例如:避免丢失数据,有重传机制;为确保数据到达,又有确认应答等等。如此,TCP的性能要比UDP差。

2022-09-22 18:37:22 1477

原创 CopyOnWriteArrayList源码分析

CopyOnWriteArrayList是一个线程安全的Arraylist,它的内部存储结构采用数组, 线程安全是基于Reentrantlock实现的, 当对CopyOnWriteArrayList进行写入操作事, 并不影响进行并发的读取操作,实现读写分离操作的思想。

2022-09-18 19:23:45 73

原创 创建对象在堆区如何分配内存

堆是JVM所管理的最大内存并且内存被所有线程共享的一块区域,堆中的存放对象实例,几乎都有点的对象实例以及数组都在这里分配内存。而堆又分为和。

2022-09-18 18:56:12 94

原创 Session会话追踪的实现机制

HTTP协议是一个无状态协议,即Web应用程序无法区分收到的两个HTTP请求是否是同一个浏览器发出的。例如:当一个用户登录成功后,如果他继续请求访问其他页面、当一个用户在操作自己的购物车时,请求添加购物车然后结账。如果Web程序如何不能区分请求是否为同一用户的,就会导致混乱,因此在Web应用程序中,我们经常要跟踪用户身份。为了跟踪用户状态,服务器可以向浏览器分配一个唯一ID——Session ID,并以Cookie的形式发送。

2022-08-25 17:22:48 259

原创 Serverlet的生命周期

有请求到达serverlet时,调用servlet对象的service()方法,处理请求的方法在整个生命周期中可以被多次调用;HttpServlet的service()方法,会依据请求方式来调用doGet()或者doPost()方法。当serverlet关闭时(应用程序停止时),会将程序中的Servlet 实例进行销毁,会调用Servlet实例的。,指的是servlet容器何时创建servlet实例、何时调用其方法进行请求的处理、何时并销毁其实例的。其完整的周期包括:实例化、初始化、服务、销毁。

2022-08-21 19:47:20 2304 1

原创 基于FTP协议的文件写入和传输

文件传输协议(FTP)作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用。FTP的目标是提高文件的共享性和可靠高效地传送数据。FTP协议与TCP协议有着相似的的地方,都基于连接来实现文件的共享,同时也分为客户端和服务器。在现实生活中基于FTP的服务端程序已经有了成熟的发展,同事时也不需要我们来手动的实现服务的代码,下面,我们就以easyftp这个小程序来实现文件的共享。在这个小的程序中我们可以,自己设定用户登陆账户以及密码,同时还可以给予用户相应的权限,如,查看以及删除文件的权限等。...

2022-08-07 18:15:42 677

原创 Java加密总结:常见哈希算法总结、对称式加密与非对称式加密的对比

随着人工智能的不断发展,密码学这门技术也越来越重要,很多人都在加密算法的探索中,而我们本次文章就介绍下,常见的各种算法。提示以下是本篇文章正文内容,下面案例可供参考哈希算法又称为“摘要算法”,它的作用是任意一组输入数据进行计算。得到一个固定长度的输出摘要。哈希算法的目的是验证原始数据是否被篡改。提示这里对文章进行总结例如以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。..................

2022-07-21 19:28:53 381

原创 使用Java 实现邮件的发送

邮件的使用大多数使用者是在各类APP上实现的,而在Java中也可实现类似功能邮件的发送过程与快递的发送十分相似,都是通过中转来完成的例如从A软件发送到B软件,则是从A的服务器中转到B的服务器的,最终才到用户手里中我们把发送接受邮件的APP称为MUA处理邮件的中转服务器称为MTA最终到达的服务器成为叫做MDA在网络中邮件的常用协议有POP3SMTPIMAP。...

2022-07-17 20:21:10 1061 4

原创 基于TCP协议实现简单的通信

基于TCP协议的简单通话程序

2022-07-17 13:31:32 1137 3

原创 Excel解析

excel文件解析

2022-07-13 21:35:32 887 4

原创 zip压缩文件的读取与写入

zip文件的解压缩,与压缩

2022-07-07 18:49:29 1668

原创 FileinputStream和Bufferedinputstream的区别

FileinputStream是inputstream的一个子类,是字节输入流,有read(E)方法来实现从磁盘中读取文件。eg:public class FileInputStream extends InputStream{}import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;public class Damo01 { public static void main(

2022-05-23 15:42:58 256 1

原创 用栈来是实现队列

要用栈模拟队列,首先要清楚栈和队列有什么不同的特点相同点:栈和队列都是保存一组元素的容器队列(Queue):线性表结构,遵循先进先出,后进出的(FIFO:First in last out)的基本原则;它只允许在队首进行出队(删除)的操作,在队尾进行入队(插入)的操作;栈(Stack): 栈采用的是后进先出(LIFO:Last in fist out)的基本原则,与队列的操作相反,栈只允许在栈顶进行插入和删出操作;对栈和队列之间的特点有了大概了解,就能开始我们的的正式实现了首先.

2022-05-13 20:55:11 284

原创 Collction集合与Map;Queue队列和Priorityqueue优先队列和Deque双端队列;Stack栈的用法和遍历

Collction集合:保存若干个元素的某种容器,长度不固定一 ,list 接口继承自colltion其实现类有:Arraylist linkedlistlist一种有序(有序即是与输入结果相同)集合,允许重复; 允许添加nueg:List<String> arrayslist = new ArrayList<String>();arrayslist.add("A");arrayslist.add("B");arrayslist.add("B");//允许重复

2022-05-09 17:08:16 324 1

原创 对缓存池的理解

缓存池的存在是为了方便Interger实例进行比较,因为在Intreger的比较只能使用equals进行比较,缓存池早就不-128到127创好,存在了缓存池中,所在比较-128到127之间的数时,可以直接调用缓存池中的数,这样节省了空间,但是我们不能因为有缓存池的存在,就直就使用 "=="进行比较。......

2022-02-22 19:25:22 165

原创 String : StringBuilder: StringBuffer的比较

一、Strin和StringBuilder,StringBuffer最大的不同在于,前者是不可变的对象,虽然String可以直接用+进行字符串的拼接,可是每次都会创造新的字符对像,且都是临时的对象,这就造成内存的浪费,影响效率;而StringBuilder和Stringbuffer则无需担心;二,StringBuilder和Stringbuffer是一个可变的对象,可以预存分配空间,在加入新字符串时,不会创造新的临时对象;同时因为在他们的方法中放回的为“this”,所以可以不断调用自身的方法

2022-02-21 19:29:10 220

原创 字符串中常见的方法总结:方法的作用 参数 返回值

一、普通方法(1)比较字符大我们常说的比较字符串大小,指的是数值的大小,所以常用 equals例如;public class Main { public static void main(String[] args) { String s1 = "hello"; String s2 = "hello"; System.out.println(s1.equals(s2)); }}其返回值是 boolean...

2022-02-20 20:10:51 368

原创 接口和抽象类的区别

接口(interface):抽象类没有成员变量并且所有方法全部为抽象方法时,就可以把抽像类定义为interface接口;只包含常量,抽象方法,默认方法;当一个具体的类去实现interface时,需要implement关键字;一个类可以implement多个interface;一个interface可以继承另一interface, 一样使用extends;抽象类(abstract):使用abstract修饰的类就是抽象类;如果某个类中定义了一个方法,可并没有代码块,则此方法为抽象方法:

2022-02-16 20:34:07 156

原创 重载和重写的区别

重载:在编译发生时,同一类中,多种同名方法的不同传参,执行不同的逻辑处理;重载必须在同一类中进行;方法的参数列表必须不同( 参数类型不同 参数的个数不同 参数的顺序不同);返回值类型可以和访问修饰不同;重写:在继承关系中,子类对父类的方法进行重写改造;重写发生在子类中:方法名必须和父类的保持一致;构造方法不能被重写;返回值类型必须保持一致;......

2022-02-16 20:16:37 148

原创 ==和equals的区别

1,等于在八种基本类型中,比较的是值的本身,而在String类型中,也可以说非基本类型中,比较的是引用地址是否相同,如果用new开辟了新储存空间,则他们的值不相同。2,equals方法是基类Object中的方法,对于非基本类型的数据,比较的是引用地址是否相同,值得注意在Java中,有许多重写equals方法类型,他们则比较的为对象内容是否相同。...

2022-02-11 23:29:54 547

空空如也

空空如也

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

TA关注的人

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