11 大树168

尚未进行身份认证

我要认证

现在才明白,要赚到足够令自己安心的钱,才能过上简单、安逸、自由的生活,才能让自己活得更有底气。所以,多花时间努力,少点功夫矫情 github地址 https://github.com/lmchuyang/huyang

等级
TA的排名 2w+

JAVA生成图片或照片draw方式

第一步,生成本地图片再进行操作,经常用于图片验证码,或者加水印,加盖章之类 public void drawImage() throws FileNotFoundException, IOException { int width = 350; int height = 450; int fontSize = 20; Prescription prescriptionResult = prescriptionRepository.g..

2020-08-26 11:14:14

按字符串里的数字排序

按字符串里的数字排序给出的字符串结构是前边是字母、后边为数字,例如wew0145,要求给出一组数据,按照后边的数字从小到大排序。输入wr0068,lt01,qhy0027828,gh20425256,xj0033258,zmj00505562输出lt01,wr0068,qhy0027828,xj0033258,zmj00505562,gh20425256//按字符串里的数字排序// 输入 "wr0068,lt01,qhy0027828,gh20425256,xj003..

2020-07-12 11:36:59

字符反转和括号合法化以及深度算法

给定一组括号,然后计算括号合法弄,有没有正常闭合等/*题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效有效字符串需满足: 1、左括号必须用相同类型的右括号闭合。 2、左括号必须以正确的顺序闭合。 注意:空字符串可被认为是有效字符串。 二、分析:看到这个题目,应该联想到栈首先遍历这个字符串的每个元素c,如果 c 是左边括号,那么就让与该括号相对于的右边括号入栈如果 c 是右边括号,就判..

2020-07-10 20:05:49

流量采集任务分配算法

任务分配算法,主要是轮询然后是 MAP利用数据结构, KEY里封装对象 再追加list 如Map<String, List<String>> old_map = new HashMap();old_map.get(same.getIsoCode()).add(nodeSame.getCountryIp());对于任务分配 非常有帮助/* * Ze...

2020-02-25 19:20:41

红包分配算法,总金额分配算法

最近要做一个 总数和分配几个点的数据, 但是又不能是平均值,所以写一个随机分配数,每个数的和加在一起等于总金额类似于红包分配方式,解释说明都写在类里了解释和说明* 1 抢红包的期望收益应与先后顺序无关 2 保证每个用户至少能抢到一个预设的最小金额,人民币红包设置的最小金额一般是0.01元,如果需要发其他货币类型的红包,比如区块链货币或者积分,需要自定义一个最小金额。 3...

2020-02-25 12:24:39

redis+springboot1.5.6集群配置

线上碰到连接池无法获取问题 ,排查后,看到配置redis的地方有问题,RedisConnectionFailureException: Could not get a resource from the pool; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get...

2020-01-07 11:38:44

Greenplum批量操作,数据库里面作删除更新速度最快

这是记一次线上GP大数据库 大量重复问题解决方案 1 建临时表,把重复的数据备份,2 在备份库用查询条件去删除正式表最近在玩Greenplum 数据库, 一款分布式的数据库 ,MPP架构,但是有好的也有不如意的,总体感觉还是不错,底层数据库还是用PostgreSQL8.2版本, 因为我是GP4.2嘛, 最新版本的GP6.0是基本PostgreSQL9.2,在性能上提高了不少。先说下,...

2019-12-26 17:46:03

两个List进行比较,进行新增,删除,修改等操作

第一 两个list要进行 新增,删除,和修改的标记,然后到数据进行相应操作, 能够处理的情况有两种,第一种 是把两种结果相互比较,放到MAP里,取出为NULL说明是另一个LIST没有的KEY,第二种, 找到相同的ID值后, 标记出来,然后加到删除的list里第一种方式的代码 封装到map是为了减少循环次数 , 还是可以进行优化, 用SET去重,那就不需要封装两次LIST...

2019-12-24 10:03:29

Spring Boot1.5 使用 Swagger文档接口

Swagger 简介Swagger 是一套基于 OpenAPI 规范构建的开源工具,可以帮助我们设计、构建、记录以及使用 Rest API。Swagger 主要包含了以下三个部分:Swagger Editor:基于浏览器的编辑器,我们可以使用它编写我们 OpenAPI 规范。 Swagger UI:它会将我们编写的 OpenAPI 规范呈现为交互式的 API 文档,后文我将使用浏览器来查...

2019-12-19 16:17:48

mybatis批量插入和批量修改删除

第一, 是组装自己的的LIST 传入参数,再循环得到对象先贴 xml代码 update 的时候, mysql数据库, 一定要加上双线单引号,否则会报错,找不到数据库属性<!-- 增加SNMP --><insert id="insertAllSnmp" parameterType="java.util.List"> insert into tb_d...

2019-12-13 16:18:23

List使用Stream 分组求和groupingBy, collect、reduce方法流数据处理

jdk8 流式数据处理太灵活,一下了还不太好掌握 ,下面记录一些操作,方便使用的时候参考 public void testCodeSum() { Foo foo1 = new Foo(1, 2, 5); Foo foo2 = new Foo(2, 23, 6); Foo foo3 = new Foo(2, 6, 7); ...

2019-12-06 22:13:00

kafka不同组消费同一主题topic生产者配置

因数涉及到数据的原子性,必须多个分组消费同一消费主题,写入数据库后, 可以自行回回滚数据,重新消费,不影响其它数据消费的目的,实现分批次拉取数据等,也是走了很多坑第一, 是环境兼容性问题,高版本可能更容易实现多分组消费同一主题topic依赖环境 springboot15.0+spring-kafka-1.1.1.RELEASE<parent> <group...

2019-12-06 11:30:46

kafka定时任务拉取数据

1 定时任务两种, 2 消费分组消费从哪里开始,不消费历史数据 定时主要是为了延迟拉消费,最简单方式 直接批量拉取之后, ack批量提交后, 线程挂起3秒,更好达到效果 if (kafuKfaUtils.insertFlowdata(jsonarray, map)) { ack.acknowledge(); ...

2019-12-04 20:42:56

docker下读取txt文件找不到路径,必须copy到容器或者映射文件

今天遇到问题, 项目上传了一个GEO文件,但是在容器里运行的时候,找不到路径,因为容器里没有项目文件路径,只有一个JAR包, 这样的话,就要在容器里创建一个工作目录,然后打包容器的时候,把文件copy或者 add进容器里,代码如下1 第一步,docker 文件createDockerFile.sh 在服务端直接用命令 。 shcreateDockerFile.sh ,拉代码和打...

2019-11-28 13:13:31

kafka批量消费手动提交ACK

一次性拉取多条数据,消费后再手动提交ACK,因为要保存到数据库去, 这过程如果失败的话, 需要重新消费这些数据所以 配置的时候,KAFKA不能自动提交 ,批量消费数据设置ENABLE_AUTO_COMMIT_CONFIG=false,禁止自动提交 设置AckMode=MANUAL_IMMEDIATE 监听方法加入Acknowledgment ack 参数package ...

2019-11-27 21:08:52

kafka-stream流式处理示例

一 首生是kafka -stream 版本号问题,然后是springboot1.5.6兼容问题,发现springboot2.0不支持kafka -stream1.0.2包第一个是窗口聚合的初始值,第二个是进行聚合的聚合器,第三个就是窗口时间,第四个是类似于序列化的东西KTable aggregate = groupedStream.aggregate(initializer, ag...

2019-11-15 15:28:03

Logback异步日志输出的使用

<?xml version="1.0" encoding="UTF-8"?><configuration scan="true" scanPeriod="60 seconds" debug="false"> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 --> <property name="LOG_HOME" ...

2019-11-11 12:45:22

两种轮询平均分配的算法

1 第二种简单轮询算法1 定义一个变量保存索引值,然后每赋值一次, 就加1 用索引取值, 这样的话必须 是list才能取到里面的第几个 int f = 0; for (int j = 0; j < ziNode.size(); j++) { if (f >= maps.size()) { ...

2019-11-03 12:10:51

JAVA + GeoLite2+ip定位,查询国家地理位置信息

最新要用到地理位置做区域划分,需要知道哪个ip属于哪个区,五大洲的区域划分,有两千个IP需要知道,并且查询频率比较高,每十分钟去查询一次, 最开始是用的第三方API去调用,比如淘宝,百度等,但是就怕请求太频繁了,哪天给我黑名单了, 那我线上程序就挂了,还有一个,在国内用的话,是比较方便的,IP纯真数据库,但是我的IP大部分都是国外,定位在国内是没有什么问题,国外就...

2019-10-31 13:30:16

list内部元素排序

自定义排序,降序排: Collections.sort(list, new Comparator<Record>() { @Override public int compare(Record o1, Record o2) { return o2.getInt("id").compareTo(...

2019-10-25 15:10:01

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。