Java
君之虞
这个作者很懒,什么都没留下…
展开
-
java权重轮询调度算法实现
权重轮询调度算法(WeightedRound-RobinScheduling)-Java实现import java.math.BigInteger;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;/** * 权重轮询调度算法(WeightedRound-RobinScheduling)-Java实原创 2022-02-21 14:24:53 · 536 阅读 · 0 评论 -
自定义java队列--先进先出(循环队列、链队列)
队列: 只允许在一端进行插入操作(队尾),在另一端进行删除操作(队头)。 队列的特征就是: 先进先出。队列的思想及实现也同样非常简单。在生活中的各种常常都需要排队进行,键盘中缓存区、操作系统中的作业调度等都有用到队列先进先出的思想。在这里同样用一个示意图展示队列的基本思想。下面笔者才用数组存储元素,实现了一个循环队列。队列中最重要的一个方法就是队列是否满的判断,判断队列是否为满。队满: rear + 2 = front 或 front + maxSize -2 = rear判断队列是否为空。队空转载 2022-02-10 15:45:03 · 1218 阅读 · 0 评论 -
SpringBoot 集成 log4j2
1、Maven依赖 <!-- 集成Log4j2日志 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId><!-- 去除springboot默认的logback日志,以免冲突-->原创 2021-11-30 16:58:32 · 506 阅读 · 0 评论 -
Java 统一返回结果集封装
封装实体类package com.commons.vo;import lombok.Data;import java.io.Serializable;/** * 统一返回结果集实体类 * * @author liudean * @date 2021/8/3 20:31 */@Datapublic class ResultMsg implements Serializable { //状态码 private Integer resultCode; //返回原创 2021-09-01 11:43:49 · 679 阅读 · 0 评论 -
java实现阿里云接口发送短信验证码
1.访问阿里云首页https://www.aliyun.com/?utm_content=se_1000301881阿里云首页2.登录后再控制台搜索短信服务进入短息控制台,接着就是申请短信服务了。申请完成后开始开发引入pom.xml依赖 <!--短信服务--> <dependency> <groupId>com.aliyun</groupId> <artifactId原创 2021-06-30 11:36:34 · 147 阅读 · 0 评论 -
datasource数据源动态连接数据库
我使用的是nacos进行动态获取数据连接需要的值package com.user.config;import com.alibaba.druid.pool.DruidDataSource;import lombok.Data;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Value;import org.springframework.cloud.context.conf原创 2021-05-24 14:38:00 · 568 阅读 · 0 评论 -
java获取本机IP地址,非127.0.0.1
Windows和Linux都可以用 /** * 获取本机ip地址 * @return 返回IP地址 */ public static String getHostIp(){ try{ Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces(); while (allNet原创 2021-03-24 17:28:46 · 685 阅读 · 0 评论 -
HashMap结构和底层原理
HashMapHashMap主要由数组和链表组成,他不是线程安全的。核心的点就是put插入数据的过程,get查询数据以及扩容的方式。JDK1.7和1.8的主要区别在于头插和尾插方式的修改,头插容易导致HashMap链表死循环,并且1.8之后加入红黑树对性能有提升。HashMap中put插入数据流程?往map插入元素的时候首先通过对key hash然后与数组长度-1进行与运算((n-1)&hash),都是2的次幂所以等同于取模,但是位运算的效率更高。找到数组中的位置之后,如果数组中没有元素直接原创 2021-03-12 11:01:07 · 122 阅读 · 0 评论 -
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server解决
Mybatis插入实体类字段为关键字解决方案可能你插入字段为关键字时报如下错误,且字段名不适合改变方案一若自己写的sql,直接在插入语句中字段加上``,比如insert into (id,`left`) value (1,100)方案二网上找到了mybatis plus的解决方案,是加@TableField注解,给上别名加上反单引号,比如 @TableField("`function`") private String function;由此我想到mybatis应该自己也有原创 2021-02-20 09:42:57 · 263 阅读 · 0 评论 -
Java 递归实现多级菜单
查询语句 <!--查询菜单--> <select id="selectMenuByParentId" parameterType="com.user_service.pojo.SystemMenu" resultType="com.user_service.pojo.SystemMenu"> SELECT * from system_menu A <where> <if test="paren.原创 2021-02-18 14:33:15 · 391 阅读 · 0 评论 -
使用JProfiler对内存泄漏分析
1.下载JProfiler https://www.ej-technologies.com/download/jprofiler/files2.启动服务,加入参数java -noverify -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/axs-spring/data/solveProblems/lexer.hprof -jar lexer.jarHeapDumpPath=“后面这个内存泄漏后生成文件的路径”3.如果内存溢出后原创 2021-02-01 19:57:11 · 443 阅读 · 0 评论 -
Java使用POI导出Excel表格(多行表头、合并单元格)
poi导出excel有两种方式:第一种:从无到有的创建整个excel,通过HSSFWorkbook,HSSFSheet HSSFCell, 等对象一步一步的创建出工作簿,sheet,和单元格,并添加样式,数据等。第二种:通过excel.xls 模板的方式,自己在桌面创建一个excel, 然后修改这个excel为模板,复制到项目中(我是放在根目录下),再然后读取模板,修改模板,给模板填充数据,最后把模板写入到另外一个excel2.xls中(硬盘中的)。 按我自己的理解,这种方式只适合,需要导出的内容是固定原创 2021-01-11 14:42:49 · 8183 阅读 · 0 评论 -
SpringBoot集成ElasticSearch7进行增删查改
SpringBoot集成ElasticSearch7进行增删查改引入pom依赖 <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>7.6.0</version> </de原创 2020-12-15 17:21:50 · 325 阅读 · 0 评论 -
Java 将上传的文件上传至指定路径
Java 将上传的文件上传至指定路径/** * 上传文件到指定路径 * @param mFile 要上传的文件 * @param path 指定路径 */ public static void uploadFile(MultipartFile mFile, String path) { try { InputStream in = mFile.getInputStream(); byte[] buffer = new byte[原创 2020-11-13 10:59:09 · 501 阅读 · 0 评论 -
Java调用本地cmd,shell命令,远程调用linux执行命令
Java调用本地cmd,shell命令,远程调用linux执行命令一.本地调用cmd命令 @Test public void testCmd()throws Exception{ String cmd="cmd /c date"; //命令的前面必须要有cmd /c execCmd(cmd); } public static void execCmd(String cmd){ try{ Runtime rt原创 2020-11-13 10:57:38 · 264 阅读 · 0 评论 -
RestTemplate发送带文件的请求
RestTemplate发送带文件的请求服务A @PostMapping("/CloudUploadFile") @ResponseBody public String UploadFile(MultipartFile file, String module) throws IOException{ MultiValueMap<String, Object> bodyParams = new LinkedMultiValueMap<>();原创 2020-11-13 10:56:37 · 2508 阅读 · 3 评论 -
java将页面传的base64图片写入找指定路径下
java将页面传的base64图片写入找指定路径下 public String GetImg(String img){ /** * 1.获取到后面到数据 */ String data = img; String base64Data = data.split(",")[1]; /** * 2.解码成字节数组 */ Base64.Decoder原创 2020-11-13 10:52:37 · 315 阅读 · 0 评论 -
java使用Sftp上传下载文件
java使用Sftp上传下载文件package com.configserver.uitis;import com.jcraft.jsch.*;import java.util.Properties;/** * @Author:刘德安x * @Data:2020/10/9 10:05 */public class SftpCustom { private ChannelSftp channel; private Session session; private St原创 2020-11-12 11:12:30 · 236 阅读 · 0 评论 -
HttpClient远程调用接口
RPC远程调用接口 import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.message.BasicNameValuePair; import org.apache.http.HttpEntity; import org.apache.http.client.entity.UrlEncodedForm原创 2020-11-12 11:10:39 · 422 阅读 · 0 评论 -
Linux搭建RocketMQ
Linux搭建RocketMQ一.下载RocketMQwget https://github.com/apache/rocketmq/archive/rocketmq-all-4.7.0.tar.gz二.解压tar -zxvf rocketmq-all-4.7.0.tar.gz三.编译项目#进入rocketmq-4.7.0目录cd rocketmq-4.7.0#开始编译,注意maven环境要搭建好 如何没搭建Maven可查看我写的安装Maven那一篇博客mvn -Prelease-a原创 2020-11-12 11:09:20 · 227 阅读 · 0 评论 -
Springboot整合RocketMq
Springboot整合RocketMq一.引入依赖<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.7.0</version></dependency>二.创建produce原创 2020-11-12 11:04:22 · 220 阅读 · 0 评论 -
Windows下安装RocketMq
Windows下安装RocketMq一.下载官网下载:http://rocketmq.apache.org/dowloading/releases/二.配置环境变量先将下载的文件解压到本地磁盘变量名:ROCKETMQ_HOME变量值:D:\peizhi\rocketmq-all-4.7.0-bin-release修改path,添加%ROCKETMQ_HOME%\bin三.启动1.启动NAMESERVER使用cmd打开命令窗口,进入到rocketmq的bin目录下,执行:start原创 2020-11-12 11:02:42 · 302 阅读 · 0 评论