自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 @Conditional注解

@Conditional以及其衍生注解的使用

2024-02-22 21:06:33 390

原创 java8新特性-日期类

LocalDateTime(日期和时间),LocalDate(日期),LocalTime(时间)

2024-01-07 19:23:05 1046

原创 Comparable和Comparator的使用详解

在实际业务开发中,常常看到使用compareTo,compare方法进行值得比较、排序,compareTo方法来自于Comparable接口,而compare方法则来自于Comparator接口,两个接口都是顶层接口。Comparable翻译为中文是“比较”的意思,而Comparator是“比较器”的意思。Comparable是以-able结尾的,表示它自身具备着某种能力,而Comparator是以-or结尾,表示自身是比较的参与者。虽然Comparable和Comparator都是用来进行元素排序的,但二

2023-12-22 17:59:14 923

原创 Optional优雅处理空指针

使用Optional优雅解决业务中常见空指针异常

2023-07-06 16:11:05 241

原创 锁表分析及解决方案

数据库发生死锁的分析及解决

2023-06-08 13:34:41 1418

原创 java内置四大核心函数式接口

使用理解java四大核心函数式接口

2023-06-08 09:28:51 283 1

原创 linux命令查看开发日志信息

开发中排查开发日志常用命令

2023-04-25 11:01:12 321 1

原创 SpringBoot配置类和配置文件

理解使用配置类和配置文件关系,以及在企业中如何运用

2023-02-06 09:58:30 409

原创 java开发规范指南

java开发中需注意的规范问题

2023-01-03 14:10:14 176

原创 Java8中的Stream流式运算大全实战

实战Stream流式运算 实例

2022-10-22 17:51:56 763

原创 MybatisPlus中Service和Mapper的CRUD对比

Service和Mapper中的CRUD对比

2022-08-16 20:10:42 1422

原创 区分一级二级索引,索引失效情况

区分一级索引和二级索引,了解索引失效情况

2022-07-17 18:25:12 1638

原创 SSM框架整合

简单搭建SSM框架

2022-06-22 19:37:37 111

原创 JWT学习运用

系统认证方式session认证​ http协议由于本身是无状态的协议,那就意味着当有用户向系统使用账户名称和密码进行用户认证之后,下一次请求还要再一次用户认证才行。因为我们不能通过http协议知道是哪个用户发出的请求,所以如果要知道是哪个用户发出的请求,那就需要在服务器保存一份用户信息(保存至session),然后在认证成功后返回cookie值传递给浏览器,那么用户在下一次请求时就可以带上cookie值,服务器就可以识别是哪个用户发送的请求,是否已认证,是否登录过期等等。这就是传统的ses

2022-05-28 18:39:23 145

原创 学习Zookeeper分布式协调服务

文章目录Zookeeper初步认识Zookeeper介绍Zookeeper原理Zookeeper的特性分布式应用的优点分布式应用的挑战安装下载Zookeeper解读配置参数操作命令内部的数据模型znode的结构zonde节点类型持久节点持久序号节点临时节点临时序号节点Container节点TTL节点zk的数据持久化Zookeeper服务端的使用ZooKeeper客户端的使用创建节点查询节点删除节点权限设置监听器原理实战搭建zk集群ZK四种工作状态LOOKINGFOLLOWINGLEADINGOBSERVIN

2022-04-18 13:12:34 879

原创 Vue框架的学习与使用

文章目录VUE简介前端为主的MV时代双向绑定787原则Vue的7种属性Vue的8种方法Vue的7种指令条件与循环元素绑定绑定事件Vue组件与自定义元素的关系Vue的生命周期Axios异步通信Vue的计算属性Vue缩写v-bind 缩写v-on 缩写插槽slot背景匿名插槽具名插槽自定义事件事件名自定义组件的 v-model将原生事件绑定到组件.sync 修饰符splice()方法VUE简介Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue

2022-04-15 18:15:37 2547

原创 SpringCloud运用与理解

文章目录SpringCloud介绍优缺点SpringCloud和SpringBoot关系SpringCloud和Dubbo的区别SpringCloud作用SpringCluod的五大组件引入组件的步骤SpringCloud核心组件的业务运用EurekaEureka ClientEureka Server客服端与服务端的链接Eureka的自我保护机制EurekaServer集群Eureka与zookeeper比较RibbonFeignHystrix问题背景解决方案服务熔断概念实现服务降级概念实现熔断与服务降级

2022-04-05 17:39:19 1914 1

原创 SpringBoot深入理解运用

文章目录SpringBoot的优缺点SpringBoot四大核心idea生成springboot项目properties文件多环境配下的配置文件SpringBoot自定义配置简单数值映射对象去除红色警告整合JSP逆向工程1.什么是逆向工程2 下载逆向工程中需要的jar3 使用方法3.1 通过java project运行逆向工程3.2通过maven方式运行逆向生成的xml解析整合Mybatis事务支持Mapper配置文件存放的位置常用注解:@Controller@RequestMapping(value="/

2022-04-02 00:26:37 1327

原创 分布式架构体系知识

文章目录高并发下的分布式系统分布式缓存为什么要使用缓存redis集群主从模式切片模式缓存穿透浅谈布隆算法缓存击穿缓存雪崩分布式微服务单体应用微服务微服务架构分布式服务分布式锁实现方法两大类分布式锁第一类第二类分布式事务2PC协调者故障分析协调者故障,通过选举得到新协调者3PCTCC本地消息表消息事务最大努力通知总结三秒规则高并发下的分布式系统分布式缓存先提出两种数据库:memcache redis原来做分布式缓存使用的是memcache,现在迁移使用redis完成分布式开发原因:memcac

2022-03-28 22:57:23 1457

原创 深入Redis

Redis前言REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、**集合

2022-03-19 18:08:11 881

原创 深入JUC(高并发编程)

文章目录JUC背景JUC的结构Lock锁线程之间的通信问题synchronized实现JUC实现并发集合第一代并发第二代并发第三代并发Callable接口常见工具类CountDownLatchCyclicBarrierSemaphore读写锁(ReadWriteLock)阻塞队列线程池三大方法CachedThreadPoolSingleThreadPoolFixedThreadPool七大参数四种拒绝策略1.AbortPolicy2.CallerRunsPolicy3.DiscardOldestPolicy

2022-03-17 22:24:42 2999

原创 JVM(含JVM调优)

文章目录前言JVM学习资料网站JVM位置javap命令Class文件结构class文件数据结构魔数版本号JDK、JRE、JVM的关系JVM的体系结构类加载器生命周期运行时数据区:(内存模型)方法区(Method Area)堆(heap)Java栈(Java Stack,也叫虚拟栈)本地方法栈(Native Method Stack)程序计数器(Program Counter Register)执行引擎(字节码执行引擎)本地方法接口本地方法库Native双亲委派机制GC回收JVM调优前言​ JVM是

2022-03-05 23:21:47 409

原创 SpringMVC框架

文章目录SpringMVCMVC设计模式JSP+JavaBeanServlet+JSP+JavaBeanMVC优缺点优点缺点什么是SpringMVCSpring MVC优点第一个SpringMVC程序Spring MVC和Struts2的区别Spring MVC视图解析器(ViewResolver)URLBasedViewResolverInternalResourceViewResolverFreeMarkerViewResolverSpring MVC执行流程Spring MVC接口Spring MVC

2022-03-03 22:26:41 4044

原创 Mybatis框架

文章目录MyBatis学习安装MybatisMaven引入MyBatis项目常用的依赖Mybatis使用一、从 XML 中构建 SqlSessionFactory二、从 SqlSessionFactory 中获取 SqlSession出现SqlSessionFactory为null情况配置文件找不到情况实现增删查改mapper传入参数选择Map集合XMl配置属性(properties)设置(setting)类型别名(typeAliases)环境配置(environments)映射器(mappers)日志ST

2022-03-03 22:24:57 777

原创 Spring学习

文章目录JavaSpring学习下载Spring:Spring导入Spring的优点:Spring中文文档Spring组成SPring IOC容器理论1.1、IoC能做什么1.2、IoC和DI2.1、IoC(控制反转)2.2、DI(依赖注入)spring使用⒉.假设我们要使用有参构造创建对象。方法注入(set注入)查找方法注入任意方法替换Spring配置依赖注入bean的作用域单例 ,原型,请求,会话,全局会话,应用程序和 WebSocket 范围bean的自动装配自动装配的局限性和缺点从自动装配中排除 b

2022-03-03 22:22:01 660 1

原创 Java集合框架详解(源码详解)

文章目录java集合框架Collection接口常见方法方法详细信息及其使用迭代器Iteratorfor循环与增强for循环遍历手写集合的冒泡排序List接口ArrayListArrayList介绍构造方法扩容机制源码分析VectorVector与ArrayList比较常用操作Vector扩容机制核心源码LinkedList源码分析LinkList踩坑性能分析Set集合HashSet分析HashSet简单模拟数组+链表底层实现添加元素 的基本步骤LinkedHashSet说明源码分析TreeSetQueue

2022-02-26 20:12:30 903

原创 IO流详解

IO流BIO/NIO/AIO简单区别BIO(同步阻塞方式)BIO就是传统的java.io包,他是基于流模型实现的,交互的方式是同步、阻塞方式,也就是说在读入输入流或者输出流时,在读写动作完成之前线程会一直处于阻塞状态。优点:代码简单,直观缺点:IO的效率和扩展性低,容易成为应用性能的瓶颈。NIO(同步非阻塞IO)NIO是java1.4引入的java.nio包,提供了Channel、Selector、Buffer等新的抽象类,可以构建多路复用的,同步非阻塞IO程序,同时提供了更新近操作系统底层高

2021-11-06 21:53:32 1466 1

原创 Git学习

Git学习文档:https://git-scm.com/book/zh/v2版本控制关于版本控制版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 在所展示的例子中,我们对保存着软件源代码的文件作版本控制,但实际上,你可以对任何类型的文件进行版本控制。如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能),采用版本控制系统(VCS)是个明智的选择。 有了它你就可以将选定的文件回溯到之前的状态,甚至将整个项目都

2021-11-06 21:52:50 239

原创 Maven(idea)

Maven学习背景:当我们编写Java项目时,需要导入项目所依赖的jar包,比如连接数据库时,需要jdbc的jar包。当项目所需要的jar多时,会给项目管理带来困难,但会给项目后期维护带来困难,我们急切的需要一种工具帮我们管理我们的jar包!!!安装:配置环境:配置settings文件:映射配置(使用阿里云镜像) <mirrors> <!-- mirror | Specifies a repository mirror site to use instea

2021-11-06 21:52:00 140

原创 常见的设计模型

设计模型前言:在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 的书。四位作者合称 GOF(四人帮,全拼 Gang of Four)。他们所提出的设计模式主要是基于以下的面向对象设计原则。对接口编程而不是对实现编程

2021-11-06 21:49:37 829

原创 注解与反射

注解(Annotation)前言:从JDK5开始,Java增加对元数据(描述数据属性的信息)的支持,也就是注解,注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息什么是注解JDK5开始引入注解技术,即java增加了对元数据(描述数据属性的信息)的支持。作用不是程序本身,可以对程序作出解释.(这一点和注释(comment)没什么区别)可以被其他程序(

2021-11-06 21:45:12 71

原创 线程/线程池详解

线程详解区分进程(Process)线程(Thread)说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的的单位。进程是操作系统资源分配的最小单元,线程是任务调度和执行的基本单位。(根本区别)包含关系:每个进程至少有一个线程,主线程。进程中可以创建多个线程。

2021-09-09 10:35:14 200

原创 markdown语法学习

MarkDown学习-???? 标题一级标题:# +空格二级标题:## +空格三级标题:###+空格四级标题:####+空格五级标题:#####+空格六级标题:######+空格字体斜体:字体两边都加 *粗体:字体两边都加 **斜体加粗:字体两边都加 ***删除线:字体两边都加 ~~引用语法:>加文字分割线第一种: —第二种: ***图片的插入代码:!+[图片描述]+(图片路径,网络或者本地路径)超链接[链接描述]+(链接路径)锚点描述:页

2021-07-28 19:35:17 90

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除