自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(416)
  • 资源 (1)
  • 收藏
  • 关注

原创 面试题引出的知识点整理

阻塞或唤醒一个Java线程需要操作系统切换CPU状态来完成,这种状态转换需要耗费处理器时间。如果同步代码块中的内容过于简单,状态转换消耗的时间有可能比用户代码执行的时间还要长。可重入锁又名递归锁是指在同一个线程外层方法获取锁的时候,再进入该线程的内层方法会自动获取锁(前提,锁对象得是同一个对象),不会因为之前已经获取过还没释放而阻塞。Java中ReentrantLock和Synchronized都是可重入锁,可重入锁的一个优点是可一定程度避免死锁。

2023-02-06 19:47:43 1019 1

原创 linux服务器安装docker

这个命令的作用是设置docker开机启动并且现在启动,是将原来的启动docker的命令和设置docker开机启动的命令合并的。去自己的阿里云的控制台,搜索容器镜像,然后选择镜像加速器,把Centos里面的复制出来运行。docker-compose:批量管理docker容器。我这里因为我把我的阿里云服务器直接初始化了,所以没有。然后根据官网文档进行安装。

2022-12-11 01:04:10 974

原创 linux环境启动jar包指令

【代码】linux环境启动jar包指令。

2023-05-12 14:23:29 176 1

原创 linux docker命令

【代码】linux docker命令。

2023-05-12 14:21:58 213

原创 list的stream方法排序中遇到空指针问题

在实际的项目开发中,有时候会使用list.stream().softed()方法进行排序,但是有时候会需要参数为空,就会报错空指针异常。如果是想放前面,就用first。

2023-05-11 13:49:23 193

原创 list的几个stream流用法

list的几个stream流用法

2023-03-07 15:09:51 129

原创 硬件层面CAS又是如何保证原子性的呢? 真的完全没加锁吗?

所以,在操作系统层面,CAS还是会加锁的,通过加锁的方式锁定总线,避免其他CPU访问共享变量。拿比较常见的x86架构的CPU来说,其实 CAS 操作通常使用 cmpxchg 指令实现的。可是为啥cmpxchg 指令能保证原子性呢?所以,解决并发问题,归根结底还得靠锁!

2023-03-01 13:35:25 710

原创 Maven 常用命令

Maven 常用命令

2023-02-21 14:30:54 553 1

原创 对于一个多模块项目,如果管理项目依赖的版本?

对于一个多模块项目,如果管理项目依赖的版本?

2023-02-21 14:25:39 159

原创 数据库的多租户隔离

共享数据库,共享数据架构。租户共享同一个数据库,同一张表,但在表中通过字段区分租户的数据。这是共享程度最高、隔离程度最低的模式。如果希望以最少的服务器为最多的租户提供服务,并且租户接受以牺牲隔离级别换取降低成本,这种方案最适合。一个租户一个数据库,这种方案的用户数据隔离级别最高,安全性最好,成本也最高。3、共享数据库,共享Schema,共享数据表。多个或所有租户共享数据库,但一个租户一个表。2、共享数据库,独立Schema。数据库的多租户隔离有三种方案。

2023-02-21 14:23:13 608

原创 Maven依赖原则

这样的路径长度一样怎么办呢?这样的情况下,Maven会根据pom文件声明的顺序加载,如果先声明了B,后声明了C,那就最后的依赖会是。一个项目Demo依赖了两个jar包,其中。子pom内声明的优先于父pom中的依赖。2、pom文件中申明顺序优先。路径最短,所以项目使用的是。1、路径最短优先原则。

2023-02-21 13:48:41 200

原创 JVM知识点整理(整理中)

运行过程:调用T.count时,首先将T.class通过app加载到内存,再经过Verification进行校验,之后再通过Preparation对T里面的静态成员变量赋默认值,此时t是空值,,count是0,再进行Resolution,之后再通过Initializing对静态成员变量赋初始值,此时t会被赋值new T(),对count++,此时count是1,之后count又被赋值为2,因此count为2。所用到的类库,会在class文件被加载到 JVM的同时,也被装载到类加载器中。

2023-01-20 15:10:33 1835 3

原创 用stream流取出两个数组中不同和相同的部分

【代码】用stream流取出两个数组中不同和相同的部分。

2022-11-30 10:06:58 2235 1

原创 组织架构树的查询

在项目的实际开发中,肯定会遇到需要对组织架构树进行查询的业务场景,也就是多层的父子级关系查询

2022-11-11 17:28:36 454

原创 用户登录和退出,以及访问请求的token校验

用户登录和退出,以及访问请求的token校验

2022-11-06 23:24:55 653

原创 nginx.conf配置两个前端路径

在实际的项目开发中,有时候难免会遇到内网开发,但是内网开发的话测试就没法在外网进行测试,这个时候我们就可以部署一个内网和一个外网的,这样就可以保证内网正常使用的同时,测试也可以使用外网进行测试,不会耽误进度。从配置文件中可以看到,我们多配置了一个example-test,回头我们在/a/b路径下创建两个文件夹example和example-test,一个放内网的前端包,一个放外网的前端包,就可以解决问题。

2022-11-01 15:17:33 2407

原创 springboot项目多数据源配置

这个注释如果用在方法上,表示这个方法的查询链接的就是oracle数据库了,如果用在类上,表示这个类里面的所有方法都是查询的oracle数据库中的数据。工作中,有时候会需要项目同时链接mysql数据库和oracle数据库,这个时候就需要配置多数据源了。然后正常使用就行了,默认就是链接的mysql数据库,如果想要使用oracle数据库的话只需要使用。然后在配置文件application.yml中配置数据源,设置mysql数据源为默认数据源。首先,pom.xml里面加入以下依赖。

2022-10-27 15:26:38 1313

原创 算法与数据结构解析学习笔记

第三个的时间复杂度计算过程和第二个有点像,只不过是输出语句变成了一个遍历循环。因此计算公式变成了1+(n+1)+n+n(3n+2)=2n+2+3n。i < n的判断共进行了n+1次,所以运行时间是n+1。所以他们加起来就是1+(n+1)+n+n=3n+2。输出语句也运行了n次,所以运行时间是n。i++共运行了n次,所以运行时间是n。int i = 0的运行时间是1。

2022-10-09 14:32:52 468

原创 Elasticsearch学习笔记

ElasticSearch是一个分布式,高性能、高可用、可伸缩、RESTful 风格的搜索和数据分析引擎。通常作为Elastic Stack的核心来使用,Elastic Stack大致是如下这样组成的:E:EalsticSearch 搜索和分析的功能L:Logstach 搜集数据的功能,类似于flume(使用方法几乎跟flume一模一样),是日志收集系统K:Kibana 数据可视化(分析),可以用图表的方式来去展示,文不如表,表不如图,是数据可视化平台。

2022-09-22 19:28:11 208

原创 SpringBoot项目配置文件

SpringBoot项目配置文件

2022-09-09 15:31:19 250

原创 文件工具类

文件工具类

2022-09-09 09:43:16 70

原创 时间工具类

时间工具类

2022-09-09 09:40:57 92

原创 http工具类

http工具类

2022-09-09 09:37:18 68

原创 身份证号工具类

身份证号工具类

2022-09-09 09:31:44 132

原创 MybatisPlus拦截器

MybatisPlus拦截器

2022-09-09 09:29:19 671

原创 异常拦截器

异常拦截器

2022-09-09 09:27:19 127

原创 面试题及其衍生知识点

面试题及其衍生知识点

2022-09-08 17:39:03 877 1

原创 RedisConfig配置类

RedisConfig配置类

2022-09-08 10:19:54 305

原创 MybatisPlusConfig配置类

MybatisPlusConfig配置类

2022-09-08 10:08:32 942

转载 Flowable之FlowableUI应用

Flowable之FlowableUI应用

2022-09-07 17:05:21 542

原创 SpringBoot项目上传图片

SpringBoot项目上传图片

2022-09-07 16:12:40 287

原创 CorsConfig配置类

CorsConfig配置类

2022-09-07 15:38:54 141

原创 项目中的自定义注解

项目中的自定义注解

2022-09-06 15:32:22 265

原创 SpringBoot项目的用户登录与token校验

在实际的SpringBoot项目开发中,肯定会用到用户的账号密码登录,以及前端访问后端接口肯定也要进行token校验啥的。虽然一般项目中肯定有封装好了不需要我们操心,直接用就好了,但是想要进步,想要提升自己,肯定不能知其然不知其所以然,还是要弄明白到底是怎么做到的,所以我在这里做一个研究的记录,方便大家共同学习,共同进步。

2022-09-04 22:30:25 551

原创 研究mysql日志的使用

D:/mysql-8.0.29-winx64/data/binlog.000020 binlog所处位置的路径。这个命令需要在mysql 命令行中执行,我们进入到mysql 安装目录的 bin 目录。–start-position=起始的pos。–stop-position=结束的Pos。

2022-08-29 21:02:53 379

原创 对象中的字段隐藏

工作中遇到了一个情况,一个对象里面的字段挺多的,但是每次调用接口只会用到其中的部分字段,全传过去前端渲染就会花很久,然后就会很卡,这个时候就需要将对象中为空的字段隐藏掉,保证给前端的对象中只有有值的字段。点进去这个Include枚举。这个时候就可以用这个注释。

2022-08-24 17:58:52 504

原创 excel模板下载

excel模板下载

2022-08-19 16:09:58 97

原创 使用poi导入excel文件

比如excel中的2019/6/17实际上就是43633,指的是从1900年到2019年6月17日间隔多少天。可以用这个代码来获得excel中的真实行数,但是有时候会失效,所以我用了另一种方法。对于身份证号的读取,因为身份证号都是15位或者18位的,所以我也写了个小方法。excel中的时间读取出来会变成时间戳,所以需要自己转换一下。首先判断是不是是不是模板文档,并且读取成XSSFSheet。这个小方法可以简单的判定是不是小数。可以去除空格、回车、换行符、制表符。然后对XSSFSheet进行分析。...

2022-08-17 17:19:26 490

原创 从源码学习Map.merge()方法

如果oldValue为空的话,直接把新输入的参数value赋值给newValue,否则的话按照传入的设定好的规则组装参数,比如我的代码里面,就是。首先调用了Objects类里面的requireNonNull()方法,这个方法的作用是判断参数是否为空,如果参数为空就会抛出异常。然后如果newValue为空的话,就从map中直接把这个key给remove掉,如果不为空,就把newValue赋值给key。总结一下,就是原来的参数是空的,就直接新参数覆盖,原来的参数不为空,就按照设定好的规则处理后覆盖原有的参数。.

2022-08-17 10:48:06 209

原创 list中将具有对应字段的某一个对象放在第一个

list中将具有对应字段的某一个对象放在第一个

2022-07-11 11:09:35 1950

SSM框架下的crud以及登录功能的实现

使用IDEA,SSM框架,MySQL以及前端技术,完成对部门信息的登陆过滤以及增删改查的功能

2019-09-11

空空如也

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

TA关注的人

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