![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java后端开发
文章平均质量分 82
绿水本无忧d
这个作者很懒,什么都没留下…
展开
-
微信小程序以SpringBoot作为后端开发遇到的问题及解决思路总结
背景关键字:微信小程序、SpringBoot 项目、腾讯云服务器、SSL、HTTPS、Tomcat注:本文记录了一个菜鸟解决问题的思路,觉得啰嗦可以略过,解决方案在文末。技术不精,文章有错误烦请指正。最近想着做个小程序,后端使用 SpringBoot,直接跑在腾讯云服务器上。微信小程序要求配置指定的通信域名,意思是只能访问特定的服务器和接口。最关键的是这个域名需要使用 HTTPS 协议。配置 SSL 证书也不难,腾讯云上提供了免费的证书提供商,也提供了几种配置 SSL 证书的方法,比如使用 NGI原创 2021-10-13 22:29:31 · 1740 阅读 · 0 评论 -
注解和反射
注解概述注解(Annotation) 可以理解为对代码的特殊标记,这些标记可以在编译、类加载、运行时被读取,并进行相应的处理。通过注解,开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。内置注解@Override:覆盖,该方法将覆盖或者实现超类中的方法。@Deprecated:已过时的,该元素不鼓励程序员进行使用。@SuppressWarnings:抑制该元素编译时的警告信息。元注解负责注解其他注解@Target:指示当前注解类型适用的上下文元素类型,如字段、方法等。原创 2021-09-19 22:28:45 · 148 阅读 · 0 评论 -
源码学习——HashMap
文章目录继承关系内部节点类静态常量成员变量构造方法无参构造传入初始化容量大小和负载因子传入初始化容量大小添加扩容树化注意事项树化时机扩容时机继承关系UML 图示内部节点类与之前介绍的 LinkedList 使用的节点类有所不同,LinkedList 使用的节点类中荷载的只有数据,而这里需要一个 K-V 键值对。static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K原创 2021-08-24 18:01:46 · 183 阅读 · 0 评论 -
源码学习——LinkedList
源码学习——ArrayList文章目录前言继承关系内部节点类成员变量构造方法添加添加到末尾插入到指定位置添加一个集合删除删除一个元素查看修改双端队列相关LinkedList 和 ArrayList 的区别前言将常用的步骤解释的较为详尽易懂,若有错误麻烦指正。个人认为甚至些许啰嗦,建议有基础的同学直接看源码,源码更为直接了当易懂,且不会产生语句上的歧义。继承关系UML 图示实现 List 接口,属于列表类实现 Deque 接口,属于一个双端队列实现 Cloneable 接口,可以重写 Ob原创 2021-08-23 19:17:37 · 177 阅读 · 0 评论 -
源码学习——ArrayList
文章目录前言继承关系成员变量构造方法添加添加到列表末尾添加到固定位置添加一个集合删除删除一个元素删除部分元素查看修改前言将常用的步骤解释的较为详尽易懂,若有错误麻烦指正。个人认为甚至些许啰嗦,建议有基础的同学直接看源码,源码更为直接了当易懂,且不会产生语句上的歧义。继承关系UML 图示实现 List 接口,属于列表类实现 RandomAccess 接口,具备快速随机访问的能力。(所有的 list 都可以支持随机访问,但是不一定支持快速随机访问,有的可以通过迭代器,如 linkedList,与原创 2021-08-23 17:16:22 · 158 阅读 · 0 评论 -
延时队列实现数据的最终一致性
文章目录实现场景可能出现的问题CAP 定理BASE 定理解决方案——Seata解决方案——延时队列延时队列方案具体实现使用消息队列的相关问题实现场景在分布式微服务场景下,实现用户提交订单的最后一步 submitOrder() 方法,首先需要将 order 实体保存到订单服务对应的数据库下,然后需要去仓储服务下锁定(预留)库存,锁定库存后还可能调用其他服务做其他事,又或者在当前订单服务下做其他事。预留库存的原因是客户并不是立即支付的,往往会有预留一定的时间。下文的场景中,用户可以有 30 分钟的时间来支原创 2021-08-16 23:18:34 · 433 阅读 · 0 评论 -
缓存与分布式锁——Redisson
Redisson简介整合redisson 官方文档Maven 依赖<!-- https://mvnrepository.com/artifact/org.redisson/redisson --><dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.12.0<原创 2021-08-04 19:36:36 · 139 阅读 · 0 评论 -
缓存与分布式锁——场景实现
文章目录版本 1.0 本地锁原生场景缓存缓存击穿版本 2.0 分布式锁基本原理SETNX分布式锁-阶段 1分布式锁-阶段 2分布式锁-阶段 3分布式锁-阶段 4版本 1.0 本地锁原生场景进入一个网站首页,首页向后端发送请求,后端向数据库请求几百个数据的商品分类信息。向数据库查询分类信息// 向数据库查询分类信息String getCatalogJsonFromDB(){ String res = null; /* get res from db */ ret原创 2021-08-03 21:34:43 · 133 阅读 · 0 评论 -
性能与压力测试
文章目录性能与压力测试性能指标JMeter的安装和使用测试中间件的优化业务优化jvisualvm 的使用与分析模拟内存溢出JVM 优化性能与压力测试性能指标响应时间:Response Time,RT 指用户从客户端发起一个请求到接收从服务端返回的响应耗费的时间。每秒点击次数:Hits Per Second,HPS每秒处理交易数:Transaction Per Second,TPS每秒处理查询次数:Query Per Second,QPS最大响应时间:Max Response Time,MRT原创 2021-08-03 10:15:35 · 271 阅读 · 0 评论 -
SpringCloud-OpenFeign远程调用
SpringCloud-OpenFeign远程调用本文简单记录利用SpringCloud的OpenFeign组件进行微服务之间的远程调用步骤,不涉及底层原理哦。进行远程调用之前需要搭建SpringCloud依赖和Nacos作为微服务的注册发现中心。两个微服务模块,这里使用mall-coupon(优惠券)和mall-member(会员)服务,目标是访问mall-member微服务的一个请求,该请求中调用mall-coupon微服务的一个方法。添加依赖。<dependency>原创 2021-06-15 16:36:46 · 107 阅读 · 0 评论 -
Java并发机制的底层实现原理
volatile的实现原理及应用volatile 可看做是轻量级的synchronized,它在多处理器开发中保证了发发发发发发付共享变量的***可见性***,所谓synchronized的实现原理及应用原创 2021-06-13 10:07:38 · 1140 阅读 · 1 评论 -
Java动态代理的两种方式
动态代理基于JDK的动态代理基于接口委托类和代理类实现的公共接口 Subject.javapackage com.lvshui5u.test.jdkproxy;/** * @author: lvshui5u * @date: 2021/5/28 10:22 * @describe: 基于jdk的动态代理 * * 1. 创建一个接口(被代理) * 2. 实现接口 * 3. 创建代理类,实现InvocationHandler接口 * 4. 代理类的调用,用Proxy类创建实例 */原创 2021-05-28 11:54:41 · 187 阅读 · 0 评论