Java
文章平均质量分 88
Java
xupengboo
自强不息
展开
-
某个订单项目记录,涉及MQ消息处理、分布式问题、幂等性等问题解决设计
在电商订单中心等场景中,使用消息队列可以解决登录拦截、接口幂等性、分布式事务等问题。同时,需要注意消息队列可能会出现的消息积压、丢失、重复等问题,并采取相应的解决方案。此外,还有分布式事务问题解决,最大消息通知事务等等相关架构设计。原创 2023-11-16 15:39:51 · 1526 阅读 · 0 评论 -
手写Spring的IOC容器和DI依赖注入
1. Java解析xml文件2. 方式一:DOM解析3. 方式二:SAX解析4. 方式三:JDOM解析5. 方式四:DOM4J解析(推荐)6. 使用DOM4J解析spring.xml文件,进而实现IOC容器和DI依赖注入6.1 准备工作6.2 手写IOC容器和DI依赖注入的效果原创 2022-02-28 20:09:52 · 514 阅读 · 1 评论 -
手写SpringMVC,实现SpringMVC容器,加底层@RequestMapping的映射
1. 准备阶段2. 手动实现SpringMVC容器和@RequestMapping注解映射第一步:创建Handler类文件,用来存储反射三要素的对象。因为是存储对象,所以放到pojo层或者bean层。主要是通过反射获取到注解信息,最后获取注解的value值。让value和反射三要素创建的对象完成映射关系。再经过doget或dopost方法拿到值返回前端。原创 2022-03-08 10:29:22 · 457 阅读 · 0 评论 -
雪花算法的 实现思想
雪花算法是分布式环境下,`有序且唯一`的全局ID生成方案。1 bit符号位:正负数。41 bit时间戳:时间戳的毫秒数。10 bit工作机器Id:代表不同机器的id,10bit就是2^10也就是1024台机器。一般来说前5位是机房,后5位是对应机器号。12bit序列号:表示同一毫秒内,产生的不同ID。Twitter的雪花算法:https://github.com/beyondfengyu/SnowFlake原创 2022-05-29 16:50:14 · 289 阅读 · 0 评论 -
Java 1.8版本之后的Lambda表达式
Lamda表达式Lamda表达式在1.7版本之前是无法表达的,在1.8之后为了简化代码,出现了Lamda表达式。这里我创建了两个test.java类test.java( 正常表示 )interface IMessage { public void send(String str);}public class test { public static void main(String[] args) { IMessage msg = new IMessage() {原创 2021-04-14 15:31:27 · 398 阅读 · 0 评论 -
Java 泛型详解和案例,非常全面,对于泛型不太了解的小白,极力推荐!!!
1.ClassCastException异常和Object类的转型ClassCastException:数据类型转换错误ClassCastException是数据类型转换错误,比如有个 String temp=“abc”; 你 (int)temp就会报错了,以为他们类型不一样,但是你(object)temp就行,因为object是他们的父类。Object类转型:整型数据:基本数据类型 -> 包装为Integer类对象 ->自动向上转型为Object;浮点型数据:基本数据类型 ->原创 2021-04-15 13:54:59 · 352 阅读 · 0 评论 -
使用JavaFX在面板中显示一个小闹钟(DisplayClock)
1.ClockPane类import javafx.scene.layout.Pane;import javafx.scene.paint.Color;import javafx.scene.shape.Circle;import javafx.scene.shape.Line;import javafx.scene.text.Text;import java.util.Calendar;import java.util.GregorianCalendar;public class Cloc原创 2021-01-03 23:33:35 · 639 阅读 · 0 评论 -
Java线程 (使用Callable实现多线程),看完你发现多线程多么简单!(二)
1.Thread 与 Runnable 的关系 经过一系列的分析之后可以发现,在多线程的实现过程之中已经有了两种做法:Thread类、Runnable接口,如果从代码结构本身来讲,使用Runnable是最方便的,因为其可以避免单继承的局限,同时也可以更好的进行功能的扩充。 但是从结构上也需要来观察Thread与Runnable的联系,打开Thread类的定义:public class Thread extend原创 2021-04-22 08:46:58 · 684 阅读 · 0 评论 -
Java 线程(继承Thread和Runnable接口调用Thread实例对象实现多线程),看完你发现多线程多么简单!(一)
1.继承Thread类实现多线程Java里面提供有一个java.lang.Thread的程序类,那么一个类只要继承了此类就表示这个类为线程的主体类,但是并不是说这个类就可以直接实现多线程处理了,因为还需要覆写Thread类中提供的一个run()方法,而这个方法就属于线程的主方法。例如:class MyThread extends Thread { //线程的主体类 private String title; public MyThread(String title) { this.ti原创 2021-04-16 14:16:26 · 368 阅读 · 0 评论 -
JavaWeb jsp 笔记总结
1. 什么是jsp?2. jsp 的头部指令 page指令3. jsp 常用的脚本3.1 声明脚本3.2 表达式脚本3.3 代码脚本4. html , java , jsp 三种注释5. jsp 的 九大内置对象6. jsp 四个大域对象7. jsp的 out 和 response输出区别8. jsp 的包含功能8.1 jsp 静态包含8.2 jsp 动态包含8.3 jsp 请求转发9. jsp页面代码和html页面 混合使用的案例10. 什么是Listener 监听器?原创 2021-12-15 13:13:49 · 1163 阅读 · 0 评论 -
JavaWeb 学习笔记总结(三)
1.Cookie 饼干2. Cookie 使用3. Cookie 原理分析4. cookie的细节处理4.1 一次发送多个cookie4.2 Cookie 存活时间4.3 cookie 能不能存储中文?4.4 cookie 的范围5. Cookie的特点和作用6. Session 会话7.如何创建Session?8. Session 域对象存储数据9. Session 生命周期控制10. Session 和 浏览器 之间有什么关联11. Filter 过滤器原创 2021-12-22 10:17:08 · 1304 阅读 · 0 评论 -
JavaWeb 学习笔记总结( 一 )
6. ServletConfig 类7. ServletContext类7.1 什么是ServletContext?7.2 ServletContext的作用?8. Http协议9.什么时候用doGet接受get请求,什么时候用doPost接受post请求?10. 响应的HTTP协议格式11. 响应码 状态说明12. MIME 类型说明13. HttpServletRequest 对象14. 如何接受客户端发送过来的参数请求?15. 请求的转发16. base标签 作用原创 2021-12-15 12:52:15 · 1557 阅读 · 0 评论 -
JavaWeb 学习笔记总结( 二 )
1. EL表达式2. EL 表达式 搜索域数据的顺序3. El表达式 调用类属性4. EL表达式 运算4.1 关系运算符4.2 逻辑运算符4.3 算数运算符5. EL表达式 empty运算6. EL表达式 三元运算 , .点运算符,[]中括号运算符7. EL表达式 11个隐含对象7.1 11个隐含对象7.2 EL 获取四个特定域中的属性7.3 pageContext 使用7.4 剩余的6个隐含对象使用7.4.1 param和paramValues使用原创 2021-12-20 16:00:36 · 1538 阅读 · 0 评论 -
通过使用Socket来向Servlet服务器发送GET和POST的HTTP请求协议以及响应案例
分别写一个socket客户端和serversocket服务端相互通信**MyServerSocket 类:**- **这里有一个坑,这里要记住在末尾调用socket.close()方法来关闭socket,如果不写socket.close()方法就会立刻被jvm清理掉。而close()方法会等所有请求完成后在关闭socket。**# 2.写一个socket客户端向tomcat发送数据---**在这就直接上代码了,首先我创建了一个普通的java项目,里面写了两个类,一个发送get方法的Socket类,另原创 2021-12-07 11:41:51 · 1709 阅读 · 0 评论 -
Cookie,Session,Token来进行身份认证
1. Cookie,Session,Token 简单介绍2. Cookie3. Session4. 为什么使用JWT?5. JWT(JSON Web Token)的实现过程6. 官方实现JWT的多种方式7. JWT的实现第一种:java-jwt包的使用8. JWT的实现第二种:jjwt包的使用9. 封装JWT的包装类,方便以后使用10. 后台发送到前端,前端如何进行存储?11. 前端如何将受到的token返还服务器?12. 设置服务器允许跨域13. JWT三部分组成详解原创 2022-03-09 13:31:34 · 1850 阅读 · 0 评论 -
Java 开发工程师 面试题(一)
1. 注解@Transactional事务的实现2. Spring事务的 4个隔离级别 + 7个传播行为3. IOC的三种注入方式4. aop的5个通知类型5. 分布式锁的作用6. 浏览器发起一个请求的过程7. http协议8. 有状态bean 和 无状态bean9. options请求(跨域预检)10. http的9种 常见的请求方式11. 如何证明当前对象是单例的12. 多线程下,如何解决成员变量13. transient 关键字作用14. servlet的 / 和 /* 的区原创 2022-07-05 17:05:42 · 1900 阅读 · 0 评论 -
正则表达式 学习
1. 正则表达式(Regular Expression)2. 正则表达式语法: + ,* ,?3. 正则表达式语法 [...]4. 非打印字符5. 特殊字符6. 限定符7. 贪婪和非贪婪8. 定位符9. 选择10. 正则表达式 修饰符11. 元字符 和 正则表达式的优先级原创 2022-04-18 14:31:09 · 3273 阅读 · 0 评论 -
SpringBoot项目中,常用小技巧
1. 插入数据库数据,并返回当前主键2. Mybatis不能处理char类型3. 判断文件是否是图片4. 缩略图 thumbnailator API使用5. @Value获取不到application.yml的情况6. 若依框架7. git远程分支切换8. sql语句原创 2022-03-29 22:48:27 · 1738 阅读 · 0 评论 -
JVM 架构解释 + 垃圾回收机制 详解(基于JDK8版本)
1. JVM 内存结构2. JVM 之 堆3. JVM 之 垃圾回收器(GC, Garbage Collector)3.1 垃圾回收器 分类 + 组合方式3.2 年轻代的 垃圾处理器3.3 老年代的 垃圾处理器3.4 G1 GC 垃圾收集器(jdk9 默认)4. JVM 之 垃圾回收算法4.1 标记-清除 算法(Mark-Sweep)4.2 复制算法4.3 标记-压缩 算法(又名标记-整理 算法)4.4 分代收集 算法5. JVM 之 垃圾回收机制过程6. 设置堆 结构大小7.原创 2022-06-24 14:10:54 · 3891 阅读 · 0 评论 -
SpringCloud 学习笔记总结 (七)
1. Spring Cloud Alibaba 简介2. Spring Cloud Alibaba 之 Nacos 介绍 和 安装3. Nacos 服务注册与发现 之 服务提供者注册4. Nacos 服务注册与发现 之 服务消费者注册 和 负载5. Nacos 服务注册与发现 之 服务注册中心对比提升6. Nacos作为 服务配置中心7. Nacos 服务配置中心 之 namespace、group、DataID 三者关系7. Nacos 服务配置中心 之 Data Id方案8. Nacos原创 2022-08-13 21:58:32 · 446 阅读 · 0 评论 -
SpringCloud 学习笔记总结 (二)
1. Eureka 之 Eureka 基础知识2. Eureka 之 Eureka Server服务端安装3. Eureka 之 将别的项目入驻进Eureka Server4. Eureka 之 搭建Eureka 集群5. Eureka 之 搭建 业务逻辑集群6. Eureka 之 actuator 微服务信息完善7. Eureka 之 服务发现Discovery (重点)8. Eureka 之 自我保护9. Eureka 之 停更说明.........原创 2022-06-20 12:51:02 · 413 阅读 · 1 评论 -
通过zookeeper实现一个简易版的dubbo(RPC框架)
1. 项目常见小提示2. zookeeper 分布式锁的效果3. Java操作zookeeper4. 环境准备 + 思想流程5. 服务消费者 构建6. 服务提供者 构建7. 测试原创 2022-06-22 12:28:21 · 626 阅读 · 0 评论 -
SpringCloud 学习笔记总结 (三)
1. zookeeper 之 支付服务注册(服务提供者注册)2. zookeeper 之 临时节点和持久节点3. zookeeper 之 服务消费者注册4. Consul 之 简介5. Consul 之 安装运行Consul6. Consul 之 服务提供者注册进consul7. Consul 之 服务消费者注册进Consul8. 三个注册中心的异同点9. Ribbon 之 介绍10. Ribbon 之 负载均衡和Rest调用10.1 Ribbon 环境引入10.2 RestTempl原创 2022-06-24 15:35:58 · 494 阅读 · 0 评论 -
SpringCloud 学习笔记总结 (一)
文章目录1. 基于分布式的微服务架构2. SpringBoot 和 SpringCloud 版本3. 由SpringCloud官方参考文档 来决定使用哪个版本的SpringBoot3. SpringCloud 维护升级以及每个服务对应的技术架构4.1. 基于分布式的微服务架构SpringCloud是分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体。俗称:微服务全家桶。整体架构图:2. SpringBoot 和 SpringCloud 版本之前SpringCloud有D版和原创 2022-06-12 11:37:15 · 629 阅读 · 0 评论 -
SpringCloud 学习笔记总结 (八)
1. Spring Cloud Alibaba 之 Sentinel(哨兵)概述2. Sentinel 之 下载安装3. Sentinel 之 初始化监控4. Sentinel 之 流控限流5. Sentinel 之 熔断降级6. Sentinel 之 热点key7. Sentinel 之 系统规则8. Sentinel 之 SentinelResource配置9. Sentinel 之 服务熔断OpenFeign10. Sentinel 之 持久化规则...原创 2022-08-13 21:59:52 · 338 阅读 · 0 评论 -
SpringCloud 学习笔记总结 (六)
1. SpringCloud Bus 之 消息总线 介绍2. SpringCloud Bus 之 搭建RabbitMQ3. SpringCloud Bus 之 动态刷新全局广播的设计思想和选型4. SpringCloud Bus 之 动态刷新全局广播配置实现5. SpringCloud Stream 之 消息驱动 介绍6. SpringCloud Stream 之 设计思想7. SpringCloud Stream 之 消息驱动 搭建生产者8. SpringCloud Stream 之 消息驱原创 2022-08-05 07:30:00 · 421 阅读 · 0 评论 -
SpringCloud 学习笔记总结 (四)
1. OpenFeign 之 介绍2. OpenFeign 之 消费端的 服务调用3. OpenFeign 之 超时控制4. OpenFeign 之 日志增强5. Hystrix 之 重要概念6. jmeter 普通服务测试7. Hystrix 之 服务提供 和 服务消费 环境搭建8. Hystrix 之 服务降级 消费端和服务端9. Hystrix 之 全局服务降级@DefaultProperties10. Hystrix 之 通配服务降级11. Hystrix 之 服务熔断11.原创 2022-06-30 11:16:27 · 545 阅读 · 0 评论 -
SpringCloud 学习笔记总结 (五)
1. zuul 与 Gateway2. Gateway 之 简介3. Gateway 之 核心概念 + 架构流程4. Gateway 之 搭建Gateway服务器 + 测试5. Gateway 之 路由的两种配置方式6. Gateway 之 配置动态路由7. Gateway 之 Predicate分类8. Gateway 之 Filter(GatewayFilter)9. SpringCloud Config 之 分布式配置中心(介绍)10. SpringCloud Config 之 配置原创 2022-07-26 22:40:00 · 863 阅读 · 0 评论 -
Java 类加载器 详解
1. 什么是类加载器?3. 类加载器的执行过程2. 类加载器的分类3. 双亲委派机制4. boostrap classLoader 启动类加载器 打印显示null5. 小注意事项原创 2022-06-23 13:31:07 · 2230 阅读 · 0 评论 -
解决Axure RP Extension for Chrome 安装问题
解决Axure RP Extension for Chrome安装问题。原创 2022-12-28 16:22:04 · 3623 阅读 · 1 评论 -
Java 多线程与并发(案例 + 应用)
1. 传统 创建线程的两种方式2. 传统 定时器技术3. 传统线程 互斥技术4. 传统线程 同步通信技术5. 线程范围内 共享变量 概念和作用6. ThreadLocal类及应用技巧7. 多个线程之间 共享数据的方式8. Java 原子性类的应用9. Java 线程并发库的应用(线程池)10. Callable 与 future的应用11. 线程锁的技术12. Java 读写锁技术的使用13. Java 条件阻塞condition的应用14. Semaphore(信号灯)同步工具原创 2022-07-10 20:22:04 · 3565 阅读 · 1 评论 -
Java返回树形结构的数据 (children方式)
以children这种方式的实体类来遍历子父级的树形结构。//问题分类下拉表@Overridepublic List<DA> selectDA(Long deptId,Long userId) { //根据deptId获取当前parentId --- 第一步就是:获取根节点。 DA current = sysDropDownListMapper.selectDA(deptId); //以下是可以拿到子部门内容 DA roo原创 2022-04-18 14:51:52 · 2554 阅读 · 0 评论 -
Spring Boot学习笔记总结(四)
1. Web请求参数处理 Rest映射源码解析1.1 OrderedHiddenHttpMethodFilter对象原理1.2 表单提交要使用Rest的使用1.3 Rest使用客户端工具发送不同类型的请求1.4 如何改变默认的_method?2. Web请求参数处理 请求映射原理3. 请求处理常用的参数注解3.1 SpringMvc常用的一些注解3.2 SpringBoot的矩阵变量 和 UrlPathHelper类4. 请求参数处理 类型参数的解析原理4.1 找到合适的HandlerA原创 2022-03-22 19:22:56 · 1738 阅读 · 0 评论 -
Spring Boot学习笔记总结(三)
1. SpringBoot 应该如何编写2. Lombok常用注解3. SpringBoot的 dev-tools开发者工具4. Spring Initializr(Spring 初始化器)5. yaml6. web场景 静态资源规则与定制化7. web场景 欢迎页与favicon功能8. web场景 静态资源的配置原理原创 2022-03-20 15:38:58 · 4398 阅读 · 3 评论 -
Spring Boot学习笔记总结(二)
1. SpringBoot底层注解 @Configuration2. SpringBoot底层注解 @import注解3. SpringBoot底层注解 @Conditional注解4. SpringBoot底层注解 @ImportResource5. SpringBoot底层注解 @ConfigurationProperties6. @SpringBootApplication注解源码分析6.1 @SpringBootConfiguration作用6.2 @ComponentScan注解原创 2022-03-18 13:32:28 · 455 阅读 · 0 评论 -
Spring Boot学习笔记总结(一)
1. 什么是Spring Boot?2. 微服务架构3. 搭建第一个SpringBoot程序4. Maven 配置jdk1.8编译5. SpringBoot的大体结构6. SpringBoot banner在线生成工具7. SpringBoot的 Pom.xml内容分析7.1 父工程 parent 和 修改依赖版本7.2 starter场景启动器7.3 SpringBoot的自动配置8. SpringBoot 默认的包结构9. SpringBoot的默认配置10. SpringBoot原创 2022-03-17 11:25:50 · 2558 阅读 · 0 评论 -
动态代理实现数据库事务 + 多线程
文章目录1. 通往ssm的桥梁2. 动态代理实现数据库事务1. 通往ssm的桥梁我们学习了java基础,javaweb,会使用ajax调用一些servlet的接口后。掌握mysql,事务的相关内容。对于掌握上面这些,我们就可以往框架方向发展了。然而,想要彻底掌握框架!首先,就要了解什么是动态代理,动态代理实现数据库事务,多线程方式实现动态代理数据库事务!因为,这些框架的底层原理就是多线程动态代理实现数据库事务。简而言之,多线程动态代理实现数据库事务是通往ssm,spring boot 的桥梁原创 2022-02-14 16:48:23 · 410 阅读 · 0 评论 -
Spring MVC框架 学习笔记总结(四)
文章目录1. SpringMVC的 拦截器1.1 拦截器和过滤器1.2 自定义拦截器2. SpringMVC上传文件和下载1. SpringMVC的 拦截器1.1 拦截器和过滤器SpringMVC的处理器拦截器类似Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。过滤器是交给tomcat来操作的,而拦截器是通过spring来实现的。过滤器和拦截器的区别:拦截器是AOP思想的具体应用。1.2 自定义拦截器想要自定义拦截器,必须实现HandlerInterceptor原创 2022-02-23 19:54:20 · 1206 阅读 · 0 评论 -
Spring MVC框架 学习笔记总结(三)
1. 对象 转 JSON2. Jackson的使用3. FastJson的使用4. ssm 之 整合Mybatis5. ssm 之 整合Spring6. ssm 之 整合SpringMVC7. ssm 之 视图层对应controller层8. 整合的时候 注意细节9. ajax 和 ssm原创 2022-02-23 14:17:26 · 772 阅读 · 1 评论 -
Spring MVC框架 学习笔记总结(二)
1. SpringMVC的 控制器controller配置2. 什么是RestFul风格?3. RestFul 风格(几乎所有网站都在使用)4. SpringMVC的结果跳转方式5. 后台接受请求参数5.1 请求参数的获取 和 返回5.2 接受一个 对象形式的请求参数6. 数据回显(数据显示到前端)6.1 通过ModelAndView方式6.2 通过ModelMap方式6.3 通过Model方式(常用方式)7. SpringMVC 乱码问题解决原创 2022-02-21 14:35:38 · 936 阅读 · 0 评论