Java
文章平均质量分 70
Java
turato
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
手写一个简单的 Redis 客户端
RESP 协议 RESP 协议,全称 Redis 序列化协议(Redis Serialization Protocol) 是 Redis 客户端和服务器用来通信的文本协议,其特点是简单直观。优势在于实现简单,解析性能好。 五种基本的Redis协议数据结构的最小单元类型:每个单元类型以【/r/n】结尾 单行字符串 以【+】开头,+OK\r\n表示字符串OK 多行字符串 以【$】开头,后面是字符串长度。 数值 以【:】开头,后面是整数字符串,:10086表示数值10086 错误信息 以【-】开头,原创 2021-05-29 19:07:44 · 841 阅读 · 0 评论 -
建议生产环境禁用 replace into
在生产中,经常会有同学喜欢使用一条SQL语句执行更新/插入操作(解决唯一键冲突)。 比如下面的例子:利用唯一键:(code, name) 更新学生表的学号和姓名。 当唯一键存在时,就会更新,当不存在时就会插入数据。 <insertid="replaceBatch"parameterType="java.util.List"> replaceintostudent(code,name,address,) VALUES <foreachcollec...原创 2021-05-15 22:20:06 · 786 阅读 · 0 评论 -
查找线上日志却不小心引起了事故
1、查找线上日志却不小心引起了事故。 小赵为了排查线上的一个问题,登录到 DOCKER 容器上,用 VI 命令打开一个日志文件,过了一会儿,发现了告警:容器重启!一个查看日志的命令却导致了机器重启,这是为什么呢? 2、不建议用 vi 命令查看大文件 VI 工具的定位是编辑器,在加载文件的时候,需要将其全部加载到内存中。如果文件太大,为了将文件全部加载到内存中,就需要消耗的大量的内存空间,可能会影响部署在机器上的其他应用,严重导致机器卡顿。而容器有健康检查,如果检测到容器不能提供服务时,就会把自动将容器重启,原创 2021-05-09 23:09:25 · 892 阅读 · 0 评论 -
关于 Cookie 的那些事儿
带着问题去学习: 什么是 Cookie? Cookie的作用? Cookie 的工作机制? Cookie 的使用场景? 后端处理 Cookie 实战 1、什么是Cookie? 服务端向客服端写入的信息片段,用于保存客户端的状态,为 key-value 键值对的格式。因为 HTTP 是无状态协议,即服务器无法判断客户端的身份(是否为同一浏览器),所以需要 Cookie 来保存客户端的信息。 比如:使用门禁卡进入公司的大门,卡就相当于 Cookie。这里就存在一个问题,门禁卡被别人捡到了,别人就可以冒充你原创 2021-02-05 22:56:22 · 434 阅读 · 0 评论 -
Java8 Stream 流
Stream 流 看之前:需要一些Lambda语法知识,可以查看参考资料中的文章:万字详解,JDK1.8的Lambda、Stream和日期的使用详解。 正文 Java8 API Stream 允许你以声明性方式处理数据集合或数组(通过查询语句来表达。 Stream 的特点: Stream 自己不会存储数据 Stream 不会改变源对象,他们会返回一个持有结果的新对象 Stream 操作是延迟执行的,意味着他们只会在需要结果的时候才会执行。 Stream 只能消费一次,消费完毕之后就会关闭。 Stream原创 2020-11-22 22:11:16 · 546 阅读 · 0 评论 -
MySQL存储Java对象
1、存储Java对象的方法 下面有三种方式,可以存储Java对象。 1、将Java对象中的每一个字段都存入表中。 优点:每个字段都可以被检索 缺点:针对每个需要存储的对象,都要创建数据表。一个类对应一张表 2、将Java对象序列化之后,存入Blob字段或者Text。 优点:可以存储超大的对象,并且没有大小限制 缺点:Blob数据类型的缺点,检索上存在问题 3、保存为JSON字符串,使用VARCHAR数据类型存储 优点:可以存储完整的对象,反序列化也很方便。 缺点:不方便检索内容,需要提前估计原创 2020-11-08 20:49:51 · 4449 阅读 · 0 评论 -
正则表达式@Link替换
1、简单实现替换 场景:公众号可以发送模板消息,为了给用户发送自定义的消息,需要对消息内容中的特定符号进行替换。比如:恭喜 nickname抢到了{nickname} 抢到了nickname抢到了{productName} ,即恭喜XXX用户,抢到了XXX商品。那么如何对 ${nickname} 和 ${productName} 进行替换呢? Java 代码实现: String newContent = content //替换昵称 .replaceAl原创 2020-10-25 12:14:23 · 509 阅读 · 0 评论 -
Java:基本排序算法
本章代码地址:https://github.com/hustuhao/SortAlgorithm 目录 1,逆序排序 2,选择排序 3,冒泡排序 4,折半查找 5,快速排序(quickSort) 6,归并排序 7,希尔排序(Shell Sort) 8,桶排序(Bucket Sort) 9,基数排序 10,插入排序 11,堆排序 1,逆序排序 将有序数组逆序排序。 ...原创 2018-10-01 22:58:30 · 782 阅读 · 0 评论 -
VIM:我的GVIM设置(通用设置和编程语言设置)
主要内容: 1,设置按F5编译java,c语言,c++等语言源代码 2,设置用4个空格代替tab进行缩进 3,取消备份文件 前言: 为了在linux环境下熟悉VIM,我在windows环境下安装了GVIM8 修改vimrc文件可以更改VIM默认的设置,不需要每一次打开VIM就需要重新调整设置。 以下时vimrc的全部内容: ...原创 2018-09-29 20:52:22 · 2570 阅读 · 0 评论 -
windows命令行下构建java项目
什么是package? 请自行百度。 如何构建一个Java项目? java项目结构: 下面来创建一个项目名为java的项目: 该项目的文件结构如下: 第一步创建项目文件目录 //创建项目文件夹 mkdir java //进入项目目录 cd java //创建源代码目录 mkdir src //创建class文件目录 mkdir c...原创 2019-03-17 16:51:27 · 918 阅读 · 0 评论
分享