- 博客(252)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 2024Java面试题附答案(持续更新2024.3.23)
1.restcontroller 和controller有什么区别?答:restcontroller=controller+@resposebody2.controller是单例的吗?答: 默认是的。scope可设置成多例,作用域:singleton(单例)、prototype(多例)3.过滤器拦截器有什么区别?答:过滤器依赖servlet容器,基于函数回调实现,在容器初始化时调用一次,几乎可以过滤所有资源包括静态文件。拦截器基于web框架比如springmvc,基于反射实..
2021-02-21 12:03:32 6027 1
原创 工作流activiti笔记(三)坑!!!手把手!!
所以解决方案是在调用前准备我说的那两个类,然后在使用taskService.createTaskQuery().taskCandidateUser时,先把下面这段代码放到最前面。SpringUtils自不必说,获取spring容器中的bean,这个没人不会,就不贴代码了。关于解决方案,往上其实有很多答案,但是每个都只是贴代码,而没有解释说明该怎么用!由于Task中某些字段会导致转换json错误,因此解决方案就是转成自己的。2、查询Task 直接放回List<Task>报错。
2024-09-15 16:35:01 248
原创 10道JVM经典面试题
复制算法把空间分钟两块,回收的时候就把未使用的复制到另一块区域,然后满了就删除本区域,从头到尾只使用一块空间,另一块作为存放回收时未使用的部分。在一块内存空间内,标记可达的对象,压缩到内存的一边,然后删除其他对象,这样就不会产生内存碎片。标记清除根据根节点寻找可达对象,如果不可达就回收,可达性分析法就是挑选一个稳定的对象作为GCROOT,然后寻找可达的对象,不可达就回收。G1回收器是JDK9默认的回收器,废除了空间上的区域划分,而是采用一个个独立的region区域组成,逻辑上保留了分代策略。
2024-07-20 18:51:26 581
原创 《重生之我在末世写代码》 第一章 英雄救美
这群末日狂徒走后,范狗蛋了解到,小姑娘在地下洞穴生存,躲避地表高温,后来被一群强盗发现,她的家人都被土匪杀害了,只剩她一个人逃难。范狗蛋想了想,自己是码神,能力越大责任越大,并且小姑娘孤苦无依,带着就带着吧,他要去找传说中的栖息地。上一世,范狗蛋是一名码农,由于龙国的就业形势恶劣,范狗蛋经常被领导刁难,要求996,导致范狗蛋精神压力过大,跳楼了,结果人没死,一生残废,直到末世来临。切~现在范狗蛋可是码神,范狗蛋随即进入系统,修改代码,创建一个新的属性:money,然后设置money为一个小目标。
2024-07-07 13:10:31 420
原创 postgresql中的stringtype=unspecified有什么作用?
stringtype=unspecified 表示的是对于 string类型不指定JDBC具体的类型,而是内部自行判断,也就是说,默认是指定为 setString()的,这样对于timestamp就会报错。所以设置成不指定string类型对应的JDBC 类型,这样就能避免 传string进去不匹配的问题。解决方法:在url后加上stringtype=unspecified。那么这个是什么意思呢?
2024-04-25 09:50:35 1080 1
原创 Spring Boot整合Redis启动报错:Connection refused: getsockopt: /127.0.0.1:6739
解决方法:把端口配置改成6379。很蠢的一个问题,端口写错了。
2024-03-10 19:47:51 1366 3
原创 Caused by: java.lang.NoClassDefFoundError: org/mybatis/logging/LoggerFactory
1.网上找的答案是 多引入了mybatis-spring-boot-starter ,而我并没有。
2023-04-24 20:20:34 286
转载 多线程最常用的场景:单线程数据库取数,多线程处理
最好不用多线程读数据,因为读取到的数据是重复的,没有意义,还要去重,而且你没办法保证处理完的数据还会被读出来。需要考虑的就多了,完全没必要多线程读数据。如果数据有一亿,你不爆炸了,常见的就是分页了,mybatis可以用RowBounds。最常见的就是不能数据还没更新,就把源数据给删了。
2022-11-18 18:47:13 629
原创 String长度和mysql、oracle 的varchar长度对比
Oracle中的varchar2,指的是字节长度,一个中文字符,utf-8下占3个字节,gbk下占2个字节。Java String length() 表示字符数,即char的数量,可以是世界上任何文字。postgresql varchar(6) 可以存6个汉字。String length() == 6 可以存6个汉字。mysql varchar(6) 可以存6个汉字。oracle varchar2(6) 可以存3个汉字。
2022-11-16 09:32:40 2535
原创 反射常见实例改进Class.forName耗时问题
结论: Class.forName耗时远大于 newInstance。间隔:235毫秒 --- Class.forName。间隔:26毫秒 --newInstance。改进: class放入缓存。测试反射创建实例耗时。
2022-08-23 15:29:11 579
原创 Java开发多年写过的BUG都在这了!!!(2022.8更新)
10. Arrays.asList()转化的list,不能增删,java.lang.UnsupportedOperationException。由于add 和addAll方法添加的是对象的引用,因此,如果对象发生改变,那么list也会改变。9. 重复迭代器移除元素报错,大坑,推荐 list.stream().filter。11. List,对象属性值改变,list中的对象也改变。3. String 与Long 用equals判断相等。4.Integer 用==判断相等。7. list空指针。
2022-08-20 23:15:34 814
原创 图书馆管理系统(springboot+thymeleaf+jquery+ajax+bootstrap)
图书馆管理系统(springboot+thymeleaf+jquery+ajax+bootstrap)不同用户角色,登录后有不同的菜单权限普通学生:可以借书、还书管理员:新增图书、修改图书、新增用户、角色等。
2022-08-07 22:36:18 638 2
原创 列表页面实现是几种方式(前后端)
这种方式呢就是前后台不分离,table数据是通过theymeleaf来显示,后台model赋值。更新和保存通过ajax请求后台,form方式提交。
2022-08-07 22:26:50 696
原创 自己封装的swing框架,能够快速写出一个页面(带Tab、菜单)
效果图: 现在写页面的方式有很多,Java也可以写页面,只不过太过繁琐了。鄙人不才,对swing进行简单的封装后,自我感觉顺手了许多(当然可能还有改进空间)StartFrame 启动程序MainFrame 主要窗体TabPanel tab面板SwingBuilder 构建器,用来构建菜单以及tab页面结合Theme 主题接口,用来适应不同分辨率屏幕的样式BasePanel 基础面板,用来构建panel传统写法:我的写法:上述效果图完整的页面:三、页面步骤(
2022-08-07 14:19:38 2197 3
原创 hadoop 相关历史版本下载
1.hadoop新版本下载地址:如果是历史版本:Index of /dist/hadoop/core/hadoop-2.7.12. hive 同理历史版本 archive打头的地址
2022-06-30 16:59:21 714
原创 Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance o
213123
2022-06-28 16:44:19 4202
原创 log4j:WARN No such property [zipPermission] in org.apache.log4j.RollingFileAppender.
log4j:WARN No such property [zipPermission] in org.apache.log4j.RollingFileAppender.log4j:WARN No such property [logPermission] in org.apache.log4j.RollingFileAppender.pom.xml使用打印:resource目录下加个log4j.properties
2022-06-20 16:07:37 1480
原创 Tomcat初始化怎么做,初始化顺序
1.实现ServletContainerInitializer2.实现ServletContextListener3.实现Filter4.servlet启动initServletContainerInitializerpackage com.xy.core;import com.xy.util.ReflectionUtils;import org.springframework.context.ApplicationContextInitializer;import org.spr.
2022-05-23 15:03:14 395 2
原创 联想笔记本:安装适配自己电脑的驱动
1.联想驱动官网:联想官网驱动下载_thinkpad驱动笔记本驱动_联想打印机驱动一键安装_联想官网2.点击 “在站内查找设备驱动”一键安装驱动 有点不行!!3. 打开 window powerShell,输入 gwmi -class win32_bios复制出主机编号4.用主机编号查找5. 下载自己想要的驱动就好...
2022-04-24 15:14:15 1903
原创 JDBC增删改查
1package com.xy;import java.io.IOException;import java.io.InputStream;import java.sql.*;import java.util.*;/** * @ClassName JdbcUtil * @Description * @Author xy * @Date 2022/4/22 * @Version 1.0 **/public class JdbcUtil { private stati
2022-04-22 15:00:25 3677
原创 SPI ServiceLoader.load()不生效
1.首先检查路径resources路径下的META-INF/services2.检查services下文件名是不是接口全称com.view.IBuilder3.接口文件里配置了实现类路径了吗?com.view.menu.EditMenucom.view.menu.AboutMenu4.工程名字问题如果工程的名字跟maven 的pom文件里的groupId不一致,也是不行的我就是工程的名字目录,是my-proj,但是pom.xml里面的groupId没改成my-proj
2022-04-20 16:48:48 1813
原创 List排除列表在外的元素的几种写法
有时候拿到一个list的时候,可能需要过滤一些元素,让它只展示我们希望的元素。假设有两个列表,要求只展示含2,3的元素list [1,2,3,4] TEST_LIST[2,3]有几种方法呢? 用两个for循环判断是否包含,包含的,就添加到新的listNew里 用迭代器,不包含的remove for循环用contains判断是否包含,包含的,就添加到新的listNew里 Java8 lamda stream过滤 具体写法:...
2022-04-09 13:43:59 1299
原创 packaging‘ with value ‘jar‘ is invalid Aggregator projects require ‘pom‘ as packaging
不指定packaging的情况下,默认是jarpackaging改成pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.
2022-04-03 12:35:29 2576
原创 关于substring的截取位置的讲解
不多说 System.out.println("abcd".substring(0, 2));// ab System.out.println("abcd".substring(1, 2));// b看源码,第一个参数是起始位置a---》0b--》1以此类推第二个参数和第一个参数共同决定长度"abcd".substring(0, 2) ----》长度是 2-0=2,从0的位置也就是a,长度是2位----》最后输出ab"abcd".substring(1,
2022-04-01 14:46:23 7693
原创 git add 报错 warning: LF will be replaced by CRLF
warning: LF will be replaced by CRLF in multi-thread/pom.xml.The file will have its original line endings in your working directory原因是存在符号转义问题windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时出现提示,解决办法:git config --global core.autocrlf false...
2022-03-30 15:17:31 1040
原创 IDEA 报错:java程序包不存在
原因:从别的地方拷贝过来的idea项目,就会有这个问题,明明模板都在就是报错解决方法一(不推荐):勾选 maven-runner- Delegate IDE XXXXXXX不推荐:因为我这样搞了还是不行解决方法二:直接删除项目下的 .idea文件夹 以及 .iml文件 ,然后打开IDEA重新引入,解决!!!感谢这个博客给的灵感:idea载入java工程报程序包不存在问题_一介书生187的博客-CSDN博客_idea java程序包不存在...
2022-03-23 17:41:31 9333 1
原创 word2010总是打开最近打开过的文件
删除文件:C:\Users\Administrator\AppData\Roaming\Microsoft\Templates\Normal.dotm不放心的话改个后缀名字 Normal.dotm.bak
2022-02-11 10:07:50 609
原创 切割的神,list分割成若干份
有这样一个list,需要切割成5份 List<Integer> list = new ArrayList<>(); for (int i=0;i<21;i++) { list.add(i+1); }首先看看数字怎么切分 int size = 21; int stepCout = 5;//份数 int stepSize = size/stepCout;//每份分多
2022-01-14 14:57:18 675
原创 窥探:一次用户请求,在tomcat做了什么事情
1.如何窥探的?随便找一个程序能到达的地方,加个异常抛出来 if(true){ throw new RuntimeException("----给老子现行!!!!!!!!!!!!!!!!!"); }可以得到日志:java.lang.RuntimeException: ----给老子现行!!!!!!!!!!!!!!!!!at com.xxxxxxxxxxxx(MyB.java:43) ~[classes/:na]at com.xxxxx
2022-01-08 06:45:00 417
原创 springmvc 实现Controller控制器的三种方式
为什么看到这个?因为这几天发现一个项目没有@Controller/@RequestMapping,只有@Service,但是程序居然能够进行http访问,于是百度了一下,发现还有其他方式实现controller。先说明,只是简单说下有几种方式,不提供具体实现,因为我觉得正常新项目只会有第一种,只要知道有这几个实现方式就行。方式一:@Controller/@RequestMapping这也是开发人员最熟悉的了。方式二:实现HttpRequestHandler接口方式三:实现Controll
2022-01-07 17:09:55 809
原创 idea中用tomcat跑web项目,idea控制台乱码
乱码原因:1.tomcat启动信息乱码 ---需要修改tomcat日志配置 2.项目程序执行乱码 --修改项目编码和文件编码思路:检查各个地方是不是utf-81.idea 配置 Editor -file Encodings2.tomcat logging.properties改成utf-8"E:\install\apache-tomcat-8.5.59\conf\logging.properties"java.util.logging.Con...
2022-01-07 16:31:53 321
原创 java模拟http接口,postman/浏览器访问
浏览器访问: http://127.0.0.1:8080package com;import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent.TimeUnit;/*TCP/IP:传输层协议,无法识别HTTP:应用层协议,可识别。应用层协议还有 FTP、TELNETWEB:以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上soc..
2022-01-05 22:47:09 3173
原创 总结:前后台接口参数接收的几种方式(form表单、ajax、restful、requestParam等)
知识前言:1.Content-Type: 一个请求都会有请求的内容类型,默认是application/x-www-form-urlencoded; charset=UTF-8常见的接种请求数据类型:application/x-www-form-urlencoded1)浏览器的原生form表单2) 提交的数据按照 key1=val1&key2=val2 的方式进行编码,key和val都进行了URL转码multipart/form-data常见的 POST 数据提交的方式。我.
2022-01-02 00:29:29 6011
原创 bootstrap-table表格实现
方式一:jquery+bootstrap不足:分页能力不行效果:<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head> <meta charset="UTF-8"> <title>商品列表</title> <script type="text/javascript" th:src=.
2021-12-31 00:38:08 1033
原创 Oracle、mysql、PostgreSQL之间的区别(笔记)
Oracle、mysql、PostgreSQL区别列表功能/函数/操作 Oracle mysql PostgreSQL 创建序列 没有序列 -- DROP SEQUENCE seq_tache_detail_id; CREATE SEQUENCE seq_test_id INCREMENT BY 1 MINVALUE 10000 MAXVALUE 999999999999999 STAR...
2021-12-29 10:30:20 2148
现在java做柱形图、折线图,都怎么做的呢,还用jfreechart吗?
2016-09-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人