栏目: Java

Java框架---Spring详解

一技术发展技术的创新和发展都是为了解决一类问题二框架设计SpringFramework6大模块三SpringAOP详解循环依赖问题如何处理?打破依赖/超时推出机制AOP两种方式字节码增强技术四SpringBean核心原理Bean的加载过程Bean加载过程:实例化-属性赋值-初始化-销毁五Spring...

2021-09-08 148 0 0 阅读全文

JavaWeb之会话技术案例详解

JavaWeb之会话技术会话技术1.会话:一次会话中包含多次请求和响应。一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止2.功能:在一次会话的范围内的多次请求间,共享数据3.方式:1.客户端会话技术:Cookie2.服务器端会话技术:SessionCookie:1. 概念:客...

2021-07-30 115 0 0 阅读全文

LibrarySystem图书管理系统

SSM搭建过程:一般idea创建工程的过程打开idea--->File--->new--->project--->maven--->createfromarchetype--->maven-archetype-webapp--->接下来一般默认即可最后在ma...

2021-06-16 170 0 0 阅读全文

Java File类的简单使用教程(创建、删除、遍历与判断是否存在等)

Java文件类以抽象的方式代表文件名和目录路径名。该类本身不能用来读数据或写数据,它主要用于磁盘上文件和目录的创建、文件的查找和文件的删除。做一些非读写方面的工作,比如看看文件是否存在、是否可读写及遍历文件目录等等。要想读写数据,必须和其它io流的类配合使用,比如FileInputStream、Fi...

2021-04-08 136 0 0 阅读全文

WebSocket实现聊天室业务

页面效果图pom.xml主要是spring-boot-starter-websocket包,websocket连接、发送信息。org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-star...

2021-05-26 136 0 0 阅读全文

浅谈Spring如何解决循环依赖的问题

在关于Spring的面试中,我们经常会被问到一个问题,就是Spring是如何解决循环依赖的问题的。这个问题算是关于Spring的一个高频面试题,因为如果不刻意研读,相信即使读过源码,面试者也不一定能够一下子思考出个中奥秘。本文主要针对这个问题,从源码的角度对其实现原理进行讲解。1.过程演示关于Spr...

2021-04-27 137 0 0 阅读全文

MyBatis-Plus+Druid配置及应用详解

Mybatis-Plus的配置1.Maven插件velocity-engine-core是mybatis-plus自动生成代码所依赖的模板(不用自动生成代码功能可不用)com.baomidoumybatis-plus-boot-starter3.0.6org.apache.velocityveloc...

2021-04-18 146 0 0 阅读全文

Spring源码分析:Bean的创建-CreateBeanInstance

一、本文是笔者阅读Spring源码的记录文章,由于本人技术水平有限,在文章中难免出现错误,如有发现,感谢各位指正。在阅读过程中也创建了一些衍生文章,衍生文章的意义是因为自己在看源码的过程中,部分知识点并不了解或者对某些知识点产生了兴趣,所以为了更好的阅读源码,所以开设了衍生篇的文章来更好的对这些知识...

2021-06-17 170 0 0 阅读全文

SpringBoot2.0 中 HikariCP 数据库连接池原理解析

作为后台服务开发,在日常工作中我们天天都在跟数据库打交道,一直在进行各种CRUD操作,都会使用到数据库连接池。按照发展历程,业界知名的数据库连接池有以下几种:c3p0、DBCP、TomcatJDBCConnectionPool、Druid等,不过最近最火的是HiKariCP。HiKariCP号称是业...

2021-03-29 134 0 0 阅读全文

Lambda表达式最佳实践(2)Stream与ParallelStream

Stream是Java8新引入的API,有着广泛的运用创建一个StreamStream创建之后,就不能修改创建一个空的StreamStreamstreamEmpty=Stream.empty();一般的,我们用如下这种写法避免空指针异常publicStreamstreamOf(Listlist){r...

2021-07-30 202 0 0 阅读全文

Java多线程之Future和FutureTask使用实例

Executor框架使用Runnable作为其基本的任务表示形式。Runnable是一种有局限性的抽象,然后可以写入日志,或者共享的数据结构,但是他不能返回一个值。许多任务实际上都是存在延迟计算的:执行数据库查询,从网络上获取资源,或者某个复杂耗时的计算。对于这种任务,Callable是一个更好的抽...

2021-05-15 125 0 0 阅读全文

Spring 源码分析:Lookup-Method和Replaced-Method

一、本文是Spring源码分析:Spring源码分析:Bean的获取-GetSingleton的衍生文章。主要是因为本人菜鸡,在分析源码的过程中还有一些其他的内容不理解,故开设衍生篇来完善内容以学习。二、基本使用1.作用lookup-method:用于注入方法返回结果,也就是说能通过配置方式替换方法...

2021-06-17 140 0 0 阅读全文

Idea项目文件夹横向显示,纵向显示的解决方法

昨天装了IDEA,版本为IntelliJIDEA2020.1.1x64打开之后出现了下图中的问题解决步骤很简单1.先关闭IDEA2.删除项目文件夹下的.idea文件夹3.再重新打开IDEA,重新打开项目这样就既有文件夹的横向显示,也有纵向显示啦

2021-05-20 217 0 0 阅读全文

Spring Cloud Gateway 获取请求体(Request Body)的多种方法

一、直接在全局拦截器中获取,伪代码如下privateStringresolveBodyFromRequest(ServerHttpRequestserverHttpRequest){Fluxbody=serverHttpRequest.getBody();AtomicReferencebodyRef...

2021-04-05 164 0 0 阅读全文

Java中断异常的正确处理方法

处理InterruptedException这个故事可能很熟悉:你正在写一个测试程序,你需要暂停某个线程一段时间,所以你调用Thread.sleep()。然后编译器或IDE就会抱怨说InterruptedException没有抛出声明或捕获。什么是InterruptedException,你为什么要...

2021-04-27 140 0 0 阅读全文

SpringBoot清除字符串前后空格与防Xss攻击方法

一、查看WebMvcAutoConfiguration.class中的方法源码:protectedConfigurableWebBindingInitializergetConfigurableWebBindingInitializer(){try{//从容器中获取return(Configurab...

2021-09-13 146 0 0 阅读全文

Gradle的使用教程详解

一、相关介绍Gradle是一个好用的构建工具,使用它的原因是:配置相关依赖代码量少,不会像maven一样xml过多打包编译测试发布都有,而且使用起来方便利用自定义的任务可以完成自己想要的功能二、安装下载地址http://services.gradle.org/distributions,下载你所需要...

2021-05-15 132 0 0 阅读全文

Spring BeanPostProcessor : AutowiredAnnotationBeanPostProcessor

概述该BeanPostProcessor为每个bean进行属性自动装配。这里支持的自动装配注解有:@Autowired@Value@Inject(JSR-330)–仅在@Inject类存在于classpath的情况才支持它Springboot应用中,ApplicationContext创建时也会通过...

2021-06-17 173 0 0 阅读全文

Mybatis-Plus使用TableNameHandler分表详解(附完整示例源码)

为什么要分表Mysql是当前互联网系统中使用非常广泛的关系数据库,具有ACID的特性。但是mysql的单表性能会受到表中数据量的限制,主要原因是B+树索引过大导致查询时索引无法全部加载到内存。读取磁盘的次数变多,而磁盘的每次读取对性能都有很大的影响。这时一个简单可行的方案就是分表(当然土豪也可以堆硬...

2021-03-29 160 0 0 阅读全文

用JAVA实现单链表,检测字符串是否是回文串

一.需求使用JAVA实现单链表,使用单链表检测字符串是否是回文串二.需求分析回文串最重要的就是对称,那么最重要的问题就是找到那个中心,用快指针每步走两格,当他到达链表末端的时候,慢指针刚好到达中心,慢指针在遍历过程中(快指针到达末端时)把走过的节点进行反向操作,此时从中位点分为前后两部分,此时前半部...

2021-04-13 146 0 0 阅读全文