一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Backend

RedisTemplate最全的常用方法

1.RedisTemplate常用方法
2.String类型
3.Hash类型
4.List类型
5.Set类型
6.zSet类型
Redis常用的数据类型:String、Hash、List、Set、zSet

龙生   08 Mar 2023
View Details

在Spring Boot中使用RedisTemplate的时候出现乱码

当我们使用RedisTemplate向我们的Redis数据库中set(“originName”)时,我们在服务端中获取该key的时候出现了乱码\xac\xed\x00\x05t\x00\noriginName` 原因:因为我们springboot中的RedisTemplate将我们的key保存的时候会将其进行序列化,此时我们在别的客户端获取的时候机会出现乱码。 解决:我们需要自己定义我们的RedisTemplate中的序列化机制

由于我们获取值时会将它进行反序列化,我们就无须设置value的反序列化 from:https://blog.csdn.net/ebdbbd/article/details/126266968   另一个版本:

 

龙生   08 Mar 2023
View Details

PHP获取当前时间、年份、月份、日期和天数

获取当前时间,需要用到 PHP Date() 函数。 PHP Date() 把时间戳格式化为更易读的日期和时间。 语法:

其中参数 format 为显示格式,参数 timestamp 为时间戳,是可选择的,默认为 time() ,即如果没有给出时间戳则使用本地当前时间。 format 格式参数在这里简单介绍几个: 一些常用于日期的字符: Y – 完整表示年份(四位数字:2019) y – 表示年份(两位数字:19) F – 表示月份(完整的文本格式: January 或者 March) M – 表示月份(3个字母:Jun) m – 表示月份,有前导0(数字:04) n – 表示月份,无前导0(数字:4) d – 表示月份中的第几天,有前导0(01-31) j –  表示月份中的第几天,无前导0(1-31) D – 表示星期几(3字母:Wed) l – 表示星期几(完整英文:Wednesday) w – 表示星期中的第几天(数字,0表示星期天) W – 表示一年中的第几周 z – 表示一年中的第几天(0-366) 实例:

  运行结果: 如果想要中文的年月日,可以这样写:

  运行结果: 今天是:2019年04月24日 获得简单的时间: 常用于时间的字符: H – 24小时格式,有前导0(08,18) h – 12小时格式,有前导0(06,11) G – 24小时格式,无前导0(9,17) g – 12小时格式,无前导0(6,12) i – 表示分钟,有前导0(00-59) s […]

龙生   06 Mar 2023
View Details

Java对象深拷贝详解

1、Java中拷贝的概念 在Java语言中,拷贝一个对象时,有浅拷贝与深拷贝两种 浅拷贝:只拷贝源对象的地址,所以新对象与老对象共用一个地址,当该地址变化时,两个对象也会随之改变。 深拷贝:拷贝对象的所有值,即使源对象发生任何改变,拷贝的值也不会变化。 在User类的基础上,介绍两种浅拷贝案列 User类:

  案列①:普通对象的浅拷贝

  结果:改变user1后,user2的值也随之变化 案列②:List浅拷贝(这也是我们平时项目中,经常遇到的情况)

  结果:对List的3种拷贝,其实都是浅拷贝,当源集合中对象发生改变时,新的List也会随之变化 2、常见的深拷贝方式 构造函数方式(new的方式) 重写clone方法 Apache Commons Lang序列化 Gson序列化 Jackson序列化 2.1、构造函数方式 这种方式就是创建一个新的对象,然后通过源对象的get方法与新对象set方法,把源对象的值复制新对象,这里就不再演示了。 缺点:在拷贝的对象数量较少时,可以使用,但是对象数量过多时,会大大增加系统开销,开发中应避免使用。 2.2、重写clone方法 步骤: 1>需要拷贝对象的类,去实现Cloneable接口 2>重写clone方法 3>使用"对象.clone()"的方式进行拷贝 根据上面的案列,进行对应的改造: 首先是User实体类 ,如下:

  改造案列①:

  结果:当user1改变后,user2的值不会改变 改造案列②:List类型深拷贝

  结果:list1中的每个对象通过clone()添加list2中,当list1中的对象改变时,list2不会改变 2.3 、Apache Commons Lang序列化 步骤: 1>导入Commons包

  2>实体类实现Serializable接口

  3>调用SerializationUtils工具类,实现深拷贝(注意:SerializationUtils不能直接拷贝List类型) 案列如下: 案列①:对象深拷贝

  结果:user1的改变不会导致user2的改变,从而实现深拷贝 案列②:List类型深拷贝 (1)改造开始,我们先创建一个专门用于拷贝List<User>类型的实体类

  (2)拷贝List类型

  结果:  2.4、Gson序列化 步骤: 1、导入Gson依赖

  2>创建Gson对象,使用该对象进行深拷贝(实体类不再需要实现Serializable接口) 案例如下:只演示对象的深拷贝,LIst类型的深拷贝与之前的流程是相似的

  重点: 结果: 2.5、Jackson序列化 该方式与Gson原理、使用方式相似,但是Jackson序列化深拷贝,要求拷贝的对象必须有无参构造函数 步骤: 1>导入Jackson依赖

  2>创建ObjectMapper对象,进行深拷贝(用法与Gson一致) […]

龙生   02 Mar 2023
View Details

.net core webapi返回json 首字母大写、时间格式、空值等问题 处理

返回json 首字母大写、时间格式、空值等问题 处理 在Startup 中 public void ConfigureServices(IServiceCollection services) 函数加入以下代码  

  from:https://blog.csdn.net/oopxiajun2011/article/details/104874062/

龙生   02 Mar 2023
View Details

WSL2下修改Docker Desktop镜像存放路径

一、WSL介绍 WSL即适用于 Linux 的 Windows 子系统。 什么是适用于 Linux 的 Windows 子系统? 适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 – 包括大多数命令行工具、实用工具和应用程序 – 且不会产生虚拟机开销。 什么是 WSL 2? WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。 安装完后试了一下,最明显的感觉就是开启docker的速度大大提升!!! 但是以前设置镜像位置的功能不见了: 看官网说明,原来,启用WSL后,docker运行数据都在WSL发行版中,文件位置都只能由WSL管理。 安装docker后,docker会自动创建2个发行版: docker-desktop docker-desktop-data WSL发行版默认都是安装在C盘,在%LOCALAPPDATA%/Docker/wsl目录 docker的运行数据、镜像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中,这对C盘空间紧张的人非常不友好。 二、迁移数据 下面是WSL发行版迁移操作方法: 首先关闭docker 关闭所有发行版 wsl --shutdown 将 docker-desktop-data 导出到 D:\DockerData\docker-desktop-data\docker-desktop-data.tar(原有的docker images不会一起导出) wsl --export docker-desktop-data D:\DockerData\docker-desktop-data\docker-desktop-data.tar 注销 docker-desktop-data wsl --unregister docker-desktop-data 重新导入 docker-desktop-data到要存放的文件夹:D:\DockerData\docker-desktop-data wsl --import docker-desktop-data D:\DockerData\docker-desktop-data\ D:\DockerData\docker-desktop-data\docker-desktop-data.tar --version 2 只需要迁移docker-desktop-data一个发行版就行,另外一个不用管,它占用空间很小。 完成以上操作后,原来的%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx就迁移到新目录了: 重启docker,这下不用担心C盘爆满了! 参考: https://docs.microsoft.com/zh-cn/windows/wsl/ https://docs.docker.com/docker-for-windows/wsl/ 本文来自博客园,作者:杨业壮,转载请注明原文链接:https://www.cnblogs.com/yangyezhuang/p/16896899.html

龙生   28 Feb 2023
View Details

Spring Boot配置文件读取中文乱码

【问题】在配置文件application.properties中配置一个值含有中文的变量。 spring加载配置之后,读取的变量中文部分出现乱码。 根据CSDN说的一堆办法,改encoding为UTF-8,都试过了统统不好使。 【解决方法】知乎上有人说: 配置文件可以用yml文件来代替properties文件, yml文件是支持中文的,并且利用换行缩进来避免重复的前缀。 照做之后问题解决。但是注意:data source中jdbc url中的转义符号反斜杠“\”必须去掉。   from:https://www.cnblogs.com/tigerhsu/p/9794072.html

龙生   27 Feb 2023
View Details

解决 fatal: refusing to merge unrelated histories

Git 的报错 一、fatal: refusing to merge unrelated histories 新建了一个仓库之后,把本地仓库进行关联提交、拉取的时候,出现了如下错误:

  二、解决方案 在你操作命令后面加 –allow-unrelated-histories 例如:

  我这里由于使用了官方的 .gitignore 自动合并失败,需要手动合并之后再进行 add、commit 即可 如果你是git pull或者git push报fatal: refusing to merge unrelated histories 同理: git pull origin master --allow-unrelated-histories / git pull --allow-unrelated-histories 等等,就是这样完美的解决!   from:https://blog.51cto.com/laok8/2454524

龙生   26 Feb 2023
View Details

Spring Boot 学习资料汇总

今天开始学习并转载大神【纯洁的微笑】的文章。 收集 Spring Boot 相关的学习资料,Spring Cloud点这里 重点推荐:Spring Boot 中文索引 推荐博客 纯洁的微笑-Spring Boot系列文章 林祥纤-从零开始学Spring Boot Mkyong-Spring Boot教程(国外) baeldung-Spring Boot教程(国外) liaokailin的专栏-Spring Boot实战 catoop的专栏-Spring Boot 学习 方志朋-SpringBoot 非官方教程 嘟嘟-Spring-Boot干货系列 小柒-SpringBoot开发案例 江南一点雨-关于Spring Boot 天码营-Spring Boot 猿天地-Spring Boot 刘冬的博客-Spring Boot 唐亚峰 Battcn-Spring Boot sylvanassun-Spring Boot dalaoyang-Spring Boot 开源 纯洁的微笑 Spring Boot 示例 Spring Boot 官方示例 Spring Boot开源软件 云收藏 Docker+SpringBoot+Mybatis+thymeleaf等技术实现的Java博客系统 Spring boot & Shiro 权限管理系统 Spring Boot实现支付服务:支付宝,微信… Spring Boot后台商城 h5 小程序 基于Spring Boot响应式文件浏览管理器 Spring Boot开源博客 邮件发送服务多种实现,队列,线程定时任务 Spring Boot视频展示项目 Spring Boot项目实践总结 Vue+SpringBoot实现的多用户博客管理平台 Vue+SpringBoot实现的人力资源管理系统 hsweb企业后台管理系统基础框架 一个基于spring boot 实现的股票指数💹爬虫 KKFileView-SpringBoot实现在线预览 boot-websocket-log-SpringBoot实现日志WEB输出 SpringBoot+MyBatis+A pacheShiro+Ehcahe基础平台 leelance Spring Boot各种示例 一个基于Spring […]

龙生   25 Feb 2023
View Details

IDEA打包jar包将依赖包打包到一起

File >Project Structure Artifacts >> JAR >> From……. 第一,选择要打包成jar包的class(对应图中1) 第二,将依赖包一起打包(对应图中2,选择这个) 第三,将依赖包一起下载(对应图中3) 第四, 这是生成 META-INF文件的路径,不能是默认路径,一般直接把src后面的路径删掉就行。 最后点击OK 此时在这里会有META-INF文件,如果选择默认路径这里是没有这个文件的,该文件是指向要运行的class的。 然后右击左上方的JAR文件,选择ADD copy of >>>> Libraby 选择需要的jar包,然后点OK 然后点击上面的Build >> Build Artifacts… 点击Build 此时jar包就会生产在项目的out目录下 此时运行可能会出现 找不到或无法加载主类 的问题 解决办法 借鉴:启动jar包报错: 找不到或无法加载主类亮一点的博客-CSDN博客运行jar包找不到或无法加载主类 打开jar包找到META-INF 原文写 删除jar包META-INF目录下的.SF .DSA ,RSA 后缀文件,但是我只删除了DSA文件就可以了 from:https://zhuanlan.zhihu.com/p/558914730

龙生   17 Feb 2023
View Details
1 33 34 35 279