![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 64
C18298182575
跳出舒适区
展开
-
提升接口性能方式汇总
三、如何优化接口性能,包括使用MQ消息队列、避免使用ATRANSACTIONAL注解、优化大事务问题、使用分布式锁等。四、如何优化远程接口调用性能,包括同步分页调用和异步调用,并使用缓存来提高性能,同时讨论了使用REDIS和基于内存的缓存的优缺点。二、五种优化接口性能的方法,包括并行调用、数据异构、重复调用、异步处理等,其中详细介绍了每种方法的实现原理和注意事项。03:11 - 除了优化索引,还可以通过优化SQL语句来提高性能,如避免使用select星、批量操作等15个小技巧。场景,多个查询场景。原创 2024-06-05 09:15:23 · 390 阅读 · 0 评论 -
对称加密算法
密钥长度直接决定加密强度,而工作模式和填充模式可以看成是对称加密算法的参数和格式选择。Java标准库提供的算法实现并不包括所有的工作模式和所有填充模式,但是通常我们只需要挑选常用的使用就可以了。对称加密算法就是传统的用一个密码进行加密和解密。最后注意,DES算法由于密钥过短,可以在短时间内被暴力破解,所以现在已经不安全了。密钥长度由算法设计决定,AES的密钥长度是128/192/256位;在CBC模式下,需要一个随机生成的16字节IV参数,必须使用。观察输出,可以发现每次生成的IV不同,密文也不同。转载 2023-08-17 13:58:11 · 74 阅读 · 0 评论 -
squirrel-foundation 使用简单记录
业务执行逻辑:进入状态机后,具体业务逻辑怎么执行,根据当前状态/目的状态/事件/其他业务入参,可进入相应的方法。5.关于取消,前置状态未指派/已指派/取消(幂等),在pc后台可取消运单,状态变为【已取消】触发点:操作某个步骤,入参:事件,当前状态,业务参数,就可以进入对应的状态机,触发执行方法。4.司机到达目的后,完成交车动作,在app操作交车按钮,运单进入【已完成】状态。【未指派】- 【已指派】- 【执行中】 - 【已完成】- 【已取消】【未指派】- 【未指派】【未指派】- 【已指派】原创 2023-07-07 17:10:20 · 326 阅读 · 0 评论 -
在日常开发中提升技术的方法
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。一些常见的难题,讨论完可以记录下来,转载 2023-06-16 16:26:16 · 96 阅读 · 0 评论 -
记录偶发更新失败问题
偶发更新失败问题原创 2023-03-01 15:22:39 · 268 阅读 · 0 评论 -
声明式事物与数据库异常
事物原创 2023-03-01 14:00:23 · 65 阅读 · 0 评论 -
SpringBoot 使用注解进行接口参数校验
SpringBoot 使用注解进行接口参数校验转载 2022-08-08 09:21:39 · 158 阅读 · 0 评论 -
Java中是值传递还是引用传递?
答案:Java中只有值传递。针对值类型,传递的是实参的值,对于引用类型,传递的是引用值所存储的地址。基本概念1.形参与实参形式参数:在定义函数名和函数体时使用的参数,目的是用来接收调用该函数是传入的参数。实际参数:在调用有参函数是,主调函数和被调函数之间有数据传递关系。在主调函数中调用一个函数时,函数名后面括号中的参数,称为实际的参数。两者区别:实参是调用有参方法的时候,真正传递的内容。而形参,是用于接收实参内容的参数。举例如下:public static void ma转载 2022-05-01 18:26:28 · 551 阅读 · 0 评论 -
正则对字符串中手机号加密
取出手机号,再加密public static void main(String[] args) { String reg = "(\\d{3})\\d{4}(\\d{4})"; String replacesStr = "$1****$2"; String nickName = "22_z3g_11111111111"; Boolean result = checkNickName(nickName); String phone = getNum(nickName); String ne.原创 2021-12-17 15:55:52 · 863 阅读 · 0 评论 -
并发容器ConcurrentHashMap——JDK1.7与JDK1.8区别
在Java常用的容器HashMap存在着线程不安全的问题,其中JDK1.7与JDK1.8的线程不安全会出现不同的情况:在多线程情况下,JDK1.7在HashMap在扩容时会造成环形;在JDK1.8中可能会发生数据覆盖。1、JDK1.7下的ConcurrentHashMapConcurrentHashMap是由Segment数组结构和HashEntry数组结构组成。Segment实际继承自可重入锁(ReentrantLock),在ConcurrentHashMap里扮演锁的角色;HashEntry则用转载 2021-12-15 15:33:25 · 801 阅读 · 0 评论 -
雪花算法详解及存在问题
参考:分布式主键 :: ShardingSphere改进雪花算法生成分布式下全局ID并考虑时钟回拨_Kainx-CSDN博客_雪花算法时钟回拨【死磕Sharding-jdbc】---分布式ID_chenssy 的技术博客-CSDN博客Leaf——美团点评分布式ID生成系统 - 美团技术团队SnowFlake算法 - 时钟回拨问题_未生___的博客-CSDN博客_时钟回拨原理1.什么是时钟回拨相当于时光倒流,当前机器时间又回到了之前已经走过的某个时间点。2.雪花算法主键重复原创 2021-11-01 10:35:54 · 664 阅读 · 0 评论 -
记:通过Swagger-ui 生成json
自己搭建了一个springboot项目,用swagger生成api文档。结果显示如下:但是此时需要json格式的内容。我发现了两种方法。1.替换访问路径此时访问的url为http://localhost:8080/swagger-ui.html# ,只需要将url中swagger-ui.html#替换成右上角的/v2/api-docs即可。访问http://localhost:8080/v2/api-docs,得到json2.使用F12打开开发工具。点击network,选择.转载 2021-10-20 16:18:41 · 7766 阅读 · 0 评论 -
AOP与自定义注解与反射
业务场景:1.日志记录:在每个方法执行时打印入参2.记录重复下发的消息:处理业务时记录消息重复下发3.记录执行失败的业务:哪些下发消息业务执行失败了4.回调通知,不同的回调通知执行不同的业务逻辑对于第一种只需要在方法执行前,执行AOP逻辑,不必关系方法执行结果。对于第二,三个场景,需要知道方法执行后的结果,第二种需要在方法执行完成后,对key进行缓存,下次消息进入验证key是否存在存在即重复;第三种需要在方法执行失败后打印日志。AOP与自定义注解与反射关系AOP通过自定义注解原创 2021-10-18 09:13:04 · 325 阅读 · 0 评论 -
SpringAOP中的JointPoint和ProceedingJoinPoint使用详解(附带详细示例)
概念Joint PointJointPoint是程序运行过程中可识别的点,这个点可以用来作为AOP切入点。JointPoint对象则包含了和切入相关的很多信息。比如切入点的对象,方法,属性等。我们可以通过反射的方式获取这些点的状态和信息,用于追踪tracing和记录logging应用信息。Pointcutpointcut 是一种程序结构和规则,它用于选取join point并收集这些point的上下文信息。pointcut通常包含了一系列的Joint Point,我们可以通过pointcut来同转载 2021-10-15 18:16:11 · 1977 阅读 · 0 评论 -
【杂谈】FilterChain相关知识整理
前言 做后台的,Filter肯定没少配置,但是知晓其原理的可能不多。在这之前我也不懂,但这并不影响业务开发,同时也有其他的知识要学,所以一直就没看。这阵子有点闲,刚好在看《How Tomcat Works》的PipeLine相关内容。索性好好梳理一下FilterChain相关的知识。类图FilterChain的作用顾名思义,FilterChain就是一条过滤链。其中每个过滤器(Filter)都可以决定是否执行下一步。过滤分两个方向,进和出:进:在把ServletRequest和转载 2021-09-10 14:10:42 · 1491 阅读 · 0 评论 -
Filter、FilterChain、FilterConfig
一、Filter 的基本工作原理1、Filter 程序是一个实现了特殊接口的 Java 类,与 Servlet 类似,也是由 Servlet 容器进行调用和执行的。 2、当在 web.xml 注册了一个 Filter 来对某个 Servlet 程序进行拦截处理时,它可以决定是否将请求继续传递给 Servlet 程序,以及对请求和响应消息是否进行修改。 3、当 Servlet 容器开始调用某个 Servlet 程序时,如果发现已经注册了一个 Filter 程序来对该 Servlet 进行拦截,那么容器转载 2021-09-10 14:07:51 · 211 阅读 · 0 评论 -
关于日期单双日,星期判断
1,获取前天日期Date d = new Date(System.currentTimeMillis() - 2 * 1000 * 60 * 60 * 24);SimpleDateFormat sp = new SimpleDateFormat("yyyyMMdd");pbProductMapper.deleteProduct(sp.format(d));2,判断单双号,周几,在原来...原创 2019-12-19 10:07:49 · 1886 阅读 · 0 评论 -
通过Properties读取配置文件
1,配置文件放在resource下2,工具类/** * 读取属性文件 * @author lr * @date 2019-05-29 14:38 */public class PropertiesUtils { public static String getKey(String key) { Properties properties = new...原创 2019-09-26 10:48:47 · 141 阅读 · 0 评论 -
java反射
https://blog.csdn.net/lwl20140904/article/details/80163880反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法...转载 2019-07-30 09:09:24 · 87 阅读 · 0 评论 -
看似简单的hashCode和equals面试题,竟然有这么多坑!
https://mp.weixin.qq.com/s?__biz=MzI1NDQ3MjQxNA==&mid=2247488480&idx=1&sn=625433bb17b7877a3638df8533c6af35&chksm=e9c5ea51deb26347ab62a8c9a6f8c489f3dda256cfc397ab10a735de1e55d9a98025456...转载 2019-03-04 10:01:23 · 128 阅读 · 0 评论