常用spring java boot
3种常用的缓存读写策略详解
3种常用的缓存读写策略详解 1. Cache Aside Pattern(旁路缓存模式) Cache Aside Pattern 是我们平时使用比较多的一个缓存读写模式,比较适合读请求比较多的场景。 Cache Aside Pattern 中服务端需要同时维系 db 和 cache,并且是以 db ......
Spring Boot2.x 整合 Spring Boot Admin
参考 https://zhuanlan.zhihu.com/p/140451716 https://blog.csdn.net/weixin_45929667/article/details/103661674 本文代码 下载 环境 环境 版本 说明 Windows 10 VS Code 1.85. ......
Spring Boot2.x 整合 Shiro (JWT模式)
参考 https://www.jianshu.com/p/9b6eb3308294 https://segmentfault.com/a/1190000014479154 https://blog.csdn.net/Yearingforthefuture/article/details/117384 ......
Spring Boot Admin运维监控平台的搭建
Spring Boot Admin运维监控平台 使用Actuator能够全面地捕获Spring Boot应用的健康状况、内存使用、线程信息、堆栈详情、配置等关键数据,从而全方位地监控应用的生命周期。然而,如何有效展示这些收集的应用和性能数据呢?为此,Spring Boot Admin这一开源工具应运 ......
java distinct 无法为泛型去重
针对distinct无法为List<User>之类的去重。 所以这里简单说一下方案。 本质上是重写对象的equals方法。 但是这里有一个偷懒的方式。 就是直接使用@Data (来自Lombok的注解) 因为@Data 一样会重写equals 和 hashcode方法。 所以,直接使用@Data来代 ......
java等比例压缩图片
1、如果上传图片过大,有好几兆,甚至几十兆,那么用java代码处理一下,等比例压缩成指定像素大小。 比如,一张1920*1880像素的图片,有9.7M。 处理后的效果:长宽与原来一样,只是像素变小,自定义指定为800*600像素,最后图片只有970KB,连一M都没有 压缩代码: public sta ......
Spring 应用合并之路(二):峰回路转,柳暗花明 | 京东云技术团队
书接上文,前面在 Spring 应用合并之路(一):摸石头过河 介绍了几种不成功的经验,下面继续折腾… 四、仓库合并,独立容器 在经历了上面的尝试,在同事为啥不搞两个独立的容器提醒下,决定抛开 Spring Boot 内置的父子容器方案,完全自己实现父子容器。 如何加载 web 项目? 现在的难题只 ......
CRM系统七大常用功能,小型企业选择必看
小企业的成长取决于客户,因此实施有效的CRM管理系统至关重要。曾有数据机构调查发现,每支出1美元用于CRM,您的CRM将带来8、71美元的回报。难怪越来越多的企业实施CRM,因为它带来了高投资回报率。对小企业来说,CRM应该具备客户管理、电子邮件追踪、线索管理、活动管理、移动应用、商机管理、仪表板等 ......
java 不重复的list(集合)
在Java中,可以使用Set接口的实现类来创建一个不重复的列表。Set接口不允许重复元素,因此可以保证列表中的元素不重复。 import java.util.HashSet; import java.util.Set; public class Main { public static void m ......
分布式存储ceph——(4)ceph常用命令
1、查看ceph集群配置信息 1 ceph daemon /var/run/ceph/ceph-mon.$(hostname -s).asok config show 2、在部署节点修改了ceph.conf文件,将新配置推送至全部的ceph节点 1 ceph-deploy --overwrite-c ......
中间件 ZK分布式专题与Dubbo微服务入门 4-1 zookeeper常用命令行操作
0 课程地址 https://coding.imooc.com/lesson/201.html#mid=12698 1 重点关注 1.1 常用命令操作 ./zkCli.sh 启动客户端ls / 查看节点信息ls2 / 查看节点状态信息stat / 查看节点状态信息ls2 = ls+statget / ......
Dating Java8系列之通过行为参数化传递代码
翎野君/文 引言 作为技术开发人员,我们无法保证我们写出来的代码的可用时间和保质期,也许今天刚上线的一个功能,等到明天就因为需求变动不得不进行更改。 为什么会不断的变化 作为技术人员,我们当然希望需求能循序渐进地平稳过度,但往往事与愿违,对于其原因我简单总结为以下几点。 用户导向,用户和市场是风向标 ......
JAVA内存分配
[JAVA的内存分配] 栈(Stack):主要用来存放局部变量。 堆(Heap):凡是new 出来的东西都在堆种。堆中的数据有默认值规则。 a 如果是整数,默认是0. b 如果是浮点数,默认是0.0; c 如果是字符,默认是'\u0000'(Unicode写法); d 如果是布尔值,默认为false ......
Dating Java8系列之Java8中的‘流’
翎野君/文 流的概念 1.流是什么 流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。就现在来说,我们可以把它们看成遍历数据集的高级迭代器。 代码:按价格排序后得到手机名称列表 使用新的流式方法有几个显而易见的好处。 代码是以声明性方式写的 ......
Dating Java8系列之Java8中的流操作
翎野君/文 本次我们会使用到很多的流操作,如筛选、切片、映射、查找、匹配和归约,这些操作可以让我们能快速完成复杂的数据查询。 筛选和切片 用谓词筛选 Streams接口支持filter方法。该操作会接受一个谓词(一个返回 boolean的函数)作为参数,并返回一个包括所有符合谓词的元素的流。 Lis ......
Dating Java8系列之用流收集数据
翎野君/文 收集器简介 1.收集器介绍 Java 8中流支持两种类型的操作:中间操作(如filter或map)和终端操作(如count、findFirst、forEach和reduce)。 中间操作可以链接起来,将一个流转换为另一个流。这些操作不会消耗流,其目的是建立一个流水线。与此相反,终端操作会 ......
Dating Java8系列之并行数据处理
翎野君/文 分支合并框架 分支合并框架介绍 分支/合并框架的目的是以递归的方式将可以并行的任务拆分成更小的任务,然后将每个子任务的结果合并起来生成整体结果。 它是ExecutorService接口的一个实现,它把子任务分配给线程池(称为ForkJoinPool)中的工作线程。把任务提交到这个池,必须 ......
Dating Java8系列之default默认方法
翎野君/文 引言 传统上,Java程序的接口是将相关方法按照约定组合到一起。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。 不断迭代的API 默认方法的引入就是为了,以兼容的方式,解决像 Java API这样的类库,演进迭代问题。 理解演进迭代 为了理解为什么一旦AP ......
Dating Java8系列之新的日期和时间
翎野君/文 旧的日期时间 在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类。正如类名所表达的,这个类无法表示日期,只能以毫秒的精度表示时间。更糟糕的是它的易用性,由于某些原因和未知的设计决策,这个类的易用性被深深地损害了,比如:年份的起始选择是1900年,月份的起始从0 ......
Dating Java8系列之Lambda表达式和函数式接口(上)
翎野君/文 Lambda简介 我们可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式。它没有名称,但它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。 匿名:我们说匿名,是因为它不像普通的方法那样有一个明确的名称。 函数:我们说它是函数,是因为Lambda函数不像方法 ......
Dating Java8系列之Lambda表达式和函数式接口(下)
翎野君/文 使用函数式接口 函数式接口定义且只定义了一个抽象方法。 函数式接口很有用, 因为抽象方法的签名可以描述Lambda表达式的签名。 为了应用不同的Lambda表达式,你需要一套能够描述常见函数描述符的函数式接口。 Java 8的库设计师帮我们在java.util.function包中引入了 ......
Dating Java8系列之巧用Optional之优雅规避NPE问题
翎野君/文 避之不及的 NullPointerException NPE : NullPointerException 空指针异常是最常见的Java异常之一,抛出NPE错误不是用户操作的错误,而是开发人员的错误,应该被避免,那么只能在每个方法中加入非空检查,阅读性和维护性都比较差。 以下是一个常见的 ......
java流式分组(groupBy)生成TreeMap
java流式分组(groupBy)生成TreeMap 哈哈哈,扫地生(saodisheng/sds)又回来啦。过去一坤年,啊不!应该是近一年,很少在博客上分享个人的学习笔记和平时遇到的疑难杂症了。而今,SDS 重新更新啦。 今天要记录的是一个关于流式分组 groupBy生成有序map的过程; 具体过 ......
Oracle 常用函数
DECODE 函数 DECODE函数的两个格式 DECODE(条件, 值1, 返回值1, 值2, 返回值2,……,值n, 返回值n, 缺省值)相当于MySQL的 IF ELSEIF语句 DECODE(字段或字段的运算, 值1, 值2, 值3)当字段或字段的运算的值等于1时,该函数返回值2,否则返回值 ......
使用 Java 故意消耗 Cpu 和内存的代码
https://blog.csdn.net/weixin_70730532/article/details/124732635 apt install openjdk-8-jdk javac ResouceManageService.java 为什么要故意消耗 Cpu 和内存?在项目交付时有时会申请 ......
Python Pandas NumPy NaN和Inf简介及常用操作
NumPy(Numerical Python)是一个用于科学计算的库,它提供了对多维数组(例如矩阵)和一系列数学函数的支持。NumPy 中包含了处理 NaN(Not-a-Number)和 Inf(Infinity)等特殊值的功能。本文主要介绍一下Python Pandas NumPy 中 NaN ......
jq 工具及其常用用法
在处理 JSON 数据时,我们经常需要在命令行中进行过滤、查询和编辑的操作。jq 是一个强大的命令行 JSON 处理工具,它可以让我们轻松地对 JSON 数据进行各种操作。本文将简要介绍 jq 的基本概念和常用功能,并提供一些实际的例子。 一、jq 简介 jq 是一个轻量级且灵活的命令行 JSON ......
Spring的ApplicationContext核心分析
跟着孙哥学Spring,b站:https://www.bilibili.com/video/BV185411477k/?spm_id_from=333.337.search-card.all.click 1.AnnotationConfigApplicationContext执行过程 public ......
Spring Boot 整合 Mybatis
1、导入依赖 <!-- MySQL 驱动 --> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.1.0</version> </dependency> < ......