
java
文章平均质量分 55
甜无能
这个作者很懒,什么都没留下…
展开
-
springboot通过aop实现全局日志(是否自定义注解都可以)
springboot通过aop完成全局日志(是否自定义注解都可以)原创 2023-03-01 17:27:10 · 959 阅读 · 0 评论 -
使用RestTemplate时,路径参数中有/斜杠怎么办
比如我需要访问一个接口,路径为.../api/mq/{topic}这个topic是路径参数,它的结构一般为 /mm/yy/nn如果直接将这个参数拼接到路径中,会导致请求地址找不到,报404因此要借助Uri这个类,进行封装将/替换成%2F//url是路径前面固定的部门,topic是路径参数UriComponentsBuilder builder = UriComponentsBuilder .fromHttpUrl(url + "/" + topi.原创 2021-03-19 17:49:25 · 1721 阅读 · 2 评论 -
java使用RestTemplate发送请求,调用EMQ X的api
EMQ X是是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器默认情况下本地http监听端口为1883控制台(可视化界面)端口号为18083,默认用户: admin,密码:public找到官方文档,找到需要使用的接口https://docs.emqx.cn/broker/latest/advanced/http-api.html在发送请求的时候需要进行鉴权,采用的鉴权方式是Basic Authpostman在请求中发送鉴权的方式如下代码如..原创 2021-03-19 17:43:52 · 1555 阅读 · 3 评论 -
不处理InterruptedException会导致线程不能关闭
不处理InterruptedException会导致线程不能关闭当线程被调用了interrupt()方法后,线程是否中断的标志会变成true但是如果调用interrupt()方法时,线程正处于阻塞状态(wait,join,sleep方法),会抛出InterruptedException,并将线程是否中断的标志改成false这时如果不进行处理(比如直接return,break,或者重新调用interrupt方法),线程将不会终止下面是错误示范A类中new 了一个Thread,...原创 2021-03-19 17:12:52 · 418 阅读 · 0 评论 -
线上监控java程序运行情况,解决多线程问题------java应用诊断器arthas
参考链接,官方文档:https://arthas.aliyun.com/doc/en/应用场景最近写的一个多线程的采集程序出现问题,导致kafka堆积的数据过多,但是光看代码或者本地测试看不出来问题于是就用到了arthas,arthas简介arthas是java应用诊断器只需要将安装包传到服务器上解压,再执行对应的命令就能从不同维度查看程序的运行状况,比如内存,线程,某个变量的值等等官网地址:https://arthas.aliyun.com首页面可以切换中英文.原创 2021-03-19 15:10:15 · 709 阅读 · 0 评论 -
使用TransactionTemplate进行数据库回滚时,怎样保存错误日志
业务场景:将一堆数据插入数据库的时候,可能会有报错,统计完全部的数据都有什么报错之后,要将已经插入的数据回滚,并且在错误日志中记录全部数据中都有什么数据发生了错误代码: public void insertAndLog(){ List<JSONObject> errorLogInfoList=new ArrayList<>(); new TransactionTemplate().execute(new Trans原创 2021-03-18 17:45:27 · 1726 阅读 · 0 评论 -
idea断点打不上
参考链接:https://my.oschina.net/edwardge/blog/2208933可能是编译问题可尝试两个办法1. rebuild项目2. 重新打包:mvn clean install package -DskipTests=true原创 2020-05-18 14:29:01 · 1490 阅读 · 0 评论 -
maven插件:将jar包上传到maven私服
在pom中添加插件,配置好maven私服地址<!-- 要将源码放到私服,需要加入这个插件 --><build><plugin> <artifactId>maven-source-plugin</artifactId> <version>3.0.1</version> <configuration> <attach>true</attach>原创 2020-05-18 10:52:15 · 656 阅读 · 0 评论 -
项目打jar包的两种方式,一种可直接运行,一种可在maven库中作为依赖
一种是含第三方依赖的包,会比较大可以直接在cmd中 java -jar xx.jar运行直接使用idea的Terminal(终端)输入命令打包:mvn clean package -DskipTests(跳过测试类) (-P test 指定使用test环境的配置文件)打包位置默认是项目的target文件夹,反正最后打包到哪里控制台会提示<build> <plugins> <plugin> <gr原创 2020-05-18 10:47:09 · 927 阅读 · 0 评论 -
Class的总结
主要参考了以下三个链接,都是很好的博文,下面是为了自己巩固记忆,重新梳理测试一下https://blog.youkuaiyun.com/mcryeasy/article/details/52344729https://blog.youkuaiyun.com/chenge_j/article/details/72676467https://blog.youkuaiyun.com/weixin_44650929/articl...原创 2020-03-23 15:01:24 · 327 阅读 · 0 评论 -
父类能调用子类方法么
https://www.jianshu.com/p/204e5d76ec11原创 2020-03-23 10:29:41 · 3758 阅读 · 0 评论 -
Quartz定时调度框架中@Autowired为null的解决办法,同时避免打包运行空指针问题
之前也遇到过@Autowired为null的问题,但是不涉及定时调度,https://blog.youkuaiyun.com/hmmmmm2929/article/details/100739060简单介绍一下我需要用到的几个类(1)配置类(需要加这个配置类,来帮助导入bean)(2)任务抽象类(SendInterface,忽略这个命名,其实不是接口,而是抽象类)(3)任务实现类(Sen...原创 2020-03-23 10:11:47 · 906 阅读 · 0 评论 -
循环中调用list.remove()报错,java.util.ConcurrentModificationException
参考链接https://www.cnblogs.com/loong-hon/p/10256686.html在循环时调用list.remove()我遇到两种意外情况第一种是标题中的问题,删除时报错package com.cloudiip.ListTest;import org.junit.Test;import java.util.ArrayList;import jav...原创 2020-03-20 17:08:03 · 1577 阅读 · 0 评论 -
可变类和不可变类用final修饰时的赋值问题
结论:1.可变类用final修饰,只要不改变引用,改变值还是可以的,可变类传递的时候是引用传递2.不可变类用final修饰,值和引用都不能改变,不可变类传递的时候是值传递举例:以可变类StringBuilder和不可变类String为例实体类,包含四种成员变量(其实我只用到了两个)package test_of_class;public class TestClass...原创 2019-10-21 15:54:57 · 467 阅读 · 0 评论 -
@Autowired注入之后为null
使用场景:在serviceImpl中需要调用一个工具类来转换返回的数据类型,但是在工具类中需要调用dao层的方法来查询数据因此在工具类中的方法就不能使用静态的了,并且使用了@Autowired注解来注入dao层,但是打断点的时候发现注入的dao层对象是null经过下述步骤来寻找问题:1.判断dao层是否加了注解或者继承JPA的一些接口2.启动类的包扫描没有问题(spring...原创 2019-09-11 17:17:11 · 3178 阅读 · 0 评论 -
JPA项目报错:Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElement
下面是报错信息的主要部分[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: Illegal attempt...原创 2019-09-11 15:50:36 · 2920 阅读 · 1 评论 -
null和"null",java.lang.StringIndexOutOfBoundsException: String index out of range: -1
这个报错表示使用string的indexOf的时候没有找到对应的index,下标越界了(https://zhidao.baidu.com/question/306567663.html)比如我从一个jsonObject或者map中通过get("key")来获取一个值,但是这个key其实不存在,结果其实是null但是我用+"",将值变成了String类型,就会导致null拦截不到空数据,并且...原创 2019-07-12 14:29:13 · 3154 阅读 · 0 评论 -
JPA项目,Error creating bean with name 方法名xxx
使用@Query自定义sql的时候,要么使用实体类中的名字,要么使用数据库里面的名字,但是要加上 nativeQuery = true原创 2019-06-24 16:15:24 · 1417 阅读 · 0 评论 -
JPA项目,查询失败,Could not write JSON: failed to lazily initialize a collection of role
.w.s.m.s.DefaultHandlerExceptionResolver:Resolved exception caused by handler excution:org.springframework.http.converter.HttpMessageNotWritableException:Could not write JSON: failed to lazily initi...原创 2019-06-24 15:58:21 · 5446 阅读 · 0 评论 -
string的split方法和replace方法都是不能改变原string的
首先考虑到string是不可变的对象,所以可以快速判断.其次就要看string对象的底层存储原理了.下面这个链接讲了string不可变的原因,提到了底层代码,并且讲到了其实string也不是绝对不可变的,并通过反射方法改变了string.https://www.jb51.net/article/73243.htm...原创 2018-08-02 10:45:49 · 4017 阅读 · 2 评论 -
关于时间戳的位数的粗浅理解,批量时间戳数据转换成时间后结果都一样的解决办法
现在手头在做的模块有一个功能涉及了时间戳,我需要将时间戳转换成时间,这个时间和一系列的值之后会用来画图,时间是横轴,因此时间是不可以重复的.我接收的时间戳都是不同的,但是我转换的时间却是相同的,因此我才注意到了时间戳是区分位数的.我是这样转换成日期的://时间戳是我接收的数据,是String类型,这里直接写一个作为例子String timeStamp="1534730732790"...原创 2018-08-22 17:09:05 · 3514 阅读 · 0 评论 -
想导入jar包,但是不能粘贴的问题(实际上是粘贴错了位置)
我看到下图红框中都是jar包就想粘贴到里面,但是这些实际上是相当于已经添加到classpath的jar包(能够在项目中使用的)(关于classpath以及eclipse的工程目录以及路径问题见:https://www.cnblogs.com/panxuejun/p/6411702.html) 在上面红框里面的随意一项上右键---build path----configure bu...原创 2018-09-23 14:10:21 · 2384 阅读 · 0 评论 -
Random生成随机数的方法演示
注释做的比较详细,因此减少额外的文字说明.下面附结果以供参考.import java.util.Random;import org.junit.Test;public class RandomTest { @Test public void RandomDemo1() { /** * 简单演示 */ //random的各种方法都是取前不取后[0,n),即...原创 2018-09-13 16:48:57 · 623 阅读 · 0 评论 -
java中抛出异常之后程序还会继续运行么?
https://www.cnblogs.com/wangyingli/p/5912269.html上面这个文档将各种情况分析的比较全面了,不赘言了转载 2018-11-26 16:50:00 · 9884 阅读 · 0 评论 -
ArrayList,LinkedList和Vector的异同总结
三者的简介简介就直接截图了区别:1.ArrayList和Vector基于动态数组的数据结构,LinkedList基于链表的数据结构2.由于ArrayList和Vector是基于数组的,内存连续,索引速度快,因此它们在进行取值(get),赋值(set),修改操作的时候比较快,但是在进行添加(add)和删除(remove)操作的时候就比较慢了,因为增删一个元素后面的所有元素...原创 2018-11-28 15:36:56 · 268 阅读 · 0 评论 -
使用jdbc连接数据库,查询表名和字段名,后端实现
业务场景:我使用的是SSM框架,前端是layui.用户需要在表单上填写数据库连接信息(ip地址,端口号,用户名,密码,数据库名),还需要填写表名和字段名.其中表名是在用户填写完数据库连接信息之后,点击表名和字段名的文本框之后触发方法,前端传给我数据库链接信息,我使用jdbc查询到之后,返回给前端的一个范围,用户在这个范围中选(可以打字,但是只能在我给的范围之内).字段名则是点击文本框之后,前端...原创 2019-01-09 16:27:11 · 5049 阅读 · 0 评论 -
解决报错java.sql.SQLException:Operation not allowed after ResultSet Closed
我是在一个方法中连接的数据库,然后将查询结果ResultSet rs传递给另一个方法,结果报错的.原因是连接数据库获取结果之后ResultSet和Connection都是要关闭的,一旦关闭这两者中的其中一个,rs就会变成空因此解决办法就是在连接数据库的方法中将rs转成Result类型,才可以传递给别的函数使用import javax.servlet.jsp.jstl.sql....原创 2019-01-09 16:40:58 · 10326 阅读 · 4 评论 -
java多种内部类的特点以及区别(附代码)
什么是内部类内部类是在一个类内部定义的类,内部类中不能定义静态成员,内部类可以访问外部类的成员变量,内部类可以定义在外部类的方法外面,也可以定义在外部类的方法里面内部类有哪几种一.定义在方法外部的类1.非静态的内部类(Inner Class)①访问权限:有四种访问权限,决定了其他类是否能看见这个类.(普通的类只有public和默认两种权限)②被访问的方式:外部类...原创 2019-05-21 16:09:22 · 295 阅读 · 0 评论 -
JPA项目,Cannot add or update a child row: a foreign key constraint fails
SQL Error:1452,SQLState:23000.Cannot add or update a child row: a foreign key constraint fails新增或者更新操作的时候,要操作的记录中含有外键,但是插入的外键id不在外键所属的表中,所以会报错使用表中存在的id做外键即可比如:现在要新增student表的记录,student表...原创 2019-06-21 14:53:45 · 8886 阅读 · 0 评论 -
JPA项目,Cannot delete or update a parent row: a foreign key constraint fails
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails删除的时候如果有其他表以这条记录中的某个值作为外键,或者这条记录的某个值具有子级,...原创 2019-06-21 15:35:13 · 1969 阅读 · 0 评论 -
JPA项目,findById或其他select方法查询结果为null,使用optional=true来解决
概括:明明刚插入一条新记录,结果用这条新记录的id查询的时候却查不到,但是直接去数据库中却能看到这条记录,很神奇是不是解决办法:修改实体类中引用属性上面的注解,令optional=true详细解释:看控制台的sql记录,由于我的项目进行了权限控制,所以一个findById的操作会产生多条sql查询记录,但这不重要,一般只需要看关键的那个条sql语句就可以看这条...原创 2019-06-21 17:25:52 · 5563 阅读 · 0 评论 -
Optional<T>容器对象,java8新特性
我的项目中的应用:JPA项目,findById的返回值是Optional<T>,而非实体类关于Optional<T>,在项目中的使用比较简单,主要代码大致如下://根据id查询teacherOptional<Teacher> opt=repository.findById(teacherId);//如果opt有值,获取实体对象Teacher ...原创 2019-06-21 17:46:09 · 342 阅读 · 0 评论 -
idea项目debug启动特别缓慢,甚至卡住,提示Method breakpoints may dramatically slow down debugging
原因是打了方法断点,不论是interface还是class,只要打在了方法命名行,就是方法断点(怎么使用方法断点还不知道)这个时候使用debug模式启动,并没有禁用断点的话,就会启动缓慢甚至卡住(不知道是不是一定会卡住,反正我每次都卡住...)要么删除方法断点(绿框),要么关闭(禁用)断点(红框)(禁用之后背景是灰色的)如果想删除方法断点点绿色框之后找到方法断点,之后取消对勾(...原创 2019-06-21 18:10:11 · 1877 阅读 · 2 评论 -
Java命令行编译运行java程序,配置环境变量的意义AND解决”javac不是内部或外部命令”,但是运行java、java-version正常的问题
下面的路径均以我自己的为例,有些地方可能说得过于墨迹,因为当我第一次接触这些的时候我希望能看到一个每个步骤都很全的文档,所以我尽力把这些问题说得清楚一些.大佬如果没有绕路的话,欢迎指正.1.Java命令行编译运行java程序如果我们不配置环境变量,只安装了jdk的时候,如果想通过命令行编译运行java程序,就只能将.java文件放在jdk的bin目录下,然后在这个目录下进入cmd窗口(或者...原创 2018-07-27 17:35:04 · 712 阅读 · 0 评论