学习历程
文章平均质量分 52
110010100
发量是检验技术的唯一标准
展开
-
Caused by: java.sql.SQLException: connection holder is null
离职同事写了一个定时任务保存历史数据的时候,数据太多查询完再循环插入,请求接口超过半个小时报错原因:数据库连接超过了removeAbandonedTimeout规定的时间没有主动关闭,连接池启用自我保护机制把连接关了,当程序再使用这个连接就报错了。解决方案:加上验证数据库服务可用性的sql.用来检测连接是否有效的sql...原创 2022-02-24 15:24:19 · 1312 阅读 · 0 评论 -
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 · 354 阅读 · 0 评论 -
深入理解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 · 218 阅读 · 0 评论 -
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 · 868 阅读 · 0 评论 -
线程、进程的区别,多线程的四种实现方式以及其优缺点总结,四种方式的简单实现代码小demo
进程:电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的。线程:进程想要执行任务就需要依赖线程。换句话说,就是进程中的最小执行单位就是线程,并且一个进程中至少有一个线程。那什么是多线程?提到多线程这里要说两个概念,就是串行和并行,搞清楚这个,我们才能更好地理解多线程。串行,其实是相对于单条线程来执行多个任务来说的,我们就拿下载文件来举个例子:当我们下载多个文件时,在串行中它是按照一定的顺序去进行下载的,也就是说,必须等下载完A之后才能开始下载B,它们在时间上是不可原创 2021-07-22 15:19:38 · 511 阅读 · 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 · 561 阅读 · 0 评论 -
接收前端传到后台的参数,类型: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 · 8183 阅读 · 0 评论 -
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 · 10069 阅读 · 44 评论 -
初识Maven
maven的简介Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。maven的作用在今天的 JavaEE 开发领域,有大量的第三方框架和工具可以供我们使用。要使用这些...原创 2020-05-02 20:02:24 · 147 阅读 · 0 评论 -
SpringMVC过滤器HiddenHttpMethodFilter
一般在我们对数据库的操作有四种,查询,新增,删除,更改四种类型。对应HTTP协议中四类请求:GET,POST,DELETE,PUT。但是在form标签中只有两种请求分别是:GET,POST浏览器默认使用的是GET方法。普通的浏览器只支持GET、POST请求。如需要用到DELETE,PUT的话就需要在配置文件中配置过滤器HiddenHttpMethodFilter代码如下:<filte...原创 2020-04-25 15:47:16 · 263 阅读 · 0 评论 -
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 · 1047 阅读 · 0 评论 -
SpringMVC静态资源加载不出来的配置以及原因,${pageContext.servletContext.contextPath }使用
在使用SSM框架做web开发时,遇到SpringMVC拦截了静态资源(如js,css,img等文件),导致jsp页面在浏览器上不能正常显示。SpringMVC默认拦截了所有的请求,静态资源也是一个请求,所以会被拦截。导致访问不了。如果需要对以上的静态js文件进行访问。在springmvc.xml中配置加载静态资源:<!-- 静态资源解析 包括 :js、css、img...原创 2020-04-24 16:26:54 · 2310 阅读 · 0 评论 -
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 · 259 阅读 · 0 评论 -
MyBatis动态SQL、OGNL、多条件查询以及批量操作
什么是mybatis动态SQL?MyBatis 的强大特性之一便是它的动态 SQL。动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多元素需要花时间了解。MyBatis 3 大大精简了元素种类,现在只需学习原来一半的元素便可。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。OGNL是啥?OGNL的全称是...原创 2020-04-10 19:47:22 · 474 阅读 · 0 评论 -
MyBatis获取参数值的两种方式#{}、${}以及两者之间的区别
首先我们知道MyBatis是对JDBC的封装,所以这两种传值的方式还要从底层的JDBC说起。#{}实际上是封装了问号占位符赋值的方式,会使用JDBC中的PreparedStatement,变量处用**?**号代替,防止SQL注入。$ {}是直接拼接到sql语句中,使用的是JDBC的 Statement,值没有任何修饰,存在 sql注入风险。(在使用的过程中需要注意单引号的问题)项目中 用 #...原创 2020-04-09 15:45:24 · 1085 阅读 · 0 评论 -
简单的数据结构与算法之稀疏数组的了解与使用(通过五子棋来示例,入门程序)
首先来举个栗子,来说明一下稀疏数组是什么。玩五子棋的时候我们需要存档,假如是11*11的五子棋布局。我们要对如下战况进行存档我们先想一下如果用二维数组把它存起来是不是需要用到一个11行11列的数组呢。答案肯定是毫无疑问了。想一下如果用我们用chessArr[11][11] 这样的数组是不是很浪费资源呢,因为我们只需要存黑子第二行第三列也就是chessArr[1][2]和蓝子第三行第四列ch...原创 2020-04-06 14:01:36 · 205 阅读 · 0 评论 -
了解AJAX的作用以及如何使用(入门程序)
标题AJAXAJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法,是指一种创建交互式网页应用的网页开发技术。传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。作用:AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。...原创 2019-12-23 17:53:38 · 307 阅读 · 0 评论 -
了解控制反转IoC
控制反转IoC控制反转(Inversion of Control)在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取所需要的资源,在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式,增加了学习成本,同时降低了开发效率。控制反转就是以前如果你需要吃饭就需要去买菜,现在可以直接吃了。就是通过Spring来配置bean。2.1.3 IOC容器在Spring中的实...原创 2020-03-19 11:16:34 · 91 阅读 · 0 评论 -
Spring环境搭建入门,hello world
Spring环境搭建1、 导入jar包2、 约束贴上去通过set方法创建对象注意:如果类中有带参数的构造方法则需要再创建一个无参的构造方法创建对象的三种方法通过构造方法创建无参:默认就是无参有参:需要明确配置1需要在类中提供有参的构造方法2在xml中设置调用哪个构造方法创建对象1.1如果设定的条件匹配多个构造方法则调用最后一个index:构造方法中参数的下标ref:...原创 2020-03-19 11:02:06 · 128 阅读 · 0 评论