
java
文章平均质量分 62
得得得!
做难事必有所得。
展开
-
分布式ID生成方案--雪花算法和UUID对比
分布式ID的业务需求在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。比如美团外卖:由于系统中数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据,如订单、骑手、优惠券也都需要有唯一ID做标识。因此一个能够生成全局唯一ID的系统是非常必要的。生成ID的硬性要求全局唯一不能出现重复的ID号,既然是唯一标识,这是最基本的要求。趋势递增在MySQL的InnoDB引擎中使用的是聚集索引,由于多数RDBMS使用BTree的数据结构来存储索引数据。因此在主键的选择上我们应该尽量使用有原创 2020-09-14 23:11:17 · 19188 阅读 · 7 评论 -
Arrays.copyOf()对数组扩容
java的数组大小在定义和分配内存的时候就固定了,下面的代码演示怎么给数组扩容。import java.util.Arrays;public class TestCopyOf { public static void main(String[] args) { int[] arr = {1,2,3,4}; //old长度=4 System.out.println("old长度="+arr.length); //扩容一倍原创 2020-09-14 18:20:27 · 609 阅读 · 0 评论 -
java生成流水号(业务码+年/月/日/+自增序列)
代码记录public class NumberUtil { //业务规模较小,一天自增不会超过999 private final static String FORMAT_CODE = "000"; private final static String FAULT_PREFIX = "E"; /** * 生成流水号的方法 * @param faultNum * @return 格式为E20200819001 */ public static String formatNum原创 2020-08-21 14:24:03 · 2886 阅读 · 2 评论 -
idea配置工程热部署
1. 在pom文件中添加热部署需要的jar包<!--热部署--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optiona原创 2020-08-17 14:00:51 · 170 阅读 · 0 评论 -
@RequestParam、@RequestBody、@PathVariable三者的区别
@RequestParam接收的参数是来自requestHeader,即请求头中@RequestParam用来处理 Content-Type 为 application/x-www-form-urlencoded 编码的内容,Content-Type默认为该属性。例子@RequestMapping("/testRequestParam")//name属性解决前后端参数名称不一致问题,把jsp页面传递过来的name属性赋值给username。 public String testRequ.原创 2020-07-10 22:06:24 · 191 阅读 · 0 评论 -
Springboot项目上传图片文件并存入指定目录
一 .上传图片到指定目录 /** * 测试文件上传 */ @RequestMapping("/testFileUpload") public R testFileUpload(@RequestParam MultipartFile upload, HttpServletRequest request) throws Exception{ //上传文件的位置,默认会在项目根目录找static文件夹,需手动创建,不然找到是临时路径。 Strin原创 2020-07-08 22:09:42 · 6852 阅读 · 2 评论 -
(案例篇)java基础io流-InputStream、OutputStream、Reader、Writer
字节输入流字节输出流package test;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/** * 字节流 * 缓冲数组方式复制文件 * @author kwhua */public class ByteStream { public static void main(String[] args)原创 2020-06-25 00:19:11 · 272 阅读 · 0 评论 -
Map集合遍历的四种方式
首先初始化一个map集合 Map<String,String> map = new HashMap<>(); map.put("大毛","20"); map.put("二毛","18"); map.put("三毛","16");1.使用Iterator迭代器遍历。 //1.获取map中的所有key Set<String> keySet = map.keySet(); //2.使用.原创 2020-05-09 11:34:09 · 209 阅读 · 0 评论 -
java实现excel文件批量导入数据
关键代码import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.poifs.filesystem.POIFSFileSystem;import org.apache.poi.ss.usermodel.CellType;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Sheet;import org.apac.原创 2020-06-11 10:01:42 · 484 阅读 · 0 评论 -
Eclipse解决jar包源码中文乱码以及java类的中文乱码问题
操作步骤1.修改Eclipse中文本文件的默认编码:windows->Preferences->general->Workspace->Text file encoding中的other设置为UTF-8//解决导入jar包中文乱码2. 修改JAVA源文件的默认编码:windows->Preferences->general->Content Types->右侧点开Text下拉框,选择Java Source File,然后在下面的Default enc.原创 2020-06-05 14:42:07 · 4463 阅读 · 0 评论 -
java实现在Linux上ping目标主机是否连通
需求描述页面点击刷新按钮,后台发送一条ping指令,判断目标主机是否可以联通。 关键代码测试类public class TestPing { public static void main(String[] args) { // -c 1 表明只发送一次数据包就停止 // ovpn: docker容器名, ip: 目标ip String strPingCmd = "docker exec " + ovpn + " /bin/ping -c 1 " + ip; int ...原创 2020-05-28 16:13:28 · 977 阅读 · 0 评论 -
json数据解析
问题描述前端传入后台一条json数据,数据格式如下。{ token: "c3a262e5b8e6b63d1bfdc90d5e4ea143", datapointList: ["fxy", "kwh"]}解决方法简单记录一下import org.json.JSONArray;import org.json.JSONObject;public List<Map<String, Object>> exportDataPoint(@RequestBody Strin.原创 2020-05-28 14:15:43 · 171 阅读 · 0 评论 -
java程序实现FTP文件的上传、下载、删除功能
问题描述使用java程序完成对ftp服务器文件上传,修改,删除等功能。实现方式导入jar包<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.3</version></dependency><dependency> &.原创 2020-05-27 13:57:36 · 217 阅读 · 0 评论 -
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value
问题描述持久层使用Mybatis和Mysql数据库进行数据交互。更新表的时候报错。sql语句:<update id="flushConnStatu"> update ovpn_client_list set status = #{status} where id = #{deviceid}</update>报错logcom.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect.原创 2020-05-17 00:16:06 · 667 阅读 · 0 评论 -
Springboot项目后端源码打war包报错To see the full stack trace of the errors, re-run Maven with the -e switch
问题描述java后端源码打包发布,执行打包命令:mvn clean package -f pom-war.xml报错解决方法网上找了一些资料,都说是jar包的问题,也尝试了一下,没有解决我的问题。其实原因很简单,就是执行mvn clean把target删除的时候,target文件在其他地方打开(其实就是文件被占用,不能clean。就这自己折腾了个把小时,无奈)。...原创 2020-05-15 17:17:44 · 1155 阅读 · 0 评论 -
Java利用Map缓存并结合定时任务实现数据监控.
需求(工业物联网范畴)假设终端设备A离线,平台挂掉了没有收到遗言(模拟一种巧合),当平台自动拉起后,由于没有收到终端上报的消息。因此此设备还是在线状态,这种现象称为假在线。领导要求平台使用Map+定时任务对设备状态进行监控,发现状态不正常者,及时对设备状态进行调整。同时终端每隔五分钟往平台上报设备状态信息。 具体实现Map缓存工具类package io.renren.modules.devicemgr.utils;import java.util.HashMap;import j..原创 2020-05-14 23:24:48 · 1158 阅读 · 0 评论