自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot项目中使用MybatisPlus

在分布式系统中,通常需要唯一ID作为标识,所以我们需要全局唯一ID。且生成的ID要具备4个特点全局唯一性:不能出现重复的ID号,既然是唯一标识,这是最基本的要求。趋势递增:在MySQL InnoDB引擎中使用的是聚集索引,由于多数RDBMS使用B-tree的数据结构来存储索引数据,在主键的选择上面我们应该尽量使用有序的主键保证写入性能。单调递增:保证下一个ID一定大于上一个ID,例如事务版本号、IM增量消息、排序等特殊需求。

2023-10-23 14:31:54 294 1

原创 Maven在开发中的使用及理解

在JAVA项目中,我们通常需要对项目的和进行管理,这个时候我们就需要来对项目进行支持。

2023-10-19 14:35:39 414

原创 Springboot高频应用注解

本文旨在记录开发中遇到的SpringBoot高频注解,并针对其具体应用记录。

2023-10-18 15:07:02 399

原创 Spring中@Autowired基本原理

AutoWired可以它可以对成员变量、方法及构造函数进行标注,完成自动装配的工作。特别的是如果当前属性类型在容器中有个多个Bean,那么必须要通过属性名 或者 @Qualifier 指定Bean name自动装配 JavaBean ,按照类型通过set方法进行装配,set方法可以省略默认按照ByType类型匹配若按类型没有匹配到则抛出异常,若找到多个符合该类型的则按变量名作为ID进行匹配,若查找的结果为空,那么会抛出异常。解决方法时,使用required=falserequired=false可以指定允许

2022-10-24 20:59:52 691 1

原创 TCP协议的拥塞控制详解

TCP协议是传输层、面向连接的、可靠的协议。TCP连接是点到点、端到端的连接。TCP有着拥塞控制 流量控制 可靠性传输三个特点。这里我们主要讲的是TCP如何进行拥塞控制的。有时候发送方和接收方性能很好,结果是中途的网络带宽较差导致网络堵塞了。这时候如果还是依然大量的发送消息,反而会造成更大面积的网络拥塞。所以我们需要用拥塞控制,来避免由于分组丢失而进行的重发导致网络更加拥堵的现象。

2022-10-08 19:31:30 1412

原创 TCP协议与UDP协议的异同

TCP协议是一个传输层可靠的,面向连接的协议。TCP连接只服务于一对(客户端 服务器端)所以可以称TCP为一对一连接TCP将应用层传输的数据看为字节流用来传输,操作系统对数据进行拆分,所以一个TCP报文不代表一个完整的用户操作。因此面向字节流传输TCP有“可靠性传输”,”流量控制“,”拥塞控制“的特点.TCP传输速度慢,效率低,资源占用率高TCP协议适用于 发送文件 发送邮件等 一对一 且需要高安全性的场景UDP协议是一个在传输层的不可靠的传输协议。

2022-09-22 19:03:20 924

原创 浏览网站时的整个过程(基于TCP/IP四层模型)

第三步 在传输层以及建立了浏览器与服务器的连接,此时 浏览器会发送生成好的HTTP格式的请求数据包,服务器收到请求数据包后会解析、执行请求、并且生成一个HTTP格式的响应数据包响应至浏览器。首先 我们会在浏览器的地址栏中输入想要浏览的网站的地址,这时域名解析服务器DNS会把域名翻译成对应的IP,这时客户端会根据对应的IP来访问服务器端!第四步 浏览器会根据收到的HTTP响应数据包并且解析,将响应的结果通过渲染呈现给用户。此时会通过TCP的三次握手来建立一个安全可靠的连接。此时完成一个网站的浏览。

2022-09-22 18:02:10 1392

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

堆区是JVM中线程共享的区域,堆区中几乎存放了所有的对象实例。

2022-09-19 17:22:41 133

原创 关于CopyOnWriteArrayList底层分析

CopyOnWriteArrayList源码分析

2022-09-19 09:11:55 115

原创 Java中的线程安全问题

一个线程对共享变量的修改,另外一个线程能够立刻看到。可见性问题产生原因CPU缓存与内存导致的可见性问题。如何解决可见性问题使用volatile关键字保证可见性。程序执行代码的顺序按照代码的顺序。

2022-09-15 17:59:10 205

原创 Java中关于乐观、悲观锁、死锁的常见问题

乐观锁通常是读锁,乐观锁认为读的过程中大概率不会写入,所以支持多线程,并发率高。当数据提交的时候通过一种机制来验证数据是否存在冲突。乐观锁中出现数据不一致,需要检测并重读。乐观锁通常是通过在表中增加一个版本(version)或时间戳(timestamp)来实现,悲观锁通常在读的过程中拒绝有写入,也就是写入必须等待。不支持多线程。乐观锁适用于读多写少的场景,可以省去频繁加锁、释放锁的开销,提高吞吐量在写比较多的场景下,乐观锁会因为版本不一致,不断重试更新,产生大量自旋,消耗 CPU,影响性能。

2022-09-14 20:43:16 411

原创 Java线程池中的基础问题

线程池是一种池化技术,将线程存放在线程池中并处于等待状态,当出现任务需要执行时,则调用线程池中的线程执行任务,线程不足时会让任务等待,或者创建新的线程。当任务结束时,大于核心线程的线程数将会在超过KeepAlive时间后回收。

2022-09-13 19:32:06 203

原创 Java语言Map中GetOrDefault方法的使用

此方法用途是当Map中存在这个Key,则获取当前Key对应的Value值,若不存在 则返回默认值DefaultValue。则获取其对应的Value值,若不存在 则返回默认值0。以下为原代码,可以看出该方法的实现逻辑!以下为实例 若存在。......

2022-08-29 18:59:24 236

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

因为HTTP协议是一个无状态协议,即Web应用程序无法区分收到的两个HTTP请求是否是同一个浏览器发出的。为了跟踪用户状态,服务器可以向浏览器分配一个唯一ID,并以Cookie的形式发送到浏览器,浏览器在后续访问时总是附带此Cookie,这样,服务器就可以识别用户身份。我们把这种基于唯一ID识别用户身份的机制称为Session。每个用户第一次访问服务器后,会自动获得一个Session ID。如果用户在一段时间内没有访问服务器,那么Session会自动失效,下次即使带着上次分配的Session ID。

2022-08-23 15:46:26 275

原创 Java中Servlet的生命周期

在JavaEE平台上,处理TCP连接,解析HTTP协议这些底层工作统统扔给现成的Web服务器去做,我们只需要把自己的应用程序跑在Web服务器上。为了实现这一目的,JavaEE提供了ServletAPI,我们使用编写自己的Servlet来处理HTTP请求,Web服务器实现ServletAPI接口,实现底层功能.// WebServlet注解表示这是一个Servlet,并映射到地址 hello.do// 设置响应类型:// 获取输出流:// 写入响应:");

2022-08-21 21:13:03 204

原创 MyBatis中常见问题及解决

项目基于Mybatis框架出现常见问题及解决。

2022-08-16 19:34:13 486

原创 HashMap如何添加键值对元素

HashMap底层存储机制 Map集合在底层使用数据+链表+红黑树作为存储结构,Map中的每一个元素,都会被封装成一个内部类Entry对象,该对象存有key、value、next、hash。Map底层是一个默认长度为16的数组,在数组中保存Entry对象。所以,每次当我们使用下面这行语句时,都会将key、value存储到Entry对象中,然后将每一个Entry对象都保存在数组中,当发生哈希冲突时,会在发生哈希冲突的数组位置将Entry对象以链表的形式保存,并且当链表长度大于阈值8,数组长度大于64时..

2022-08-15 09:19:42 564

原创 Java中的文件上传和下载(基于FTP协议)

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。FTP服务器常常被用来进行和,是互联网领域必不可少的一环。我们本次的文件上传和下载功能,就是文件共享和传输功能的实际应用!(3)FTP工作原理:与许多互联网应用一样,FTP服务也是一个客户机用反务器系统(C/S)。用户通过一个支持FTP协议的客户端程序,连接到远程主机上的FTP服务器程序。...

2022-08-06 16:55:23 1296

原创 Mysql中的基本数据类型以及查询

数据类型和查询

2022-08-02 20:11:17 3623

原创 如何在Java Script中实现表单验证(通过正则表达式)

Java Script中实现表单验证(通过正则表达式)

2022-08-01 21:11:31 351

原创 Java中如何实现动态代理

Java中通过反射实现动态代理

2022-07-28 20:17:47 1161 1

原创 对称加密算法与非对称加密算法的异同

AES算法及RSA算法处理对称加密和非对称加密

2022-07-21 19:44:12 1587

原创 Java中的编码算法与常用的加密算法

URL编码算法、BASE64编码算法、MD5算法、SHA-1算法、Hmac加密算法

2022-07-19 19:41:14 353

原创 HTTP编程(Java爬虫-简单爬取网页数据)

HTTP是的缩写,翻译为超文本传输协议,它是基于TCP协议之上的一种请求-响应协议。HTTP请求格式是固定的,由HTTPHeader和HTTPBody两部分构成。

2022-07-18 21:05:03 1455

原创 如何通过Java发送邮件(Java Email的使用)

了解JavaEmail,,常见的邮件协议有: POP3 、 SMTP 、 IMAP

2022-07-17 02:15:10 865 4

原创 Java中TCP编程与UDP编程介绍(基本使用与比较)

IP协议一种分组交换传输协议,TCP协议一种面向连接,可靠传输的协议;UDP协议一种无连接,不可靠传输的协议。

2022-07-16 18:01:24 598

原创 Java中如何处理超大文件的读写(EasyExcel的使用及与POI的对比)

本篇我们要介绍关于Alibaba开源的EasyExcel,通过EasyExcel来处理超大文件。如何处理超大文件的读写(EasyExcel)本篇我们要介绍关于Alibaba开源的EasyExcel,通过EasyExcel来处理超大文件在使用EasyExcel时我们首先应当准备实体类,这里.........

2022-07-13 16:02:01 1902 6

原创 Java中Excel文件解析(POI简介及基本使用)

Apache POI 基于 DOM 方式进行解析,将文件直接加载内存,所以速度较快,适合 Excel 文件数据量不大的应用场景。JXL 只支持Excel 2003以下版本,所以不太常见。Alibaba EasyExcel 采用逐行读取的解析模式,将每一行的解析结果以观察者的模式通知处理......

2022-07-12 21:00:39 1263 6

原创 什么是JSON及JSON基本用法。

JSON 是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。

2022-07-11 20:53:16 454 2

原创 Java浮点数精度丢失及解决方法

Java浮点数精度丢失及解决方法

2022-07-07 19:19:25 1892 1

原创 Java中的字节流和字符流

流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据用输出流保存起来的时候,就要使用输出流。字节流和字符流:在java.io包中操作文件内容的主要有两大类:字节流和字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)。InputStream 和OutputStream

2022-07-06 20:22:53 403

原创 JAVA中的Properties类的基本应用

JAVA中的Properties类的基本应用

2022-05-31 06:45:00 297

原创 Java中Zip压缩文件的读写及应用(ZipInputStream ZipOutputStream)

Java中Zip压缩文件的读写

2022-05-30 15:16:09 5053 4

原创 Java中集合的简介(List Set Queue Deque Stack Map)

Java中集合的简介

2022-05-25 16:00:42 129

原创 FileInputStream与BufferedInputStream的简介与异同

FileInputStream与BufferedInputStream的简介与比较。

2022-05-18 15:52:18 917

原创 Java中栈(stack)实现队列(Queue)

1

2022-05-15 11:41:09 353

原创 Java集合中的遍历(List Set Queue Deque Stack Map)

Java集合中的遍历(List Set Queue Deque Stack Map)

2022-05-12 12:58:12 492 2

原创 集合ArrayList基本概念

集合用来保存一组数据 且长度不固定 ,声明集合时需要泛型。JAVA库中带collection类,是除了Map外所有其他集合类的根接口。包含了LIst 和 Set 还有Map 三种类型的集合。ArrayList接口是一个允许元素重复的有序的接口,在接口尾部添加一个元素的方法是add方法add(“x")是添加x到元素尾部, add(a,"x")是添加x到下标a处(有可能出现下标越界情况)集合A addall.(子集合) 是添加子集合的方法。...

2022-03-01 22:47:08 192

原创 Java当中的异常处理(Exception Error)

Java中捕获异常的五个关键字。( try catch throw throws finally)java中异常体系基于面向对象 ┌───────────┐ │ Object │ └───────────┘ ▲ │ ...

2022-02-24 19:23:54 282

原创 JAVA中BigInteger和BigDecimal的使用

在JAVA中BigInteger和BigDecimal通常在数字过大使用普通包装类型出现溢出或者存在精度丢失时使用。相同之处在于JAVA中BigInteger和BigDecimal都采用构造方法创建BigInteger和BigDecimal对象,并且传入的值都是字符串。 BigDecimal bd1 = new BigDecimal("2.05"); BigInteger bi2 = new BigInteger("2123132132");相同之处BigInteger和BigDec

2022-02-22 18:47:05 522

空空如也

空空如也

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

TA关注的人

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