自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STS4去掉Java反编译后多余的注释

CTRL + F 后填写注释的正则表达式:/\*{1,2}[\s\S]*?\*/

2024-04-28 17:15:39 148 1

转载 同步与异步 ,阻塞与非阻塞

同步就是我强依赖你(对方),我必须等到你的回复,才能做出下一步响应。即我的操作(行程)是顺序执行的,中间少了哪一步都不可以,或者说中间哪一步出错都不可以,类似于编程中程序被解释器顺序执行一样;异步则相反,我并不强依赖你,我对你响应的时间也不敏感,无论你返回还是不返回,我都能继续运行;你响应并返回了,我就继续做之前的事情,你没有响应,我就做其他的事情。所谓同步,就是在发出一个"调用"时,在没有得到结果之前,该“调用”就不返回。而异步则是相反,"调用"在发出之后,这个调用就直接返回了,所以没有返回结果。

2023-10-11 09:32:23 132

原创 框架的知识点整理

Spring框架提供了JDBC,Hibernate,JPA等技术的模板。因此,无需编写过多的代码。它隐藏了这些技术的基本步骤。让我们以JdbcTemplate为例,您无需编写代码来处理异常,创建连接,创建语句,提交事务,关闭连接等。您只需要编写执行查询的代码。这样,它节省了大量的JDBC代码。

2023-07-31 20:30:00 421

原创 get方式发送请求出现跨域问题

但同伴说他已经在后端对跨域问题进行处理了。这里可以考虑是我传参方式不对,或是后端接收参数方式不对。我把get请求改为了post请求,便没有出现问题了......我也查找了一些资料关于get请求传参的,可以直接在url上直接跟参数,也可以用params{}传。

2023-07-21 11:26:45 1134

原创 面试题:redis是单线程、StringBuffer是线程安全的

Redis单线程为啥还这么快?高并发中的集合有哪些问题?

2023-07-19 15:30:43 401

原创 MyBatisPlus

拿到版本相同的必有人操作失败,只有一个人操作成功(改变了版本)在resource目录下新建logback.xml。批量查询:selectBatchIds(list)乐观锁:(可用于小于2000的秒杀)

2023-07-19 15:27:22 397

原创 org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1

报错:org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1。现象:idea 默认的properties文件是GBK,当有中文时,不同的客户端配置的编码不同时,可能产生中文乱码。解决:修改properties的默认编码,统一为utf8。charset 这是编码问题!

2023-07-19 15:25:13 44

原创 Spring中的getBean()方法和propogation(传播机制)

当参数的数据类型是Class类型时,表示根据类型从容器中匹配Bean实例,当容器中相同类型的Bean有多个时,则此方法会报错。其中,当参数的数据类型是字符串时,表示根据Bean的id从容器中获得Bean实例,返回是Object,需要强转。表示打算对这些方法怎么使用事务,是用还是不用。propagation有七种配置。spring的propogation(传播机制)注解方式增强事务,需要在配置文件添加事务注解驱动。getBean()方法使用。用注解注入依赖,记得组件扫描。有参构造方法依赖注入。

2023-07-19 15:23:13 479

原创 Spring Boot学习

输入java -jar .\springboot-profiles-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev。提示说明没有配置springboot的自动配置注解处理器,即spring-boot-configuration-processor。解决:在pom中增加spring-boot-configuration-processor组件,状态变为正常。首先,文件没有问题。4、命令行参数方式:--spring.profiles.active=test。

2023-07-19 15:21:03 582

原创 Spring 事务控制

切点:(目标对象)业务方法;通知:(事务增强)事务控制。引入spring-tx依赖,注入context命名空间。2. 基于XML的声明式事务控制。1. 编程式事务控制相关对象。1.3 事务状态对象。1.1 平台事务管理器。1.2 事务定义对象。

2023-07-19 15:16:22 309

原创 MybatisPlus的分页插件自动优化LeftJoin语句导致参数不匹配

MybatisPlus的分页插件会自动优化LeftJoin语句,官网上说明,当LeftJoin的表没有参与Where查询时,会自动移除。分页插件在查询count(*)时直接把我的子查询中的条件参数给优化没了才导致参数匹配不上。首先会去检查自己传了哪些参数?mybatis和mybatisplus同时使用了!小伙伴说可能是我这sql语句太混乱,甚至还。但还是建议不要混用。

2023-06-29 19:56:53 951

原创 Java 基础知识复习

4、包装之后,对于对象占用内存的计算方法和普通对象的大小计算完全一样,总共内存占用包含3各部分:(1)一个对象有对象头(32位机对象头占用8字节,64位机占用16字节)。数组静态分配内存,链表动态分配内存。2)Partition:为划分函数,遍历整个待排序区间,将比基准值小的(可以包含相等的)放到基准值的左边,将比基准值大的(可以包含相等的)放到基准值的右边;3)采用分治思想,对左右两个小区间按照同样的方式处理,直到小区间的长度 == 1,代表已经有序,或者小区间的长度 == 0,代表没有数据。

2023-06-15 17:31:16 1171

原创 毕设遇到的问题

Bootstrap日期控件,实现日期控件只选择不准输入效果 jQuery事件委托 Mybatis基于xml的一对一、一对多、多对多嵌套结果查询和嵌套查询,多表查询 data-toggle与data-target是什么作用

2023-05-10 14:47:16 114

原创 SpringMVC (2)

SpringMVC的请求-文件上传-客户端表单实现(应用)文件上传客户端表单需要满足:表单项type=“file”表单的提交方式是post表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data”SpringMVC的请求-文件上传-文件上传的原理(理解)SpringMVC的请求-文件上传-多文件上传的代码实现1(应用)添加依赖(commons-fileupload 和 commons-io)配置多媒体解析器后台程序jsp文件。

2023-03-27 22:05:04 290 1

原创 SpringMVC

View Resolver 负责将处理结果生成 View 视图,View Resolver 首先根据逻辑视图名解析成物理视图名,即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户。手动拼接json格式字符串的方式很麻烦,开发中往往要将复杂的java对象转换成json格式的字符串,我们可以使用web阶段学习过的json转换工具jackson进行转换,通过jackson转换json格式字符串,回写字符串。要求请求参数的key和value必须和配置的一模一样。

2023-03-27 10:43:11 302

原创 SpringMVC 错误解决

在spring-mvc.xml配置文件中,将上图圈起来的类org.springframework.http.converter.cbor.MappingJackson2CborHttpMessageConverter换成org.springframework.http.converter.json.MappingJackson2HttpMessageConverter即可。charset=utf-8”1、SpringMVC中解决@ResponseBody注解返回中文乱码问题。

2023-03-24 10:04:56 167

原创 UnsupportedOperationException

ArrayList重写这些方法对List进行操作,而Arrays$ArrayList却没有重写add()和 remove()等方法,所以对从Arrays.asList()转化过来的List进行add()和remove()会出现UnsupportedOperationException异常。Java不支持该功能,多见于Arrays.asList(),然后使用remove和add方法。这样对arrayList进行add()和remove()操作就不会出现异常啦。返回值为list时,返回值类型应为具体的类型。

2023-02-21 11:21:00 579

原创 MyBatis

•MANAGED:这个配置几乎没做什么。•JNDI:这个数据源的实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的引用。,对jdbc 进行了封装,屏蔽了jdbc api 底层访问细节,使我们不用与jdbc api 打交道,就可以完成对数据库的持久化操作。•JDBC:这个配置就是直接使用了JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。上面我们是自定义的别名,mybatis框架已经为我们设置好的一些常用的类型的别名。

2023-02-18 11:27:41 407

原创 mysql 时区设置

方法三,在JDBC连接的URL后面加上 &serverTimezone = GMT 即可解决问题,如果需要使用GMT + 8时区(中国时间),需要写成GMT%2B8,否则会被解析为空。回车,然后退出重启(一定记得重启,不然查找不到跟新的时间值)(优点:不需要重启MySQL服务,缺点:一旦MySQL服务被重启,设置就会消失)方法一:修改 mysql 的配置文件永久设置时区(优点:永久保存设置,缺点:需重启MySQL服务),在该下面添加 default-time_zone = ‘+8:00’,然后保存。

2023-02-17 19:27:35 9462

原创 java.io.IOException: Could not find resource com/itheima/mapper/UserMapper.xml

问题:Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/itheima/mapper/UserMapper.xml。如果要利用时区支持,则必须将服务器或 JDBC 驱动程序(通过服务器时区配置属性)配置为使用更具体的时区值。而且这两个文件的路径一定要放对,我之前就全部放到com.itheima.mapper文件夹里去了导致找不到。这是我改后的路径(很重要!

2023-02-15 20:15:13 1961

原创 中文字符拼接rname的作为参数需要用引号拼接 && 用redis获取分栏条数据隔了一段时间,分栏条数据展示消失了?!!

我重新运行项目,它便正常展示了,但不知道过了多久,它又失常了,想起redis缓存是有存活时间的,于是我怀疑是redis 缓存被清除了,但用redis的客户端查询keys * ,数据还在的,而且如果不在,不应该是从数据库重新获取数据吗?在idea控制台上也打印了查找分栏条的方法名(即该方法被运行了),但却不再打印数据从哪获取(无论是从数据库,还是redis获取,都会打印渠道),并且没有打印数据(即这些本该打印的都没打印),为啥呢?我按下一页,它直接报错。

2023-02-09 11:09:35 81

原创 Cannot read properties of undefined (reading ‘length‘)

问题:Cannot read properties of undefined (reading 'length')分析:这个时候不是集合,在遍历之前最好先做一下判断,不是集合的话不要进行遍历,避免影响下面的代码无法执行。

2023-02-08 10:18:44 13376

原创 input autocomplete=“off“属性的作用 && HTML中的role属性

如果整个表单元素都不使用autocomplete功能的话,在 input 所在的form标签中添加 autocomplete=”off”role属性作用是告诉Accessibility类应用(比如屏幕朗读程序,为盲人提供的访问网络的便利程序),这个元素所扮演的角色,主要是供残疾人使用。使用role可以增强文本的可读性和语义化。

2023-02-02 19:08:48 2452

原创 字符串encodeURIComponent(编码)/decodeURIComponent(解码)

其中,decodeURI() 只能对使用 encodeURI() 替换的字符进行解码。decodeURIComponent() 能够解码使用 encodeURIComponent() 编码的所有字符串。而这两个URI编码方法就可以对URI进行编码,它们用特殊的UTF-8编码替换所有无效的字符,从而让浏览器能够接受和理解。编码方法是属于 Global 全局对象的,encodeURI() 和 encodeURIComponent() 方法可以对。不会对本身属于URI的特殊字符进行编码。它们的主要区别在于,

2023-01-07 16:20:33 11317

原创 InvocationTargetException异常

3.在本机电脑测试出没有问题,打出war包确在war包运行服上报此异常, 请检查tomcat服务器版本,做好一致,或者war包服高于本服.4.开发jdk和部署jdk版本不一致,导致InvocationTargetException异常信息返回一个空值。1.远程代码ip加端口获取远程跨服拒绝连接和服务器未启动所导致的,是由调用方法或构造方法所抛出异常的受检查的异常.2.有可能web项目下的jar包缺失导致,,详细检查控制台报出的异常日志信息,再对应查找相关jar包.或重复包。问题2:分页页码占位出错。

2023-01-07 15:57:46 551

转载 清理redis缓存

del key的名称(程序里定义的key)//删除对应的key,返回是1表示有缓存并删除成功,返回是0表示无缓存并删除。redis>flushall ——> 清空整个 Redis 服务器的数据(删除所有数据库的所有 key )get key的名称(程序里定义的key)//查看对应的key,返回是1表示有缓存,返回是0表示无缓存。src/redis-server --port 6380 & 表示端口6380。redis>flushdb ——> 清空当前数据库中的所有 key。

2023-01-04 10:47:58 2745

原创 Project和Module的关系和定义 & IDEA中导入Maven项目

IDEA有两个概念,一个是Project(工程),一个是Module(模块)。其中,一个模块相当于MyEclipse中的一个项目,也就是一个包。而一个工程就是由多个包组成的整体。在IDEA中,并没有对Project和Module进行强关联和强约束。主要起到一个项目定义、范围约束、规范类型的效果。比如,我接了一个供方系统的工程,这个工程有一个前端的项目包,一个后端的项目包,也就是两个模块。那么我就会建一个文件夹叫做supplier(供方系统),然后把前后端的两个项目包都放在这个文件夹中。项目包就叫模块,整个文

2023-01-04 09:53:50 214

原创 Uncaught TypeError: Cannot read properties of null (reading ‘name‘) 和NoSuchMethodException

方法1:看idea控制台才发现是方法权限问题,把protected改为public即可。方法2:把getMethod()改为getDeclareMethod()并进行暴力反射。分析:这是由于还没登录,data.name 还没获取到值,所以为null。还有一个问题是缺少了js/angular.min.js文件,可以到官网。方法1:可以不管,它不会影响其他功能,当你登录后,便不会报这个错。修改完后记得先清楚浏览器缓存(或换个浏览器)再测试。方法2:给它一个if判断是否为null。

2023-01-04 09:52:00 8564 1

转载 HttpSession 的 invalidate() 方法介绍

需要特殊说明的是,getSession()无参和参数为true的效果是一样的,并且此时如果你再次执行request.getSession(false)方法,返回的就不是null了,而是上面新创建的Session对象。调用invalidate() 方法会将该Session绑定的对象全部解绑,因此如果调用request.getSession(false)方法,返回值会是null——即此时request没有绑定任何Session;上面两条:使Session无效和解绑绑定的对象,可能让你听得一头雾水。

2023-01-03 14:53:31 808

转载 javax.mail.internet.AddressException: Illegal address in string ``’‘邮件发送错误解决

javax.mail.internet.AddressException: Illegal address in string ``’'邮件发送错误解决是因为没有正确填写发件人邮箱地址和授权码,比如此代码块。

2022-12-30 17:16:22 1571

转载 调用函数后加括号与不加括号的区别--需要立刻执行带括号,等待触发不带括号

不加括号的,都是把函数名称作为函数的指针,一个函数的名称就是这个函数的指针,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。函数只要是要调用它进行执行的,都必须加括号。此时,函数实际上等于函数的返回值或者执行效果,当然,有些没有返回值,但已经执行了函数体内的行为,就是说,加括号的,就代表将会执行函数体代码。简单点说,带括号的是函数调用,直接执行函数;复杂点说,带括号的是把返回值赋值给事件,不带括号的是把函数体所在地址位置赋值给事件。

2022-12-29 16:49:41 966

转载 redis补充 —— 缓存雪崩、缓存击穿、缓存穿透

前提:通常我们为了保证缓存中的数据与数据库中的数据一致性,会给 Redis 里的数据设置过期时间,当缓存数据过期后,用户访问的数据如果不在缓存里,业务系统需要重新生成缓存,因此就会访问数据库,并将数据更新到 Redis 里,这样后续请求都可以直接命中缓存。

2022-12-27 21:54:52 520

原创 Maven

范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,会先找用户配置,如果找到则以用户配置文件为准,否则使用全局配置文件。编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。依赖在运行和测试系统的时候需要,但在编译的时候不需要。当后面的命令执行时,前面的操作过程也都会自动执行,如需要个性配置则需要在用户配置中设置,用户配置的。构建的核心部分,编译,测试,打包,部署等等。,此范围为默认依赖范围。:项目依赖构件配置,配置项目依赖构件的坐标。:项目构建配置,配置编译、运行插件等。

2022-12-21 16:27:53 58

原创 idea 创建 maven项目报错

org.apache.maven.model.validation.DefaultModelValidator: method ‘void ()’ not found在IDEA构建项目时遇到下面这样的报错IDEA Terminated with exit code 1程序包javax.servlet.annotation不存在org.apache.jasper.JasperException: Unable to compile class for JSP:java.sql.SQLExceptio

2022-12-20 10:35:22 3511

原创 java.lang.ExceptionInInitializerError报错

怀疑虽然将配置文件导入项目了,可是没有将配置文件导入到电脑本地。很可惜,怀疑错误,里面有着配置文件。可是打开项目,发现配置文件就是在src目录下面,没有任何的问题。这时,突然想到,我以前是遇见过这种情况的。之前是将IDEA重启了一下,重新加载了一下配置文件,然后再运行,就不会报错了。怀疑是写的代码错误了,一步一步排查,甚至于复制、粘贴,可是一直是没有任何效果,仍然是报错。有句话说的好:重启解决90%的问题,重装解决99%的问题,换电脑解决100%的问题。重启,运行单元测试。

2022-12-19 10:59:37 2308

原创 IDEA右键创建servlet,没有servlet选项的解决办法

在Project Structure ——>facets配置中的sources root的,将src勾选上即可。点击应用,点击ok。

2022-12-16 20:15:28 210 1

原创 Redis 非关系型数据库

关系型数据库与非关系型数据库Redis支持的键值数据类型。

2022-12-15 20:11:37 385

转载 彻底解决IDEA输出中文乱码问题

原文链接:http://t.csdn.cn/L1LDL

2022-12-13 22:03:42 249

原创 JQuery高级(回调函数 clearInterval 插件)

使用方法:setInterval(code,millisec),两个参数都是必须的,第一个参数为要调用的函数或要执行的代码串。clearInterval(id_of_setinterval),参数是必须的,为setInterval返回的ID值。clearInterval(): 用于停止 setInterval() 方法执行的函数代码。setInterval(): 间隔指定的毫秒数不停地执行指定的代码,定时器。当事件或方法没有调用回调函数时,会触发浏览器的默认的行为。给另一个函数的高级函数。

2022-12-12 10:53:41 794

原创 JQuery 基础

语法: $("选择器1,选择器2....") 获取多个选择器选中的所有元素。* jq -- > js : jq对象[索引] 或者 jq对象.get(索引)注意:option等选择下拉等属性用attr获取不到!2. 如果操作的是元素自定义的属性,则建议使用attr。1. 如果操作的是元素的固有属性,则建议使用prop。* js -- > jq : $(js对象)2. JQuery对象和js对象方法不通用的.name为自定义属性!注意:选择器在同一个双引号里!01-基本选择器,失败!

2022-12-09 09:24:31 244

空空如也

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

TA关注的人

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