![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 87
成胜文
持续学习,持续成长
展开
-
设计模式 — 抽象工厂模式
设计模式 — 抽象工厂模式原创 2022-11-15 22:49:59 · 1350 阅读 · 3 评论 -
设计模式 — 工厂模式
设计模式 — 工厂模式(简单工厂)原创 2022-11-13 23:00:08 · 762 阅读 · 0 评论 -
设计模式 — 6大设计原则(迪米特法则和开闭原则)
设计模式 — 6大设计原则(迪米特法则和开闭原则)原创 2022-11-07 14:30:37 · 425 阅读 · 0 评论 -
设计模式 — 6大设计原则(依赖倒置和接口隔离原则)
设计模式 — 6大设计原则(依赖倒置和接口隔离原则)原创 2022-11-06 14:00:41 · 1007 阅读 · 0 评论 -
Spring 事务特性 — @Transactional 事务注解的基本运用
@Transactional 事务注解原创 2022-10-24 16:53:17 · 1454 阅读 · 0 评论 -
生成图形验证码
图形验证码原创 2022-10-12 11:15:54 · 148 阅读 · 0 评论 -
分布式锁之Redisson基础篇《二》
分布式锁之Redisson基础篇《一》 续章原创 2022-07-14 19:55:14 · 568 阅读 · 0 评论 -
分布式锁之Redisson基础篇《一》
工作中遇到幂等性问题,然后了解到使用Redisson的锁可以解决这个问题,抱着系统学习一下redisson…原创 2022-07-14 19:52:29 · 2857 阅读 · 2 评论 -
红黑树分析与JDK8中HashMap源码解析
红黑树分析与JDK8中HashMap源码解析BSTO(1), O(n), O(logn), O(nlogn) 的区别红黑树-RBTree插入数据HashMap中红黑树的插入操作HashMap中红黑树的左右旋操作HashMap中的树化JDK1.8中的ConcurrentHashMap源码分析BST二叉查找树(Binary Search Tree,简称BST)是一棵二叉树,它的左子节点的值比父节点的值要小,右节点的值要比父节点的值大。它的高度决定了它的查找效率。在理想的情况下,二叉查找树增删查改的时间复杂原创 2022-03-01 02:16:24 · 182 阅读 · 0 评论 -
(并发专题篇)DCL-单例模式-解决并发问题的方案
DCL-单例模式这篇文章的由来解决的问题解决的思路恶汉式懒汉式懒汉式+同步方法DCL(Double-Check-Locking)Volatile+Double-check枚举彩蛋这篇文章的由来面试官:了解常用的设计模式吗?我:了解。面试官:说说DCL-单例模式。。。我:不知道面试官:。。。⚠️设计模式是一种思想,是脱离语言的,Java有Java实现的方式,python有python的实现方式解决的问题多个线程操作不同实例对象,多个线程要操作同一对象,要保证对象的唯一性,如何保证实例化过程中原创 2022-02-22 02:26:44 · 506 阅读 · 0 评论 -
主键id自动填充拦截器插件-支持UUID和雪花算法
废话不多说,直接上代码1、自定义注解方式@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.FIELD)public @interface AutoId { /** * @return id类型(默认为雪花id) */ IdType value() default IdType.SNOWFLAKE; /** * id类型 */ enum IdT原创 2022-02-17 22:01:25 · 319 阅读 · 0 评论 -
Spring中核心概念详解(看源码必备)
Spring中核心概念详解BeanDefinitionBeanDefinition这篇文章是看Spring源码之前的最后一篇铺垫,都是一些概念性的东西,作为打开Spring神秘面纱之前的最后一把钥匙,就创作思路而言,基本上确定就是以Spring、Mybatis、SpringBoot、SpringCloud等源码解析为大致的方向,...原创 2022-01-01 16:33:34 · 238 阅读 · 2 评论 -
手写模拟Spring框架核心逻辑
手写模拟Spring框架核心逻辑了解Spring框架工作大概流程创建AnnotationConfigApplicationContext启动类创建BeanDefinition类实现@Autowired的依赖注入实现BeanNameAware接口了解Spring框架工作大概流程模拟Spring框架核心代码并不是实现真正的Spring核心源码,而是为了后续看源码进行的一个铺垫,同时我也相信在以后的某个时间段的面试中会跟面试官扯到这个犊子 ,主要还是通过手写一遍了解Spring工作的大概流程,对于Spring原创 2021-12-20 00:32:22 · 1230 阅读 · 2 评论 -
Spring实战与源码解析之SpringAOP应用<一>
SpringAOP应用<一>什么是AOPAOP Concepts(概念)@AspectJ support使用 Java 配置启用 @AspectJ 支持使用 XML 配置启用 @AspectJ 支持支持的切入点指示符什么是AOPAOP表示面向切面编程,是Spring Framework中众多特性中的一个特性,AOP可以对某个对象或某些对象的功能进行增加,比如对象中的方法进行增加,可以执行某个方法之前额外的一些事情,在某个方法执行之后额外的做一些事情,通常,我们会利用AOP机制来实现权限控原创 2021-12-05 22:20:06 · 339 阅读 · 0 评论 -
JDK8新特性解析
JDK8新特性Lambda1、语法2、变量作用域3、方法引用什么是Stream?创建数据源数据处理/转换聚合收集结果自己生成Streamshort-circuiting并行迭代器Lambda用来替代匿名函数,可以将一个函数赋值给一个变量作为参数传入另一个函数,Java的闭包原则:可推导就是可省略,比如说参数类型,返回值// 1. 不需要参数,返回值为 5 {}只有一行代码,可以省略() -> 5 // 2. 接收一个参数(数字类型),返回其2倍的值,()只有一个参数可以省略 x原创 2021-11-22 21:33:09 · 538 阅读 · 0 评论 -
Spring实战与源码解析之SpringIOC应用<一>
SpringIOC应用<一>SpringIOC什么是Spring什么是 IOC为什么要使用SpringIOCSpring实现IOC的思路和方法Spring的编程风格自动装配@Autowired和@Resource的区别懒加载Spring 作用域Spring生命周期与回调1、生命周期回调初始化回调销毁回调默认初始化和销毁方法结合生命周期机制2、 ApplicationContextAware和BeanNameAware3、其他Aware接口BeanNameGeneratorSpringIOC原创 2021-11-20 23:14:45 · 576 阅读 · 0 评论 -
SpringSecurity原理剖析及其实战(五)
SpringSecurity原理剖析及其实战(五)1、用户授权(访问控制)2、基于权限的访问控制3、基于表达式的访问控制4、方法授权5 、授权原理6、授权流程1、用户授权(访问控制)什么是授权?授权的方式常分为两种,web授权和方法授权,web授权是通过url拦截进行授权,方法授权是通过方法拦截进行授权。他们都会调用accessDecisionManager进行授权决策,若为web授权则拦截器为FilterSecurityInterceptor;若为方法授权则拦截器为MethodSecurity原创 2021-11-08 23:41:38 · 855 阅读 · 0 评论 -
SpringSecurity原理剖析及其实战(四)
SpringSecurity原理剖析及其实战(四)1、认证原理2、认证流程3、相关接口1、认证原理Spring Security是如何完成身份认证的?用户名和密码被过滤器获取到,封装成Authentication,通常情况下是UsernamePasswordAuthenticationToken这个实现类。AuthenticationManager身份管理器负责验证这个Authentication认证成功后,AuthenticationManager身份管理器返回一个被填充满了信息的(包括上面提原创 2021-11-06 23:32:18 · 327 阅读 · 0 评论 -
SpringSecurity原理剖析及其实战(三)
SpringSecurity原理剖析及其实战(三)1、自定义登录页面1、自定义登录页面默认登录页面通过DefaultLoginPageGeneratingFilter#generateLoginPageHtml生成编写登录页面默认登录页面通过<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title>&原创 2021-11-06 16:07:20 · 1089 阅读 · 0 评论 -
SpringSecurity原理剖析及其实战(二)
1.Spring Security整合数据库认证服务器Spring security整合数据库认证本人这边所使用的技术栈如下:技术描述mybatis持久层mybatis-plusMyBatis (opens new window) 的增强工具hutooljava工具类库lombok一种 Java™ 实用工具EasyCode代码生成器后面的整合oauth2、jwt中也会大量以上技术,包括最后整套Spring Cloud Alibaba - vue原创 2021-11-02 18:08:24 · 322 阅读 · 0 评论 -
SpringSecurity原理剖析及其实战(一)
FROM 《Spring Security 官网》Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications. Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。它是用于保护基于 Spring 的 应用程原创 2021-10-30 19:43:26 · 886 阅读 · 4 评论 -
根据日期分组查询数组列表
根据日期分组查询数组列表serviceImplmapper.javaxmlcontrollerserviceMap<String,List<UmsBrowse>> getMemberBrowse();Impl @Override public Map<String, List<UmsBrowse>> getMemberBrowse() { //获取登录用户信息 MemberInfo memberInfo = M原创 2021-05-17 10:53:06 · 201 阅读 · 0 评论 -
Java语言特点
1、1.1 Java语言与C/C++的区别Java是由C++发展而来的,保留了C++的大部分内容,其编程方式也类似于C。但Java的句法更清晰、规模更小、更易学。SUN公司对多种程序设计语言进行了深入研究。摒弃了其它语言的不足之处,最终开发出了Java。正因为这样,Java从根本上解决了C++的固有缺陷,形成了一种新的完全面向对象的语言。Java和C/C++的相似之处多于不同之处,有C/C++...原创 2019-06-10 13:47:57 · 7476 阅读 · 0 评论 -
Java语言的发展史
对于Java语言的发展史有两种说法:1、由JamesGosling(詹姆斯.高斯林)、ArthurVanHoff(阿瑟.凡.霍夫)AndyBechtolsheim(安迪.贝克托克姆)或“JustAnottherVagueAcronym”(只是另外一个含糊的缩写)。2、由于出于对咖啡的喜爱,所以以Java咖啡来命名。类文件的前四个字节如果用十六进制阅读的话,分别为CAFEBABE,就会拼出两个...原创 2019-05-28 18:49:21 · 288 阅读 · 0 评论 -
传统IO与NIO的一点心得
package io;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class TraditionalSocketDemo { public原创 2019-05-27 19:11:59 · 123 阅读 · 0 评论