Java
万事顺遂~
这个作者很懒,什么都没留下…
展开
-
RabbitMQ集群问题- rabbitmqctl join_cluster rabbit@node1 unable to connect to epmd (port 4369)
4369 25672 两个端口防火墙开放后再集群就成功了原创 2022-01-10 17:38:14 · 2351 阅读 · 1 评论 -
json串转List集合
List<T> softwareType = JSONArray.parseArray("JSONString", T);T代表Bean原创 2021-02-03 10:08:33 · 400 阅读 · 2 评论 -
list<Bean> -->List<Map>
List<Map> data = JSON.parseArray(JSON.toJSONString(result.getData()), Map.class);result.getData 是一个list<Bean>集合先通过JSON.toJSONString将list<Bean>转换成map格式的JSON字符串、再通过JSON.parseArray将JSON字符串转换为数组列表得到list<Map>...原创 2020-12-12 09:45:24 · 742 阅读 · 0 评论 -
static静态修饰符
记录一个坑我在生成Excel文件表头的工具类中声明了一个list<Map>静态域存放表头信息,问题就出现在了这里,每当我生成一次表头,静态域的内容就多一次,到了第二次生成的时候就会在之前的基础上累加map解决办法是不使用静态的全局变量,使用方法内的局部变量,随着方法的调用而创建,随着方法的结束而结束...原创 2020-07-24 15:06:39 · 158 阅读 · 0 评论 -
Eclipse反编译插件安装
打开eclipse,Help菜单选择EclipseMarketplace搜索Decompiler转载 2020-06-20 10:09:36 · 184 阅读 · 0 评论 -
Python局部变量
python局部变量只有在方法中才会形成闭包,在for等循环语句、if等条件语句中并不会产生局部作用域;Java则不然,在方法和循环或条件语句中声明的变量只在声明范围内有效原创 2020-06-12 11:54:06 · 461 阅读 · 0 评论 -
循环队列的实现逻辑
原创 2020-05-30 22:42:31 · 178 阅读 · 0 评论 -
三元表达式解析
例: String s = 1 > 2 ? "ss" : "sss";第一步: 先执行等号后面,问号前面的部分,即 1 > 2,返回一个结果false第二步 : 根据第一步的执行结果取值,如果是false,值为冒号右边的内容,如果是true,为冒号左边问号右边的内容,在本例中为false,取值为“sss”第三步: 将第二步的值赋予声明的变量,即等号左边的内容,在本例中是String s = "sss"最后该三元表达式的执行结果...原创 2020-05-14 06:32:24 · 742 阅读 · 0 评论 -
整数反转
整数反转的重点在于考虑整型的溢出问题在不考虑,溢出问题的情况下即为纯粹的数学问题,弄清楚每一位和每一位之间的关系:个位、十位、百位每一位与上一位的差距都是10倍。所以我们只是纯粹的做一道数学题,流程是这样的依次取出该整数的低位放入要返回的整数,每存一次在原始数据*10的基础上再相加再就是考虑溢出的情况:超过最大值,低于最小值。什么情况下考虑溢出?要反回的整数已经有值了我还需要往要返回的整数中继续添加位数,在添加前我们需要考虑还能不能添加,必须是添加前考虑,因为添加如果溢出了再考虑再程原创 2020-05-13 06:52:31 · 269 阅读 · 0 评论 -
合并两个有序链表
有一个链表为空,就直接指向剩余节点,剩余节点本身已经是按升序排好的了。先比较l1和l2的头节点,值大的节点不动,值小的节点换成第二个节点,最小的节点的指向 如果最小的节点的下一个节点还是小于另一个链表的头节点,指向不变;如果最小的节点的下一个节点大于另一个链表的头节点,指向改变,最小的节点指向另一个链表的头节点。这样,两个原始链表都变化了。流程是这样,我理解的这个题或者递归关于这个题的用法的重点是这里,一开始并没有直接链接,而是触发终止条件后,一层层的回溯才产生了链接,倒着链接,先获取尾结.原创 2020-05-13 06:44:58 · 157 阅读 · 0 评论 -
hiberinate eq方法和eqOrIsNull方法的区别
框架不认识null但是认识自己定义的NullExperience对象(大佬简洁而精炼的总结)----------------------------------------------------------------------------------------------------------------如果使用eq方法,hibernate会将null作为一个无法识别的值,...原创 2019-11-15 15:34:39 · 760 阅读 · 0 评论 -
项目启动卡住
记一次项目启动异常,我是项目卡在了logger日志的地方,没有反应,然后过了一段时间,提示超时,排查后发现连的是外网不是内网,访问不到数据库...原创 2019-11-15 10:26:41 · 329 阅读 · 0 评论 -
java.lang.IllegalStateException
Caused by:java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext我是在页面联调环节遇到的这个异常,原因是数据库连接池一直是连接状态,没有释放连接...原创 2019-09-30 11:06:05 · 289 阅读 · 0 评论 -
Error和Exception
Error:不是程序出现的异常。ps:NoClassDefFoundError:出现该异常的原因往往是打包的时候漏掉了某些类或者jar包出现了破损或者被篡改,出现这个异常代表程序是没有问题的,因为加载的类在编译期的时候是存在的Exception:程序出现的异常,逻辑上的异常,语法上的异常等等ps:ClassNotFoundException:出现该异常如何在保证了类名书写没有没有...原创 2019-09-08 19:15:49 · 105 阅读 · 0 评论 -
Error和Exception
Error:不是程序出现的异常。ps:NoClassDefFoundError:出现该异常的原因往往是打包的时候漏掉了某些类或者jar包出现了破损或者被篡改,出现这个异常代表程序是没有问题的,因为加载的类在编译期的时候是存在的Exception:程序出现的异常,逻辑上的异常,语法上的异常等等ps:ClassNotFoundException:出现该异常如何在保证了类名书写没有没有...原创 2019-09-08 19:14:01 · 156 阅读 · 0 评论 -
Java Long 非空校验
Long notNull;--------------------------------------------if(notNull.longValue() == 0 || notNull == null)----------------------------------------------如上判断会出现空指针异常,当notNull为空的时候不会再进行 || 右面的表达式判...原创 2019-08-21 20:30:47 · 28418 阅读 · 0 评论 -
LeetCode217 存在重复值
https://leetcode-cn.com/problems/contains-duplicate/solution/cun-zai-zhong-fu-yuan-su-by-yuanhepeng/将数组元素作为K键,对应下标作为V值存入哈希表,当数组中存在重复的元素的时候,存入哈希表的时候会出现丢键的情况,因为哈希表的K值是不允许重复的。所以说,将数据元素存入哈希表后吗,比较两者的长度,...原创 2019-08-02 10:40:56 · 85 阅读 · 0 评论 -
使用java进行精确运算
需要使用BigDecimal工具类private String nooknum;private String oknum; private String correctrate;public String getNooknum() { return nooknum; } public void setNooknum(String nooknu...原创 2019-06-21 15:25:30 · 293 阅读 · 0 评论 -
快速排序的两种实现方式
从小-->大排序以首位元素作为基准元素在起始位置小于结束位置的前提下,先从右到左循环数组元素,如果大于基准元素,则向左移动结束位置的索引,当不满足循环条件的时候,将索引是高位的元素赋予索引为低位的元素(也就是首位元素所在的地方)然后从左到右循环数组元素,如果小于基准元素,则向右移动开始位置的索引,当不满足循环条件的时候,也就是大于基准元素的时候,将索引为低位的元素赋予索引是高位的...原创 2019-05-29 20:10:05 · 834 阅读 · 0 评论 -
逆序单链表
public class LinkReverseOrder { public static class Node{ public int value; public Node next; public Node(int data) { this.value = data; } pub...原创 2019-06-12 14:46:25 · 1764 阅读 · 0 评论 -
为什么静态方法不能调用非静态的变量和方法
你想一下嘛 因为静态是随着累的加载而加载的 也就是说类只要存在了,那么静态就存在了,而静态是优先于对象存在的 ,你要访问非静态的东西,也就是非静态的成员(包括变量和方法),非静态的东西还没存在你怎么访问的到吗??楼主好好想一下就能明白了 下面那个是我学习时的笔记 你看一下吧 /*静态:static用法:是一个修饰符;用于修饰成员(成员变量和成员函数)当成员被静态修饰后,就多了一种调用方式,除...转载 2018-04-14 18:28:44 · 246 阅读 · 0 评论 -
java的接口中是否可以使用静态方法
接口中若定义常量需要初始化常量。(接口中并且没有变量,只有静态的常量,需要在最开始的时候赋初始值。)静态的变量和方法在内存种分配了空间,而接口只是类的表现形式,是没有分配空间的。接口中的方法为抽象方法。全局静态方法。没有方法主体。默认public static final修饰。private 、 protected 、 static 均不能用来修饰interfac...原创 2018-04-15 22:27:15 · 9999 阅读 · 8 评论 -
java经典问题
第一,谈谈final, finally, finalize的区别。 final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为f...转载 2018-04-14 09:04:39 · 149 阅读 · 0 评论 -
Java中有几种访问权限修饰符,访问权限分别是?
有四种,分别是private、default、protected、public。private:java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的属性即方法只能被该类自身的对象访问,其子类不能访问,更不允许跨包访问。default:即不加任何访问权限修饰符,通常称为“默认访问权限”或者“包访问权限”。该模式下,只允许在同一个包中访问。protected: 介于public...翻译 2018-06-27 15:46:38 · 8421 阅读 · 1 评论 -
Type interface com.mybatis.mapper.UserMapper is not known to the MapperRegistry. 解决方法
在使用mybatis的时候,遇到了这个问题,大概的意思是com.mybatis.mapper.UserMapper这个接口没有被注册所以找不到。一开始没有认真的翻译错误原因。。。所以搞了很久发现无论是测试代码还是mapper。xml文件都没有问题,最后仔细看了下bug的cause,才发现的全局配置文件的问题,需要把mapper。xml注册到全局配置文件的<mappers>中: ...原创 2018-09-12 21:22:10 · 25023 阅读 · 1 评论 -
关于重写toString方法,搞定输出内存地址的问题
学习Java的人都知道,Java所有类都是Object的子类。所以,所有的Java对象都可以调用Object类提供的方法。其中,toString()就是其中一个。下面讲解一下为什么会有重写toString()方法一说。首先,我们先来创建一个Persion类,它只简单的包含 firstname 和 lastname,当然,加上它的setter 和 getter 法。放在com.bean包下:...转载 2018-09-13 20:15:21 · 3851 阅读 · 2 评论 -
org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout() mybatis和spring-mybatis版本问题
版本冲突,解决方法:出现这个错误的原因主要是spring-mybatis和mybatis版本不匹配,产生冲突的原因;我测试的时候mybatis和spring-mybatis的版本分别为:3.4.1和1.1.1会出现此错误,经过再三测试3.3.1和1.1.1;3.4.1和1.3.1没有错误。 原文链接:https://blog.csdn.net/AirMario/article/deta...转载 2018-10-16 21:13:19 · 131 阅读 · 0 评论 -
MySQL报错:This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME
最近使用MySQL5.6查询表的前几条数据,使用了limit语句,结果出现错误:This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery';查询资料发现是内层select语句不能带有limit语句,如下:select t1.*from t1where t1.id in (selec...转载 2019-04-10 19:08:49 · 1241 阅读 · 0 评论 -
关于执行的优先级问题
今天写sql的时候遇到一个问题,憋了一下午的时间也没搞定,写在这里记录下用学生和课程举例说明,如果说一个学生他不仅选修了足球还选修了羽毛球,假设这个学生所在的班级的同学共36人,只有他一人选修了足球的同事又选修了羽毛球,剩余35人选修的不是足球就就是羽毛球,此时我们将选择了足球的标记为1,选择了羽毛球的标记为2,将这个两者都选了的同学标记为3casewhen 学生选修课程=足...原创 2019-04-17 20:32:51 · 472 阅读 · 0 评论 -
svn更改文件名
更改文件名应该先将原文件复制一份,将复制的文件更改成想要修改的问题然后将其作为新文件提交,然后删除旧文件原创 2019-05-08 21:25:35 · 2900 阅读 · 0 评论 -
导入新项目Tomcat版本不一致问题 not defined
1.Tomcat版本问题,错误如下:解决办法为在项目上右键选择Properties选择Targeted Runtime,将项目Tomcat的版本对应成自己本地Tomcat的版本即可参考文章:https://stackoverflow.com/questions/37698738/eclipse-target-runtime-apache-tomcat-v...原创 2019-05-06 19:33:58 · 1036 阅读 · 0 评论 -
多个if判断和if-else-if判断的区别
拿二维矩阵来举个例子public class Solution { public boolean Find(int target, int [][] array) { int rows = 0; int cols = array[0].length-1; while(rows <= array.length-1 &&...原创 2019-05-20 10:27:22 · 3988 阅读 · 0 评论 -
关于x++与++x的超通俗易懂的解释
public class Test{static{int x=5;//作用域内无引用,函数(方法)执行完直接回收了}static int x,y;public static void main(String args[]){ System.out.println(x);//0 x--; System.out.println(x);//-1 myMethod( ...原创 2019-05-22 10:32:32 · 1569 阅读 · 0 评论 -
分页
在sql分页中进行总条数计算的时候如果关联的表在where后面没有相应的筛选条件并且和该表之前的表的连接是一对一连接,代表该表可以去掉而且不会影响总的记录条数并且可以提高执行效率,当关联的表在where后面没有响应的筛选条件但是却还是会对之前的表的关联造成影响(涉及到group by分组的地方)可以有两种方式解决:解决方法一:在count函数中增加distince去重,将重复的数据去掉...原创 2019-05-17 10:53:56 · 96 阅读 · 0 评论 -
string的replaceAll()
String s = "我.爱.中.国";将字符串s中的“.”使用空格替换掉,如果s.replaceAll(".","");会将整个字符串替换成空字符串原因则是replaceAll函数的两个参数replaceAll(regex, replacement)第一个参数regex代表在该字符串中通过正则表达式查找符合添加的子字符串并使用第二个参数replacement替换掉,而在正则...原创 2019-05-27 15:53:33 · 54171 阅读 · 6 评论 -
删除链表倒数第K个节点
当删除单链表中的倒数第K个节点的时候可以采用如上方法,先循环链表并每移动一个元素K值就减一,如果链表最后一个节点对应的K值小于零,则代表要删除的是链表中间的某个节点,此时再重新遍历链表,从头结点开始,head2->head,头结点加一,然后每移动一个节点K值边加一,当K为零时,代表该链表的下一个元素是要删除的元素,此时跳出循环,不再继需移动元素,而是将该节点的下一个节点的下一个节点作为该...原创 2019-06-12 14:42:53 · 417 阅读 · 0 评论 -
&和&&的区别
&和&&都是逻辑运算符号,&&又叫短路运算符区别如下int i=1;if(i==2 & i++==2){} //i==2为false,但i++==2还会继续比较,所以i++被执行System.out.println(i);//i 打印出来为2int j=1;if(j==2 && j++==2){} //j==2为false...转载 2018-03-18 18:12:49 · 190 阅读 · 0 评论