自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式之七大设计原则

设计模式七大设计原则

2022-10-30 23:03:18 150 1

原创 mysql事务锁表还是锁行

mysql事务锁表还是锁行

2022-08-31 16:15:14 1545

原创 maven3.8.1的坑

今天遇到一个问题,创建一个maven工程,引入依赖jar包,等maven下载成功,pom文件不报红,然后开始写代码,发现要用的注解怎么都无法引入。然后看到项目左侧的External Libraries中只有jdk8,没有pom中引入的jar包,根据这一情况百度,还是没有解决问题。没啥思路了,看到自己的maven版本是最新的3.8.1,就想是不是最新的maven有问题,就回退maven的版本到3.5.4,这个问题就解决了。...

2021-06-28 23:48:14 2294 3

原创 记录一次踩到坑,对象初始化时int类型默认值为0

记录一次自己踩到的坑。需要根据课程ID,课时ID,创建人ID去查询一条学习记录,然后更新学习记录的时间,我先创建一个空对象,然后对课程ID、课时ID、创建人ID赋值,在用mybatis的selectOne方法查询。理想状态下是可以根据这三个条件锁定一条记录的,但是报错了。我很纳闷,放开日志权限,把SQL打印出来发现,多了一个查询条件(是否完成学习),该字段在类中为int类型,想起了int类型默认值为0,所以在创建对象时,这个字段就有了默认值,就多出了一个查询条件,没有结果,就报了空指针异常。...

2020-08-18 10:58:37 817 2

原创 java中操作Excel——POI、EasyExcel

接了一个任务,需要把Excel中的数据导入到数据库中,查阅了资料后,学习了POI和EasyExcel两个库。在这之前,我们先来分析一下Excel,我们可以把Excel简单的理解成四部分,1、工作簿2、工作表3、行4、单元格POIApache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。有以下类实现了Workbook接口,区别如下:HSSFWorkbook是操作Excel2003以前(包括2003)的版本,

2020-07-22 23:21:54 302

原创 Redis学习(十一)主从复制,哨兵模式

主从复制准备工作复制三分/opt/redis-5.0.8目录下的redis.conf配置文件至/usr/local/bin/dsjconfig下cp /opt/redis-5.0.8/redis.conf /usr/local/bin/dsjconfig/redis79.confcp /opt/redis-5.0.8/redis.conf /usr/local/bin/dsjconfig/redis80.confcp /opt/redis-5.0.8/redis.conf /usr/local/b

2020-07-17 17:35:22 155

原创 Redis学习(十)发布订阅

订阅,取消订阅和发布实现了发布/订阅消息范式(引自wikipedia),发送者(发布者)不是计划发送消息给特定的接收者(订阅者)。而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅。订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的。这种发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑。常用命令subscribe 订阅给定的一个或多个频道的信息publish 将信息发送到指定的频道从上面的例子可以看到,订阅者和发布者在不同的数据库,说

2020-07-08 15:54:55 161

原创 Redis学习(九)事务及乐观锁

Redis事务中,一次执行多个命令,本质是一组命令的集合。一个事务中所有的命令将被序列化,即按顺序执行而不会被其他命令插入,事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。特别注意的是,Redis事务中,没有隔离级别的概念,所有的命令在事务中,并没有直接被执行,只有发起执行命令的时候才会执行。Redis事务不保证原子性,单条命令保证原子性。redis中的一个事务中如果存在命令执行失败,那么其他命令依然会被执行,没有回滚机制。关于为什么不支持回滚,官网是这么解释的:Redis 命令只会因为

2020-07-07 23:32:32 144

原创 Redis学习(八)三种特殊的数据类型

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)。除了这五种常见的数据类型,还支持bitmaps,hyperloglogs ,geospatial三种特殊的数据类型。geospatial数据类型常用命令Redis在3.2版本中加入了地理空间(geospatial)以及索引半径查询的功能,主要用在

2020-07-07 22:17:12 189

原创 Redis学习(七)Hash数据类型常用命令

Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。Hash数据类型常用命令hmset 同时将多个 field-value (字段-值)对设置到哈希表中。此命令会覆盖哈希表中已存在的字段。如果哈希表不存在,会创建一个空哈希表,并执行 HMSET 操作hgetall 返回哈希表中,所有的字段和值hget 返回哈希表中指定字段的值hmget 返回哈希表中,

2020-07-07 11:09:20 169

原创 Redis学习(六)ZSet数据类型常用命令

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。ZSet数据类型常用命令zadd 将一个或多个成员元素及其分数值加入到有序集当中。如果某个成员

2020-07-07 00:55:34 276

原创 Redis学习(五)set数据类型常用命令

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。set数据类型常用命令sadd 将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。假如集合 key 不存在,则创建一个只包含添加的元素作成员的集合。当集合 key 不是集合类型时,返回一个错误scard 返回集合中元素的数量smembers 返回集合中的所有的成员。 不存在的

2020-07-05 20:04:33 493 1

原创 Redis学习(四)list数据类型常用命令

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。list数据类型常用命令lpush 将一个或多个值插入到列表头部。 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误rpush 将一个或多个值插入到列表的尾部(最右边)。如果列表不存在,一个空列表会被创建并执行 RPUSH 操作。

2020-07-04 11:30:33 253

原创 Redis学习(三)key常用命令

del 该命令用于在 key 存在时删除 key,当key不存在时,返回0dump 序列化给定 key ,并返回被序列化的值。如果 key 不存在,那么返回 nil 。 否则,返回序列化之后的值exists 检查给定 key 是否存在,若 key 存在返回 1 ,否则返回 0expire 为给定 key 设置过期时间,以秒计ttl 以秒为单位,返回给定 key 的剩余生存时间type 返回 key 所储存的值的类型rename 修改 key 的名称,当key不存在时,返回ERR n.

2020-07-01 17:04:36 136

原创 Redis学习(二)String类型数据常用命令

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。String数据类型常用命令set 设置指定 key 的值get 获取指定 key 的值setnx 只有在 key 不存在时设置 key 的值,如果key已经存在则返回0,nx代表:not existsetex 将值 value 关联到

2020-07-01 11:04:28 272

原创 Redis学习(一)安装Redis

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。现在开始学习Redis,第一步从安装Redis开始,分为Windows和Linux下安装,Redis官方推荐在Linux环境下使用Redis。Windows中安装下载地址

2020-06-30 23:53:54 182

原创 springboot集成swagger2

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法、参数和模型紧密集成到服务器端的代码,允许 API 来始终保持同步。Swagger 让部署管理和使用功能强大的 API 从未如此简单。下面就简单说一下swagger2的使用。首先创建一个springboot项目,maven依赖如下:<dependencies> <!-- https://mvn

2020-06-15 23:31:46 214

原创 java对象序列化并存储到文件

有一个需求,需要将爬虫得到的新闻存放在本地文件夹下,然后将文件夹拷贝到另一台电脑,将新闻存在数据库里。我想到的是java的序列化与反序列化。什么是序列化与反序列化呢?序列化的原本意图是希望对一个Java对象作一下“变换”,变成字节序列,这样一来方便持久化存储到磁盘,避免程序运行结束后对象就从内存里消失,另外变换成字节序列也更便于网络运输和传播,简单理解就是,序列化:把Java对象转换为字节序列;反序列化:把字节序列恢复为原先的Java对象。举个例子,假如我要把一个student对象存在文件里。先定义一个

2020-06-11 16:43:01 927 1

原创 Jsoup解析html字符串

现有一段html代码如下<p>20200310<img src="/downloadImg?id=7566876320816252412" title="835637e39dc0bdb4c29f5e1adb5528a.png" alt="835637e39dc0bdb4c29f5e1adb5528a.png"/></p><p style="line-he...

2020-03-11 10:20:46 184

原创 本地项目上传到gitlab

今天的任务是把之前的项目上传到gitlab,查阅了资料后完成了,记录一下过程。具体步骤如下:1.登录gitlab,创建一个项目2.打开项目所在的本地路径,右键点击Git Bash Here,初始化gitgit init3.将本地git和服务器上的连接git remote add origin (这里是gitlab刚创建的项目链接,origin后面有个空格)4.添加要提交的本地项目...

2020-02-12 15:52:35 213

原创 VMware Workstation 15 Pro 安装centos7

腾讯云送的15天的服务器快过期了,决定自己安装一个,用来学习和做测试服务器,把安装过程记录一下。后面根据提示输入账号密码登录。再克隆一个,备用。右键点击安装好的虚拟机,管理→克隆。复制出来的虚拟机,账号密码和之前是一样的。...

2019-11-19 16:27:37 263

原创 centos下安装mysql

记录一下自己centos下安装mysql的步骤,方便自己以后再装时有笔记可看。一、mysql官网下载压缩文件官网地址:https://dev.mysql.com/downloads/mysql/二、新建文件夹并上传文件在usr文件夹下新建mysql文件夹mkdir /usr/mysql然后利用FileZilla Client工具上传下载的压缩文件至/usr/mysql三、检查L...

2019-11-10 23:41:34 520

原创 centos下安装jdk,tomcat,maven

前两天买了腾讯云服务器,这是我第一次接触Linux,并且成功安装jdk,tomcat,maven,记录一下,方便自己再装时有笔记可看。首先安装FileZilla Client,用于传输文件,安装Xshell 6,用于连接服务器。安装jdk的步骤如下:1.官网下载压缩文件,下载地址:https://www.oracle.com/technetwork/java/javase/downloads...

2019-11-10 23:17:45 213

空空如也

空空如也

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

TA关注的人

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