![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
AI_Frank
这个作者很懒,什么都没留下…
展开
-
分布式环境下动态管理RabbitMq队列及常见问题
Rabbitmq分布式状态下管控应用原创 2024-07-20 15:03:20 · 946 阅读 · 0 评论 -
自定义Future+AQS实现异步转同步
AbstractQueuedSynchronizer,作为 Java 并发包中的一个核心类,是构建锁和其他同步组件的基础。它使用一个 int 成员变量来表示同步状态,并通过内置的 FIFO 队列来管理线程的阻塞和唤醒。AQS 的主要作用是作为构建锁和其他同步器的基础。例如,ReentrantLock、CountDownLatch 和 Semaphore 等都是基于 AQS 实现的。决定同步器是在独占模式还是共享模式下工作。根据需要覆写tryAcquiretryRelease和方法。根据需要覆写。原创 2024-01-28 17:04:28 · 788 阅读 · 0 评论 -
本地idea远程调试服务器程序
本文主要介绍idea本地调试远程服务器程序的方式。相信很多同行跟我一样,在最初接触公司项目的时候,遇到测试提出的缺陷,往往会在本地进行调试、替换jar包远程调试等方式,本地调试往往会导致数据和环境不一致的问题使得问题无法复现,替换jar包也回因为需要替换的模块可能涉及其它功能,产生冲突。接下来先简单说下本地远程调试服务器程序的应用场景及优势。原创 2023-11-05 15:27:43 · 1448 阅读 · 1 评论 -
Spring源码编译过程
Spring Framework是一个非常受欢迎的Java开发框架,提供了丰富的功能和组件,用于构建企业级应用程序。通过深入学习和理解Spring的源代码,您可以更好地理解框架的内部工作原理,并在需要时进行自定义和扩展。idea的kotlin插件版本要与源码中build.gradle的kotlin版本统一,否则会出现很多莫名的报错。1.在编译Spring源码之前,您需要配置适当的开发环境。将gradle路径修改为本地下载路径,可以在编译时直接加载,避免再从网络上进行下载。在build.gradle中搜索。原创 2023-09-25 19:11:43 · 209 阅读 · 0 评论 -
websocket服务端实现
创建了一个名为 WebSocketServer 的类,并使用了 @Component 注解将其声明为一个 Spring 组件。在类中,使用了四个注解来处理 WebSocket 的生命周期事件:@OnOpen、@OnMessage、@OnClose 和 @OnError。其中,@OnOpen 表示 WebSocket 连接建立时触发的事件,@OnMessage 表示收到消息时触发的事件,@OnClose 表示连接关闭时触发的事件,@OnError 表示出错时触发的事件。原创 2023-04-12 23:14:09 · 374 阅读 · 1 评论 -
websocket客户端实现(java)
在构造函数中,我们首先创建了一个 ClientEndpointConfig.Configurator 对象,重写了其中的 beforeRequest() 方法,用于在请求之前设置请求头。最后,我们调用 container.connectToServer() 方法时,将 ClientEndpointConfig 对象作为参数传入,用于配置 WebSocket 客户端连接时的请求头。需要注意的是,不同的 WebSocket 客户端实现可能需要使用不同的 API 来设置请求头,具体请根据实际情况进行修改。原创 2023-04-12 22:46:55 · 3304 阅读 · 0 评论 -
JPA更新部分字段方式
JPA部分字段更新原创 2023-03-20 19:04:39 · 4554 阅读 · 0 评论 -
Mybatis-plus自动生成sql语句在实体字段中加入_和字母自动小写
Mybatis中实体与数据库字段映射大小写问题原创 2022-07-28 16:12:37 · 1731 阅读 · 0 评论 -
EditPlus安装
Editplus安装原创 2022-07-01 17:37:57 · 691 阅读 · 1 评论 -
java的int[] array、List<Integer>、Set<Integer>互转
public void test(){ int[] array = {1, 2, 3, 4, 5, 6, 7}; /*int[]转list*/ //方法一:需要导入apache commons-lang3 jar List<Integer> list = Arrays.asList(ArrayUtils.toObject(array)); //方法二:java8及以上版本 List&l...原创 2021-11-01 09:40:57 · 823 阅读 · 0 评论 -
java的List集合去重总结
法一:使用List的contains方法/**使用List集合contains方法循环遍历(有序) * * @param list * */public static List removeDuplicationByContains(List<Integer> list) { List<Integer> newList =new ArrayList<>(); for (int i=0;i<list.size();i++) {转载 2021-10-22 16:17:14 · 171 阅读 · 0 评论 -
java将int数组转化为Integer数组
这里使用java8的stream来进行转化,详细步骤如下所示://初始化int数组int[] nums = {1,2,3,4,5,6};//将int数组转换为数值流IntStream stream = Arrays.stream(nums);//流中的元素全部装箱,转换为Integer流 Stream<Integer> integerStream = stream.boxed();//将流转换为数组Integer[] integers = integerStream.toArra原创 2021-10-09 10:57:58 · 7038 阅读 · 0 评论 -
解决IDEA代码编辑页面中文乱码或不规范得问题
这里主要是写出自己感觉比较好得一个设置方法,基于UTF-8来进行设置,当然肯定也有更好得设置,仅供参考。第一步:在File Encodings里面将其对应位置修改如下第二步:在Font中修改为如下编码格式最终修改完后得效果如下所示:当然以上位置还有很多字体库可以设置,大家可以自行探索,找到适合自己的。...原创 2021-08-19 16:46:52 · 476 阅读 · 0 评论 -
Idea 行注释设置,不从行首开始,在代码之前
在idea的初始化设置中,使用注释快捷键,会出现如下的情况,//注释符出现在行首,显得整体页面很乱后面我想将其调整为如下(不加space)所示:加入space个人建议第二种,更为清晰美观。具体设置步骤如下:进入 Settings -> Code Style -> Java ,找到 “Code Generation” Tab,然后找到 Comment Code ,将(如图中红色箭头所指向得两个复选框去掉)Line comment at first columnBlock com原创 2021-08-19 16:32:43 · 2716 阅读 · 7 评论 -
No qualifying bean of type ‘com.suming.crowd.service.api.AdminService‘ available: expected at least
问题描述:出现以上问题的主要原因还是AdminService没有加载到容器中,我遇到这个问题无非就是以下几种情况,来进行逐一排查:1.可能存在相同的bean2.是否开启扫描,3.是否加载当前bean4.是否加载xml配置5.是否扫描出问题,或者没有扫描到当前类我遇到的问题如下所示:很明显是service没有加载成功,按照上述步骤进行排查,我的问题就是web.xml的配置导致没有成功加载spring-persist-mybatis和spring-persist-tx配置文件,由于servi原创 2021-07-22 13:41:29 · 630 阅读 · 0 评论 -
tomcat启动错误排查方法
tomcat启动失败,没有有效提示信息,不能解决问题,这时候需要获取更加详细的项目信息。在不能成成功部署的项目目录下WEB-INF/classes创建logging.properties文件,内容为:org.apache.catalina.core.ContainerBase.[Catalina].level=INFOorg.apache.catalina.core.ContainerBase.[Catalina].handlers=java.util.logging.ConsoleHandler原创 2021-07-21 21:12:16 · 447 阅读 · 0 评论 -
mybatis连接mysql8.0版本报错:Could not create connection to database server.
1.更新mysql-connector-java版本:<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</versi原创 2021-07-21 10:16:37 · 480 阅读 · 0 评论 -
idea配置SSM出现Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession
主要解决方式有以下几种一、缺少jar包解决方法:在pom.xml文件导入jar包<!-- MyBatis --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.1</version></dependency><!-- MyBat原创 2021-07-21 10:06:50 · 1433 阅读 · 0 评论 -
java遍历map、map键排序、值排序
一、遍历mappublic static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通原创 2021-07-04 13:34:33 · 501 阅读 · 0 评论 -
螺旋矩阵求解
描述给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。示例1输入:[[1,2,3],[4,5,6],[7,8,9]]返回值:[1,2,3,6,9,8,7,4,5]import java.util.*;public class Solution { ArrayList<Integer> list = new ArrayList<Integer>(); public ArrayList<Integer> s原创 2021-07-02 18:08:00 · 146 阅读 · 0 评论 -
买卖股票的最好时机题解
描述假设你有一个数组,其中第 i 个元素是股票在第 i 天的价格。你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。示例1输入:[1,4,2]返回值:3解法一:动态规划import java.util.*;public class Solution { /** * * @param prices int整型一维数组 * @return int整型 */ public int原创 2021-07-02 14:39:21 · 331 阅读 · 0 评论 -
leetcode字符串的全排列题解
class Solution { public String[] permutation(String s) { List<String> list = new ArrayList<String>(); char[] array = s.toCharArray(); // 第一个字符与后面非重复出现的交换 int n = array.length; permutate(list, array,原创 2021-06-22 14:36:48 · 445 阅读 · 0 评论 -
Java使用lambda自定义Arrays.sort排序规则
首先注意默认排规则,当使用sort(Objetc[] a)来进行对象的自然排序,该对象必需实现Compareable接口,重写compareableTo方法,并一般在此方法中定义这3种返回值(1,0,-1)来进行排序标准的确认。return 1 时,按照从小到大排序 (也可以是2,3.....正数) return 0 时,原位置不动 return-1 时,按照从在到小排序Integer[] numsArr = new Integer[10];Arrays.sort(numsArr,...原创 2021-04-12 20:11:14 · 6294 阅读 · 0 评论 -
Java位操作技巧
// 1. 获得int型最大值System.out.println((1 << 31) - 1);// 2147483647, 由于优先级关系,括号不可省略System.out.println(~(1 << 31));// 2147483647// 2. 获得int型最小值System.out.println(1 << 31);System.out.println(1 << -1);// 3. 获得long类型的最大值System.out..转载 2021-03-03 20:33:29 · 120 阅读 · 1 评论 -
java中的>> << >>>
移位运算符就是在二进制的基础上对数bai字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。一、<<(左移)按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。语法格式: 需要移位的数字 << 移位的次数 例如: 3 << 2,则是将数字3左移2位 计算过程: 3 << 2 首先把3转换为二进制数字0000原创 2021-02-06 15:31:39 · 753 阅读 · 1 评论 -
java Queue中 add/offer,element/peek,remove/poll区别
java Queue中 add/offer,element/peek,remove/poll中的三个方法均为重复的方法,在选择使用时不免有所疑惑,这里简单区别一下:1、add()和offer()区别:add()和offer()都是向队列中添加一个元素。一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,调用 add() 方法就会抛出一个 unchecked 异常,而调用 offer() 方法会返回 false。因此就可以在程序中进行有效的判断!2、poll()和remove()区..转载 2021-01-06 11:02:09 · 174 阅读 · 0 评论 -
bash: ./java: /lib/ld-linux.so.2: bad ELF interpreter:问题解决
Centos7安装jdk8后出现这个问题,可以输入以下指令解决sudo yum install glibc.i686转载 2020-07-09 14:48:19 · 557 阅读 · 0 评论