- 博客(90)
- 资源 (1)
- 收藏
- 关注
原创 为什么重写 redisTemplate
如果启动过程中发生如下 Bug,说明我们 redis 连接池的配置没有在 maven 依赖中导入 apache.commons.pool2 的包。这个乱码就是由于我们 RedisTemplate 默认使用 Jdk 序列化造成的,如果我们想要可视化更好一些我们可以自己封装配置一个。application.yaml 配置文件。
2023-11-01 14:53:14
338
原创 3.字符集和比较规则简介
我们知道,计算机中实际存储的是二进制数据,那它是怎么存储字符串呢?当然是建立字符与二进制数据的映射关系了。要建立这个关系,最起码要搞清楚下面这两件事儿。要把哪些字符映射成二进制数据?也就是界定字符范围。怎么映射?将字符映射成二进制数据的过程叫作编码,将二进制数据映射到字符的过程叫作解码。人们抽象出一个字符集的概念来描述某个字符范围的编码规则。比如,我们自定义一个名称为的字符集,它包含的字符范围和编码规则如下。包含字符 ‘a’、‘b’、‘A’、‘B’。编码规则为一个字节编码一个字符的形式。
2023-11-01 11:47:43
663
原创 2.MySQL的调控按钮——启动选项和系统变量
查看MySQLSHOW VARIABLES (LIKE 匹配的模式);由于系统变量实在太多了,如果直接使用查看的话,就直接在屏幕上刷屏了,所以通常会使用一个LIKE表达式来指定过滤条件:服务器程序默认存储引擎InnoDB,客户端允许的最大连接数是 151。MySQL服务器实际上允许 max_connections + 1 个客户端连接,额外的 1 个事给超级用户准备的(很显然这是超级用户的一个特权)。LIKE 表达式中可以使用通配符来进行模糊查询:这就查出了所有以 default 开头的系统变量的值。
2023-10-27 10:13:31
676
原创 1. 概述
我们有时并未严格区分互联网和因特网这两个名词,许多人口中的互联网实际上是指因特网。网络互连并不仅仅是简单的物理连接,还需要各通信设备中安装有相应的软件。因此当我们谈到网络互连时,就隐含地表示在这些通信设备中已经安装好了相应的软件,因而各通信设备可以通过网络交换信息。需要说明的是,由于“草案标准”容易与“因特网草案”混淆,所以从2011年10月起取消了“草案标准”这个阶段IRFC 64101。这样,现在制定因特网标准的过程简化为:“因特网草案”-“建议标准”-“因特网标准”因特网草案不是 RFC 文档,建议标
2023-10-24 18:11:16
106
原创 1.初识MySQL
MySQL 采用客户端/服务端架构,用户通过客户端程序发送增删改查请求,服务器程序收到请求后处理,并且把处理结果返回给客户端。MySQL 安装目录的 bin 目录下存放了需多可执行文件,其中有一些是服务端程序,有一些时客户端程序。mysqldmysqld将 muyqld 注册为 Windows 服务mysql -h 主机名 -u 用户名 -p密码TCP/IP命名管道或共享内存UNIX 域套接字以查询请求为例,服务器程序在处理客户端发送过来的请求时,大致分为以下几个部分。
2023-10-24 15:10:36
240
原创 01_网络编程_传统IO
在网络通信协议下,不同计算机上运行的程序,进行的数据传输。如果想把一个计算的结果,或者是电脑上的文件通过网络传递给你的朋友,就需要用到网络编程。在实际生活中,网络通信无处不在不管是什么场景,都是跟之间通过网络进行数据传输。java.net不管是 B/S 架构,还是 C/S 架构,客户端/浏览器负责的仅仅是把数据展示出来,展示给用户去看。在项目中,真正核心的逻辑都是在服务器当中的。二者都有各自的优缺,具体用哪种,需要结合当前项目的特点来断定。
2023-09-16 09:40:04
533
原创 2、结构型设计模式
由于某些原因需要给某对象(目标对象)提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。Java中的代理按照代理类生成时机不同又分为静态代理和动态代理。静态代理代理类在编译器就生成,而动态代理代理类则是在 Java 运行时动态生成。动态代理又有 JDK 代理和 CGLib 代理两种如果去欧洲国家旅游的话,他们的插座如下图最左边,是欧洲标准。
2023-08-26 16:38:26
1373
1
原创 01.对象无所不在
本章的知识点足以让你理解如何编写一个简单的Java程序。此外,本章还介绍了 Java 语言的概况,以及一些语言基础。然而到目前为止,你所接触的代码示例都是“这么做,再那么做,然后再那么做”。接下来将会学习 Java 编程的基础运算符,并展示如何控制程序流程。
2023-07-26 23:49:41
55
原创 1、创建者模式(5种)
需求:设计一个咖啡店点餐系统。设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店(CoffeeStore),咖啡店具有点咖啡的功能。具体类的设计如下:// 加糖 public void addSugar() {System . out . println("加糖");} // 加奶 public void addMilk() {System . out . println("加奶");} }
2023-07-19 14:22:27
674
翻译 Redis 中文文档(三)——User interface
在交互模式下,reds-cli具有基本的行编辑功能,可以提供熟悉的键入体验。模拟复制副本并打印它从主复制副本接收的复制流。检查Redis服务器的延迟并显示统计信息。请求延时样本和频率的ASCII艺术频谱图。本主题涵盖了reds-cli的不同方面,从最简单的功能开始,到更高级的功能结束。
2023-07-10 18:33:47
544
原创 02.附录:Java中Math、BigInteger、BigDecimal详解
Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。都是静态方法,使用不多.:float和double都不能表示精确的小数,此时使用 BigDecimal类,用于处理金钱和精度要求高的数据.:表示大整型,如果两个long类型的最大值相运算,结果long再也存储不下,此时使用BigInteger,一般不用.
2023-07-10 00:08:36
178
翻译 Redis 中文文档(一)
开发了开源和源代码可用技术,开发人员可以免费使用。Redis OSS:我们软件和服务的核心引擎:对于希望获得Redis OSS所有功能和最新创新的开发人员来说,Redis Stack:Redis,Inc.必须在一个易于使用的软件包中提供所有功能。:我们的商业产品。Redis Enterprise保持了Redis的简单性和高性能,同时添加了许多企业级功能,包括:线性扩展到每秒数亿次操作提高了高可用性,正常运行时间高达99.999%地理复制、活动-活动数据分发数据分层高级安全功能。
2023-07-07 18:29:40
4860
原创 01、自定义持久层框架
加载配置文件:根据配置文件的路径,加载配置文件成字节输入流,存储在内存中创建Resources类 方法:InputStream getResourceAsStream(String path)// 根据配置文件的路径将配置文件加载成字节输入流存储在内存中 InputStream resourceAsStream = Resources . class . getClassLoader() . getResourceAsStream(path);} }
2023-06-30 18:21:32
102
原创 JDK8新的日期和时间 API
jdk8中增加了一套全新的日期时间API,这套API设计合理,是线程安全的。新的日期及时间API位于java.time包中,下面是一些关键类。LocalDate:表示日期,包含年月日,格式为 2019-10-16LocalTime:表示时间,包含时分秒,格式为 16:38:54.15849300:表示日期时间,包含年月日,时分秒,格式为 2018-09-06T15:33:56.750:日期时间格式化类Instant:时间戳,表示一个特定的时间瞬间。Duration。
2023-06-18 14:36:34
207
原创 01_Java8新特性
Java8的新特性1、Java8的概述Java8是 Java 语言的一个重要版本,该版本于2014年3月发布,是自Java5以来最具革命性的版本,这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。Java8版本目前来说还是主流,现在仍有很多公司还在使用该版本。而且该版本是JavaJDK版本中比较跨时代的一个重要版本,因为一下增加了十多个新特性,变化非常之大。新特性就是讲Java新的JDK中增加的额外的新的语法知识和API等等。前面的学习中穿插了很多java新特性。比如:接口中增加了默
2023-06-17 13:42:29
132
原创 方法引用详解
熟悉了以上4种类型之后,方法引用再也难不住你了!// 作业// 匿名内部类@Override// lambda 表达式 testInstanceMethodRef2// 方法引用源码// 作业 Consumer < String > c1 = new Consumer < String >() {} };
2023-06-16 15:54:13
246
原创 第1章_绪论
1.1 数据库系统概述1.1.1 数据库的4个基本概念数据(data)数据库技术是管理数据的技术。数据是数据库中存储的基本对象。因此首先要知道什么是数据,知道数据由多种形式。广义的说:数据就是描述事物的符号记录。数字文字图像图形音频视频 等在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是数值型数据。现在计算机能存储和处理的对象越来越广泛,表示这些对象的数据也越来越复杂。数据的表现形式还不能完全表达其内容,需要经过解释,数据和关于数据的解释是不
2022-04-02 13:48:37
1084
原创 2022_01_29
第四天straight adj.直的;坦诚的 adv.直接地crucial adj.关键的invitation n.请帖,请柬;邀请beat v.敲打;搅拌;打败;有节奏地跳动 n.敲打;节拍security n.安全;保护措施confuse v.使混乱,使迷糊phenomenon n.现象;奇迹;奇才support
2022-02-25 23:03:09
104
原创 2022_01_26
第三天limitation n.局限,局限性yet conj.但是 adv.尚,还,仍然superior n.上级 adj.(级别/重要性)更高的economy n.经济digital adj.数字显示的;数码的flow v.流动;来自 … … 的结果 n. 流动rival n.竞争对手 v.与 … … 竞争,与 … … 相匹敌disability n.伤残,残障,障碍exposure
2022-02-25 23:02:39
222
原创 2022_02_01
第五天preserve v.贮存,保鲜;保存 vt.保护link n.链接;联系;交通路线 v.连接bat n.蝙蝠;球棒,球拍gorgeous adj.非常漂亮的;(衣服或色彩)华丽的;令人愉快的,引人入胜的revenue n.税收,(公司或组织的)收益palace n.宫殿effect n.效果;影响;结果 v.使发生,引起administrative
2022-02-25 22:53:32
155
原创 非谓语动词
非谓语动词**非谓语动词:**过去分词 done;现在分词doing;动名词 doing;动词不定式 to do;动词过去式:ved 和 动词过去分词:done是长得特别相似的,如下:v:动词原型 ved:过去式 done:过去分词 doing:现在分词help helped helped helpingfuel fueled fueled fuelingcost cost co
2022-02-13 19:25:21
4686
1
原创 63_反射机制
反射机制基本概念通常情况下编写代码都是固定的,无论运行多少次执行的结果也是固定的,在某些特殊场合中编写 代码时不确定要创建什么类型的对象,也不确定要调用什么样的方法,这些都希望通过运行时传递 的参数来决定,该机制叫做动态编程技术,也就是反射机制。通俗来说,反射机制就是用于动态创建对象并且动态调用方法的机制。反射机制就是在运行阶段才知道要创建什么类型的对象、调用什么方法的机制。也就是动态编程的机制。要想实现动态编程,就得写通用的代码。目前主流的框架底层都是采用反射机制实现的。
2022-01-26 00:15:04
335
原创 62_网络编程
网络编程网络编程的常识目前主流的网络通讯软件有:微信、QQ、飞信、阿里旺旺、陌陌、探探、…无论是什么样的通讯软件,实际上都可以做到:我们离得非常远,我们之间都可以通过一个通讯软件,基于互联网进行通信。我们离得这么远,为什么网络通讯软件可以将类似于”在吗“这样的消息完整安全的传送到对方那边呢?实际上是七层网络模型在为我们的消息传输做保驾护航。网络编程就是基于互联网的通信编程。学完这章内容,我们写的Java代码不仅能在本地计算机进行通信,还能和其它计算机之间进行通信,这就叫网络编程。七层网络模
2022-01-26 00:11:37
785
原创 61_有关多线程中join方法详解
Java中join()方法的理解thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。t.join(); //调用join方法,等待线程t执行完毕t.join(1000); //等待 t 线程,等待时间是1000毫秒。下面是一段JDK中的代码: /** * Waits at most <code>millis</code> m
2022-01-25 23:28:44
7187
原创 60_多线程
多线程基本概念程序和进程的概念程序 - 数据结构 + 算法,主要指存放在硬盘上的可执行文件(对于Windows操作系统来说,可执行文件说白了就是exe)。 一旦双击程序把它跑起来,它就不在硬盘上了,而是跑到内存中去了。进程 - 主要指运行在内存中的可执行文件。可以理解为运行起来的程序。任务管理器中运行了很多很多的进程,其实也就是我们开了很多很多任务。 为什么要执行多进程?同时可以干很多活。目前主流的操作系统都支持多进程,为了让操作系统同时可以执行多个任务(目的,也就是核心理念,也就是为了让当前
2022-01-25 23:16:06
516
原创 59_IO流
IO流IO流的概念IO就是Input和Output的简写,也就是输入和输出的含义(读和写的含义)。IO就是用来进行读和写的。IO流就是指读写数据时像流水一样从一端流到另外一端,因此得名为“流"。基本分类按照读写数据的基本单位不同,分为 字节流 和 字符流。其中字节流主要指以字节为单位进行数据读写的流,可以读写任意类型的文件。其中字符流主要指以字符(2个字节)为单位进行数据读写的流,只能读写文本文件。 即:文件中的内容只能是文本内容,是文字,不能有图片视频音频之类的。.java后缀的文
2022-01-25 22:13:17
355
原创 58_try-catch-finally的执行顺序是什么?
try-catch-finally的执行顺序是什么try-catch-finally的执行顺序是:不管有没有出现异常,finally块中的代码都会执行;当try和catch中有return时,finally仍然会执行;finally是在return后面的表达式运算后执行的。try catch finally 执行顺序结论不管有没有出现异常,finally块中代码都会执行;当try和catch中有return时,finally仍然会执行;finally是在return后面的表达式运算后执
2022-01-25 21:56:31
190
原创 57_File类(重点)
File类(重点)File类(重点)1. **基本概念**java.io.File类主要用于描述文件或目录路径的抽象表示信息,可以获取文件或目录的特征信息, 如:大小等。对于文件本身内容不能读写。常用方法方法声明功能描述File(String pathname)根据参数指定的路径名来构造对象File(String parent, String child)根据参数指定的父路径和子路径信息构造对象,就是把上面的路径拆成了两部分。File(File pare
2022-01-25 21:54:09
166
原创 2021_01_25
第二天acquire v. 得到;(尤指靠自己的努力、行动或经过一个过程)获得;学到shed v.摆脱;流出(眼泪);蜕皮;使清晰;流下 n.棚屋awareness n.以使speaker n.说话人,演讲人platform n.站台,讲台adulthood n.成人期extraordinary adj.非同寻常的;特别的planet n.行星system n.系统;身体comfort
2022-01-25 05:49:12
292
原创 56_异常机制(重点)
异常机制(重点)### 异常机制基本概念异常就是"不正常"的含义,在Java语言中主要指程序执行中发生的不正常情况。java.lang.Throwable类是Java语言中==错误(Error)和异常(Exception)==的超类。其中Error类主要用于描述Java虚拟机无法解决的严重错误,通常无法编码解决,如:JVM挂掉了 等。其中Exception类主要用于描述因编程错误或偶然外在因素导致的轻微错误,通常可以编码解决, 如:0作为除数等。异常的分类ja
2022-01-23 15:45:33
372
原创 55_集合类库(下)
集合类库(下)泛型机制(熟悉)这一块要求我们能看懂,我们自己写泛型类的地方很少基本概念通常情况下集合中可以存放不同类型的对象,是因为将所有对象都看做Object类型放入的,因此 从集合中取出元素时也是Object类型,为了表达该元素真实的数据类型,则需要强制类型转换, 而强制类型转换可能会引发类型转换异常,一般使用instanceOf判断。为了避免上述错误的发生,从Java5开始增加泛型机制,也就是在集合名称的右侧使用<数据类型> 的方式来明确要求该集合中可以存放的元素类型,
2022-01-23 15:42:41
491
原创 54_集合类库(上)
集合类库(上)### 集合的概述(重点)集合的由来当需要在Java程序中记录单个数据内容时,则声明一个变量,本质就是在内存中申请一个小格子,把数据塞进去。当需要在Java程序中记录多个类型相同的数据内容时,声明一个一维数组,一段连续的存储单元,把它分成很多个小格子,每个小格子都能存放一个数据内容。 缺陷:必须放同类型的数据。当需要在Java程序中记录多个类型不同的数据内容时,则创建一个对象。当需要在Java程序中记录多个类型相同的对象数据时,创建一个对象数组。当需要在Java程序中记录多
2022-01-23 15:32:50
491
原创 53_可变字符串类和日期相关类
可变字符串类和日期相关类可变字符串类(重点)基本概念由于String类描述的字符串内容是个常量数值不可改变,当需要在Java代码中描述大量类似的字符串时,只能单独申请和存储,此时会造成内存空间和时间的浪费,因为用过一次之后就可能不再用就要销毁了。为了解决上述问题,可以使用java.lang.StringBuilder类和java.lang.StringBuffer类来描述字符序列可以改变的字符串,如:“ab”。这个就是在一块内存空间中对类似的内容来回调整就行,就不需要大量的申请内存,释放内存等
2022-01-07 22:48:51
353
原创 52_正则表达式
正则表达式:比较常用的规则(了解即可,没必要花时间琢磨)这个不管是笔试还是面试基本上都不会考,而且以后开发中我们直接去网上搜一个贴过来一即可。不必费劲去写,写出来的可能还没有网上的那么完美。概念:正则表达式就是一个“规则字符串”(可以理解为规则表达式,可以对字符串格式的指定),可以用于对字符串数据的格式进行验证,以及匹配、查 找、替换等操作。该字符串通常==使用^运算符作为开头标志,使用运算符作为结尾标志,这两个标识当然也可以省略==。说到底就是一个字符串,只不过这个字符串可以用开头,运算符作为结尾
2022-01-07 22:46:43
952
转载 51_String类型的常量优化机制
java 字符串常量 优化_关于Java中的常量优化机制常量优化机制在给一个变量赋值的时候,如果“=”的右边全部是常量(包括final关键字定义的常量在内)那么在编译阶段会把右边的结果赋值给左边的变量,如果范围不超过左边的变量类型的范围(或者说属于左边的范围)那么就会赋值成功如果超过就会赋值失败。右边如果存在变量,则不会触发常量优化机制。Java中的常量优化机制针对数据类型byte,short,char,String首先给出一张基本数据类型的范围图:其中JAVA常量优化的有char,shor
2022-01-07 22:43:52
206
原创 50_String类(重点)
String类的概述和使用String类的概念(重点)java.lang.String类(引用数据类型,来自java.lang包,够浪,就不用导包,可以随便使用)用于描述字符串(char类型是用来描述单个字符的,把多个字符串起来就叫做字符串),Java程序中所有的字符串字面值(双引号引起来的固定的数值,和直接量很像,直接量是直接写出来的整数数据、小数数据,又叫字面值,又叫常量)都可以使用该类的对象加以描 述,如:“abc”(这个也可以叫直接量/字面值)。该类由final关键字修饰,表示该类不能
2022-01-07 03:01:04
677
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人