自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java创建线程池和线程池的七个核心参数

线程池的工作流程是:当一个任务被提交到线程池时,线程池会根据当前的线程数量和工作队列的状态来决定如何处理这个任务。如果当前运行的线程数量小于,则创建新线程执行任务;如果大于等于,则将任务放入工作队列;如果工作队列已满,且运行的线程数量小于,则创建新线程执行任务;如果线程数量等于,则应用拒绝策略。

2024-10-11 21:57:26 980

原创 MySQL调优、索引是什么、如何创建索引、索引的作用、索引失效场景

索引是一种数据结构。用于加快对数据库的查询速度以及性能。MySQL 索引类似于书籍的索引,通过存储指向数据行的指针,可以快速定位和访问表中的特定数据。打个比方,如果合理的设计且使用索引的 MySQL 是一辆兰博基尼的话,那么没有设计和使用索引的 MySQL 就是一个人力三轮车。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。

2024-10-09 16:38:37 978

原创 linux环境下安装运行环境JDK、Docker、Maven、MySQL、RabbitMQ、Redis、nacos、Elasticsearch

按Esc后再 :wq 保存退出。然后使用下面命令进行解压。

2024-03-13 14:11:17 563 1

原创 使用sunny-Ngrok免费实现内网穿透

注册成功之后,登录系统,进行实名认证,认证费两元。认证通过后才能开通隧道。复制隧道管理中的隧道id粘贴到cmd窗口。connecting表示连接中。选择windows版本下载。成功后的状态为online。

2024-03-11 16:05:04 893

原创 使用分布式锁解决分布式环境下的并发安全问题

在我们进行单机应用开发,涉及并发同步的时候,我们往往采用synchronized或者Lock的方式来解决多线程间的代码同步问题,这时多线程的运行都是在同一个JVM之下。但当我们的应用是分布式集群工作的情况下,属于多JVM下的工作环境,JVM之间已经无法通过多线程的锁解决同步问题。那么就需要一种更加高级的锁机制,来处理种跨机器的进程之间的数据同步问题——这就是分布式锁。分布式锁在分布式的部署环境下,通过锁机制来让多客户端互斥的对共享资源进行访问。

2024-02-29 14:53:12 1159

原创 使用代码生成器生成代码 mybatis-plus-generator

运行上面这个程序即可。

2023-12-26 12:00:50 527

原创 Caused by: java.sql.SQLException: connection holder is null

离职同事写了一个定时任务保存历史数据的时候,数据太多查询完再循环插入,请求接口超过半个小时报错原因:数据库连接超过了removeAbandonedTimeout规定的时间没有主动关闭,连接池启用自我保护机制把连接关了,当程序再使用这个连接就报错了。解决方案:加上验证数据库服务可用性的sql.用来检测连接是否有效的sql...

2022-02-24 15:24:19 1347

原创 Method breakpoints may dramatically slow down debugging,Main: Failed to retrieve application JMX ser

1、Main: Failed to retrieve application JMX service URL2、Method breakpoints may dramatically slow down debugging之前启动SpringBoot项目的时候报这两个错,项目启动不起来,我以为我环境有问题,结果是因为断点打在了方法上。。。。去掉这个断点就可以启动成功了。如果不知道自己有没有打断点,可以直接点击下面的按钮(黄色框框框出来的这个)下面就是你打的断点,勾掉就好了...

2022-02-19 14:22:12 379

原创 深入理解Java:注解(Annotation)自定义注解入门。。解读公司自定义注解。。

1、注解的概念1、1 注解官方解释:An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Annotations have no direct effect on the operation of the code they annotate.以上翻译成中文:

2022-02-10 11:27:08 228

原创 BigDecimal的加减乘除运算,以及一些常用方法stripTrailingZeros()...&&大小比较&&踩坑之路。。。。

四则运算法则 BigDecimal b1 = new BigDecimal(1); BigDecimal b2 = new BigDecimal(2);操作公式加法b1.add(b2)减法b1.subtract(b2)乘法b1.multiply(b2)除法b1.divide(b2)加法add() //创建一个 BigDecimal b1 = new BigDecimal(1); BigDecima

2022-02-09 11:39:43 890

原创 线程、进程的区别,多线程的四种实现方式以及其优缺点总结,四种方式的简单实现代码小demo

进程:电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的。线程:进程想要执行任务就需要依赖线程。换句话说,就是进程中的最小执行单位就是线程,并且一个进程中至少有一个线程。那什么是多线程?提到多线程这里要说两个概念,就是串行和并行,搞清楚这个,我们才能更好地理解多线程。串行,其实是相对于单条线程来执行多个任务来说的,我们就拿下载文件来举个例子:当我们下载多个文件时,在串行中它是按照一定的顺序去进行下载的,也就是说,必须等下载完A之后才能开始下载B,它们在时间上是不可

2021-07-22 15:19:38 542 2

原创 JSR303验证接口参数是否符合规范@NotNull、@NotBlank、@NotEmpty等,信用卡、邮箱、小数点验证

1、空检查@Null 元素必须为null@NotNull 无法检查长度为0的字符串@NotEmpty 检查约束的元素是否为null或者empty@NotBlank 只对字符串,会去掉前后的空格2、Boolean检查@AssertTrue 验证Boolean对象是否为true@AssertFalse 验证Boolean对象是否为false3、长度检查@Size(min = , max = ) 验证对象(Array,Collection,Map,String)长度是否在指定的范围

2021-03-10 15:22:56 603

原创 接收前端传到后台的参数,类型:BigDecimal、String、Integer、Long等,效验接收的参数是否超过几位小数点——通过截取字符串做效验

1、接收前端传参类型:BigDecimal、Integer、Long2、将BigDecimal类型转化为String类型(其他类型也要转化为String类型进行截取) BigDecimal b = new BigDecimal("1.222222"); String s = String.valueOf(b);3、获取字符串“.”所在的下标数int i = s.indexOf(".");4、截取"."后面所有的字符的长度String ba = s.substring(i+1

2021-03-06 10:05:55 8434

原创 人人开源逆向工程生成代码步骤

在公司空闲时间学习谷粒商城电商项目的时候写的代码,放到了年假的时候来记录一下,可能有些步骤忘记啦。我尽力一步一步还原。1、逆向工程搭建将人人开源的官方代码拷贝下来git clone https://gitee.com/renrenio/renren-generator.git下载后,删除掉里面的.git文件,配置pom.xml<modules> <module>gulimall-coupon</module> <module>gulimal

2021-02-15 16:08:51 521

原创 java.lang.AbstractMethodError: org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.cho

java.lang.AbstractMethodError: org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose(Ljava/lang/String;Lorg/springframework/cloud/client/loadbalancer/Request;)Lorg/springframework/cloud/client/ServiceInstance; at org.springframework.clo

2021-02-01 11:07:11 10206 44

原创 MP实现插入、更新数据时公共字段自动填充MetaObjectHandler、@TableField

公共字段自动填充元数据处理接口com.baomidou.mybatisplus.mapper.MetaObjectHandlerinsertFill(MetaObject metaObject)updateFill(MetaObject metaObject)metaobject: 元对象. 是 Mybatis 提供的一个用于更加方便,更加优雅的访问对象的属性, 给对象的属性设置值 的一个对象. 还会用于包装对象. 支持对 Object 、Map、Collection 等对象进行包装

2020-06-19 10:44:22 2744

原创 MyBatis Plus自定义全局操作、AutoSqlInjector、逻辑删除

自定义全局操作根据 MybatisPlus 的 AutoSqlInjector 可以自定义各种你想要的 sql ,注入到全局中,相当于自 定义 Mybatisplus 自动注入的方法。之前需要在 xml 中进行配置的 SQL 语句,现在通过扩展 AutoSqlInjector 在加载 mybatis 环境 时就注入。8.1 AutoSqlInjector在 Mapper 接口中定义相关的 CRUD 方法2) 扩展 AutoSqlInjector inject 方法,实现 Mapper

2020-06-19 10:40:12 2384 4

原创 MyBatis Plus的分页插件、执行分析插件、性能分析插件、乐观锁

分页插件在applicationContext.xml的spring与MaBatis整合的SqlSessionFactoryBean中配置一个属性1)com.baomidou.mybatisplus.plugins.PaginationInterceptor编写测试类ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); EmployeeMapper employeeMa

2020-06-18 21:24:08 906

原创 MP代码生成器Velocity、实体类(可以选择是否支持AR)、Mapper接口、Mapper映射文件、service层、controller层

代码生成器MP提供了大量的自定义设置MP代码生成器和MyBatis MBG代码生成器:MP的代码生成器都是基于JAVA代码来生成的。MBG则是基于xml来生成的。MBG可生成:实体类、mapper接口、mapper映射文件MP可生成:实体类(可以选择是否支持AR)、Mapper接口、Mapper映射文件service层、controller层导入依赖<!--apache Velocity--> <dependency> <groupId>org

2020-06-16 17:48:48 482

原创 入门MyBatis Plus、集成MP、使用MP、使用MP进行CRUD、ActiveRecord活动记录、条件构造器

MyBatis Plus简介MyBatis Plus 是基于MyBatis的基础上对MyBatis的增强的工具简化开发,提高效率。其实就是对CRUD的封装,不需要写xml文件,直接调用其方法就可以了。代码及文档发布地址官方地址: http://mp.baomidou.com代码发布地址:​ Github: https://github.com/baomidou/mybatis-plus​ Gitee: https://gitee.com/baomidou/mybatis-plus

2020-06-14 16:07:23 659

原创 SpringBoot进行WEB开发、SpringBoot对静态资源的映射规则、模板引擎Thymeleaf

使用SpringBoot:1)、创建SpringBoot应用,选择我们所需要的模块2)、SpringBoot已经默认将这些场景布置好了,我们只需要在配置文件中进行少量配置,就可以使其运行起来了。3)、编写业务逻辑代码SpringBoot对静态资源的映射规则@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)public class ResourceProperties implemen

2020-06-04 21:15:21 216

原创 Spring Boot的自动配置原理

SpringBoot的核心就是自动配置,关于自动配置的源码在spring-boot-autoconfigure-2.2.7.RELEASE.jarSpringBoot启动的时候加载主配置类(@SpringBootApplication),开启了自动配置功能@EnableAutoConfiguration@EnableAutoConfiguration的作用利用AutoConfigurationImportSelector给容器中导入一些组件类路径下的META-INF/spring.factori

2020-06-04 17:26:54 171

原创 使用Eclipse快速创建SpringBoot 项目,YML语法、配置文件注入值、、配置文件占位符、Profile

我们只需要选择需要用到的模板,向导会联网创建Spring Boot项目默认生成的Spring Boot项目主程序resources文件夹中的目录结构static:保存所有的静态资源:js、css、imagestemplates:保存所有的模板页面(Spring Boot默认jar包使用嵌入式的tomcat,默认不支持JSP页面);可以使用模板引擎(freemaker,thymeleaf);application.properties:Spring Boot配置的默认文件,可以修改一些默认设置

2020-05-17 09:49:37 1296

原创 SpringBoot入门程序Hello World、创建maven项目

什么是springbootSpring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。spring的优点 快速创建独立运行的spring项目以及与主流框架集成 使用嵌入

2020-05-08 21:22:24 213

原创 maven项目的构建,构建的主要环节,九大核心概念POM、坐标、生命周期等等

构建构建就是以我们编写的 Java 代码、框架配置文件、国际化等其他资源文件、JSP 页 面和图片等静态资源作为“原材料”,去“生产”出一个可以运行的项目的过程。构建的主要环节:1、清理:删除以前的编译结果,为重新编译做好准备2、编译:将java源程序编译成字节码文件3、测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。4、报告:在每一次测试后以标准的格式记录和...

2020-05-03 16:37:09 492

原创 初识Maven

maven的简介Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。maven的作用在今天的 JavaEE 开发领域,有大量的第三方框架和工具可以供我们使用。要使用这些...

2020-05-02 20:02:24 154

原创 SSM框架详细整合加整合代码

SSM整合1、 导入jar包a) springb) springMVCc) mybatisd) 第三方支持包:log4j,pageHelper,AspectJ,Jackson,jstl….2、 搭建springMVCa) web.xmli. DispatcherServletSpring主要通过DispatcherServlet实现了Servlet。DispatcherServ...

2020-05-02 11:40:31 374

原创 SpringMVC中配置拦截器以及其使用方式和要点

SpringMVC的拦截器1) Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器可以实现HandlerInterceptor接口,也可以继承HandlerInterceptorAdapter 适配器类① preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行处理。如果程序员决定该拦截...

2020-04-29 10:51:43 313

原创 SpringMVC的文件上传以及下载、MultipartResolver

需要导入jar包commons-fileupload-1.2.1.jarcommons-io-2.0.jar配置文件上传解析器<!-- 解析器,将接收到客户端所上传的文件的File对象转换成MultipartFile对象 注意:文件解析器的beanid必须是multipartResolver,因为在解析的过程中底层的代码会通过getBean方法来...

2020-04-29 10:44:13 199

原创 SpringMVC测试JSON

JSP代码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert ...

2020-04-29 10:37:38 154

原创 SpringMVC过滤器HiddenHttpMethodFilter

一般在我们对数据库的操作有四种,查询,新增,删除,更改四种类型。对应HTTP协议中四类请求:GET,POST,DELETE,PUT。但是在form标签中只有两种请求分别是:GET,POST浏览器默认使用的是GET方法。普通的浏览器只支持GET、POST请求。如需要用到DELETE,PUT的话就需要在配置文件中配置过滤器HiddenHttpMethodFilter代码如下:<filte...

2020-04-25 15:47:16 280

原创 SpringMVC的表单form标签、表单回显

form标签简介srpingmvc中的form标签只是restful风格的请求访问,使用这个form标签应该保证有数据的回传,也就是说,它一出来就要展示数据的。就是所谓的回显功能。使用步骤1、引入标签库(在JSP中):<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>2、网页显示...

2020-04-25 15:20:25 1085

原创 SpringMVC静态资源加载不出来的配置以及原因,${pageContext.servletContext.contextPath }使用

在使用SSM框架做web开发时,遇到SpringMVC拦截了静态资源(如js,css,img等文件),导致jsp页面在浏览器上不能正常显示。SpringMVC默认拦截了所有的请求,静态资源也是一个请求,所以会被拦截。导致访问不了。如果需要对以上的静态js文件进行访问。在springmvc.xml中配置加载静态资源:<!-- 静态资源解析 包括 :js、css、img...

2020-04-24 16:26:54 2339

原创 SpringMVC中请求响应数据出现乱码,在web.xml中配置编码过滤器

在web.xml中配置如下过滤器:<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> ...

2020-04-24 16:01:08 275

原创 SpringMVC中的REST风格

1) REST:即 Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用① 资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个URI(统一资源定位...

2020-04-20 20:54:45 167

原创 SpringMVC处理请求数据,请求参数 cookie信息 请求头信息 ModelAndView Model…..

请求处理方法签名:1) Spring MVC 通过分析处理方法的签名(方法名+ 参数列表),HTTP请 求信息绑定到处理方法的相应形参中。2) Spring MVC 对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任何方式对方法进行签名。3) 必要时可以对方法及方法入参标注相应的注解( @PathVariable 、@RequestParam、@RequestHeader 等)、4)...

2020-04-20 20:38:03 1184

原创 SpringMVC的使用:@RequestMapping注解,映射请求参数、请求头信息、请求方法、ANT路径风格

@RequestMapping映射请求注解在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求1.在控制器的类和方法上都可以加此注解a.加在类上:提供初步的请求映射信息。相对于 WEB 应用的根目录b.加在方法上:提供进一步的细分映射信息。相对于标记在类上的 URL。注意:类上未标注 @RequestMapping,...

2020-04-19 14:55:41 611

原创 SpringMVC介绍和环境搭建以及简单新手入门程序

介绍SpringMVC1) Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的MVC 框架之一2) Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架。3)Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。4)支持 REST 风格的 URL 请求。 Restful5)采用...

2020-04-18 11:21:27 167

原创 MyBatis的缓存机制,一级缓存、二级缓存、第三方缓存

MyBatis的缓存机制缓存机制:就是将用户经常查询的数据的结果的一个保存,保存到一个内存中,用户在查询的时候就不用到数据库文件中查询,从而减少与数据库的交付次数提高了响应速度,解决了并发系统的西能问题。分类MyBatis提供了一级缓存和二级缓存默认情况下,只有一级缓存(SqlSession级别的缓存,也称为本地缓存)开启。二级缓存(全局缓存)需要手动开启和配置,他是基于mapper...

2020-04-13 11:41:47 2351

原创 MyBatis动态SQL、OGNL、多条件查询以及批量操作

什么是mybatis动态SQL?MyBatis 的强大特性之一便是它的动态 SQL。动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多元素需要花时间了解。MyBatis 3 大大精简了元素种类,现在只需学习原来一半的元素便可。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。OGNL是啥?OGNL的全称是...

2020-04-10 19:47:22 505

空空如也

空空如也

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

TA关注的人

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