Java
文章平均质量分 68
NDSC流氓
这个作者很懒,什么都没留下…
展开
-
【实战】多属性校验唯一性解决方案
【前言】最近在优化一个导入功能,导入6w条数据居然花了1天的时间,当时我就惊呆了O.O后面检查了一下代码,主要的问题在于for循环走创建接口,没用到多线程,所以耗时比较久,这还只是校验数据可用性的阶段,后面还有一个校验唯一性的阶段,这个阶段需要21个属性均不重复来校验唯一性(原来有25个属性,有几个属性的校验是多余的,被优化了),旧表没有索引且所有属性列均没有设置非空和默认值,导致sql里有一堆的判空处理<choose> <when test="attr == null原创 2021-07-12 16:11:29 · 1367 阅读 · 0 评论 -
【Redis实战】之从0到0.1的评论功能
普通的评论功能就是直接使用Redis的List结构,然后不断的往这个List的列表里面去推评论简单暴力的方式就是每次直接把所有id拿到本地进行计算创建评论时往左边插入,然后读取评论时直接从左往右读取,计算偏移量...原创 2020-07-30 17:24:32 · 1972 阅读 · 2 评论 -
java.lang.OutOfMemoryError: unable to create new native thread 问题排查
场景重现由于之前第三方登录会直接存头像地址,而h5网页会出现跨域的问题,然后接到任务是将第三方头像地址转存到七牛云上使用的多线程池Executors.newFixedThreadPool,不然速度太慢了// 获取空闲进程数int processors = Runtime.getRuntime().availableProcessors();// 创建多线程池ExecutorSe...原创 2019-07-03 22:11:09 · 5988 阅读 · 0 评论 -
ELK + log4j2 简单的配置进行日志追踪
一、如果直接设置服务器的hostName则可以在log4j2配置文件里直接使用${hostName}二、否则设置环境变量,并使用监听器,因为log4j2默认取的配置信息是使用System.getProperty()方法,而环境变量则需要通过System.getenv()方法获取参数① 设置环境变量,注意jdk启动的用户是,需要在/home/jdk启动用户/.bachrc文件里设置环境变...原创 2019-06-26 16:39:34 · 1892 阅读 · 0 评论 -
SpringCloud + Eureka 微服务优雅下线
先附上网上解决方案:https://www.jianshu.com/p/14c0b6c389f0https://blog.csdn.net/hunger_wang/article/details/87722129网上清一色基本都是这几种方法下面介绍我自己的方法① 注入ApplicationInfoManager管理器,可用于获取当前微服务的状态或者修改微服务状态impo...原创 2019-05-27 15:31:49 · 1631 阅读 · 0 评论 -
阿里云MNS工具 java-messaging-lib 之万恶的System.out.prinln
不知是哪位阿里程序猿在代码里写上System.out.prinln 且没有删除掉导致日志里疯狂在刷消费的信息,瞬间就把日志文件刷到十几G以上之前有写过一篇文章禁用System.out的方法之重定向但是这种方法治标不治本,且在高并发下会导致内存不足抛出异常java.lang.OutOfMemoryError: Java heap space后来用了旁门左道的方式解决了第一种...原创 2019-04-13 22:29:17 · 552 阅读 · 0 评论 -
【头脑风暴】基于redis的单点登录,退出登录清空token,token续期
之前我做了基于redis的单点登录和token续期,现在分享下我的经验先说下几个关键属性userId: 用户IDxinge: 用的是信鸽推送,单点登录踢人用的,redisKey为 user:xinge:用户IDtoken: 用户token,redisKey为 user:token:用户ID 一丶单点登录在用户登录校验密码通过时,判断redis上的信鸽号与用户传过来的是否...原创 2019-02-26 23:49:37 · 4865 阅读 · 0 评论 -
【Elasticsearch实战】使用Java API 根据查询条件进行批量更新某个属性
Elasticsearch版本:<dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>6.3.2</version></depe原创 2019-03-02 00:01:13 · 3880 阅读 · 0 评论 -
禁用System.out的方法之重定向
业务场景使用阿里巴巴的MNS,但是因为MNSMessageProducer 类中有system.out.prinlin,所以导致频繁在日志中打印信息日志文件分分钟就1GB解决思路重定向system.out, 并输出空字节代码import org.springframework.boot.ApplicationArguments;import org.springf...原创 2019-02-15 15:11:04 · 1520 阅读 · 1 评论 -
记一次FileSystemResource的巨坑
return ResponseEntity .ok() .headers(headers) .contentLength(contentLength) .contentType(MediaType.APPLICATION_OCTET_ST...原创 2019-01-16 00:10:20 · 7569 阅读 · 0 评论 -
使用油猴子对 Eureka 网址进行自定义修改
// ==UserScript==// @name 开发环境 Eureka 映射// @namespace http://tampermonkey.net/// @version 0.1// @description try to take over the world!// @author You// @match htt...原创 2018-12-25 16:05:54 · 1010 阅读 · 0 评论 -
关于io操作关闭的几种方式
一、手动关闭FileInputStream is = null;try { is = new FileInputStream(new File(""));} catch (Exception e) { e.printStackTrace();} finally { try { if (null != is) { is.cl...原创 2018-12-29 23:21:06 · 1405 阅读 · 0 评论 -
从零开始学23种设计模式 之 Builder模式
我写博客更注重实战, 但是结尾都会附上参考资料让大家能更深入的了解idea 通过 lombok 使用 Builder模式import lombok.Builder;import lombok.Data;import lombok.experimental.Tolerate;import java.io.Serializable;/** * author: GoL * ti...原创 2018-12-29 22:54:18 · 168 阅读 · 0 评论 -
七牛云 无效图片过滤
import lombok.Cleanup;import okhttp3.OkHttpClient;import okhttp3.Protocol;import okhttp3.Request;import okhttp3.Response;import javax.swing.filechooser.FileSystemView;import java.io.*;import ...原创 2019-01-03 23:04:19 · 463 阅读 · 0 评论 -
七牛云 时间戳 防盗链
首先打开域名配置面板 找到访问控制,然后下面会有时间戳防盗链设置,点击修改配置 点击后会展示配置面板① 选择开启 ② 选择key生成器 ③ 将key1复制粘贴到 主要key ④ 将key2复制粘贴到备用key2 然后接下来就要先生成一个测试URL进行检查,附上加密代码import org.apache.commons.codec.binary.Hex;...原创 2018-12-28 21:30:41 · 1782 阅读 · 0 评论 -
Idea 通过设置覆盖环境变量
在Edit Configurations的设置添加环境变量,可以覆盖配置文件中的属性比如 我添加了 USERDOMAIN : NDSC流氓在yml配置文件中可以通过${USERDOMAIN}来进行引用该属性,而且优先级比系统默认的属性要高,会直接覆盖掉如果帮到你,请点个赞吧 O(∩_∩)O~...原创 2018-12-27 11:02:14 · 4332 阅读 · 0 评论 -
springcloud 通过远端配置文件实时刷新动态路由(适用于开发环境)
每个公司项目的情况都不一样,我这个只适用于zuul然后我是根据配置文件去动态刷新路由的,看过网上另一个教程https://blog.csdn.net/u013815546/article/details/68944039一些相关知识可以了解一下,我就不做赘述了,大家可以先去看一下,了解一下基础的东西, 他的教程只适用于已存在的路由进行更新, 但是相关知识的介绍还是可以看看的具体原因...原创 2018-12-05 21:35:15 · 1578 阅读 · 0 评论 -
关于FileChannel的transferTo方法复制超过2GB文件不完整的情况
详情查看FileChannelImpl的transferTo的实现源码public long transferTo(long var1, long var3, WritableByteChannel var5) throws IOException { this.ensureOpen(); if (!var5.isOpen()) { t...原创 2018-11-25 00:41:56 · 5429 阅读 · 2 评论 -
Java随机生成长度为length,总数为number的不重复随机数
import java.util.*;/** * author: GoL * time: 2018-06-12 */public class randomGenerateUtils { private static final String[] number = {"0", "1", "2", "3", "4", "5", "6", "原创 2018-07-26 11:31:23 · 377 阅读 · 0 评论