- 博客(19)
- 资源 (3)
- 收藏
- 关注
原创 使用BulkProcessor出现数据重复问题
completed和failed方法里面都会对exception的请求做node轮询请求,这里的node数量就是client里面设置的连接IP数量,当ES出现响应超时的时候,会抛出sockettimeout exception,bulk方法就会重新先下一个节点发送写请求。而ES本身是用写队列的方式落库数据,虽然响应慢,但是实际的写请求已经进入ES,这就导致数据重复。1、通过给每条数据打上毫秒级写入时间戳,确认是同一条数据被写入多次(2~3次),因为他们的数据内容,写入时间戳完全一致。...
2022-08-10 00:12:11
1283
1
原创 Maven项目——打jar包时指定包含的模块和路径
最近工作中使用dubbo架构对外提供接口,dubbo接口放在项目的单独模块中,dubbo接口的参数中使用到common模块中的模型,在对外提供jar包的时候需要将common的模型和dubbo接口模块一并打到包中对外提供。最开始的时候没有考虑到模型的打包,所以打包出来的jar中只包含dubbo接口的class,dubbo消费者在使用接口的时候无法争取传参;后面加入依赖打包的时候将common依赖的其他jar也一并打到jar包中,整个包50M,实际上项目只关注common中定义的数据模型,最完美的只要打包
2021-07-15 16:23:56
992
原创 案例:接口返回结果序列化耗时过长
案例:接口返回结果序列化耗时过长近期开发任务中,有一项是开发一个接口,将出现在多个挂载位置的机器搜索出来,将挂载生效节点和失效节点区分开,同时要支持节点生效状态的可配置化。本人的解决办法是将机器的唯一标识做一个key,将节点的路径作为valuelist构造出一个数据结构,同时给出节点生效状态、生效状态改变的时间、改变人等字段,最终的构造的结果模型为:List<Map<String, Model>>Model类里面大致是:String processor,Date pr
2021-04-11 00:51:31
1121
原创 使用RedissonClient异步存储Map,针对value为数字类型,实现相同key的value相加
需要引入redissonClient依赖存储缓存部分:@AutowiredRedissonCilent redisson;//创建一个map并写入数据RBatch rbatch = redisson.createBatch(BatchOptions.defaults());RMapAsync<K, V> map = rbatch.getMap("name");m...
2020-03-04 10:56:59
4250
原创 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
C/C++中可以使用&&逻辑短路完成,但是Java中逻辑条件中除了true和false无法使用数字充当判断条件,可以使用取巧的方法。求和的公式为:(n+1)*n/2,扩展一下为(n^2+n)/2,。n^2可以借助Math库里面的函数,除以2可以使用以为操作,求解符合题目要求。代码为:int Sum_Solution(int n) { int result = ...
2019-05-01 00:42:11
830
原创 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径
题目:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)树节点的定义为:public class TreeNode { int val = 0; TreeNode left = null; TreeNode righ...
2019-04-30 23:47:57
2580
原创 使用ArrayList自带的方法删除ArrayList中指定条件的数据
Java的类库类型和功能极其强大,最近这段时间在面试中我才逐渐发现以前自己编的代码还是太少,没能领会到一些比较骚的操作,接下来的时间我会慢慢探索Java更深入的功能,一边学一边写写博客记录和骗骗博客访问量。 首先是利用removeif删除ArrayList中指定条件的数据,这个是我在OPPO面试中被问到的问题。原问题是:如何删除一个ArrayList中的所有偶数。我提出了...
2019-03-26 02:45:42
1732
原创 判断二叉树B是否是二叉树A的子结构(个人想法)
题目:输入两棵二叉树A,B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) 个人想法:二叉树的遍历可分为先序遍历,中序遍历,后序遍历,中序遍历加上先序和后序中任意一种遍历可以确定二叉树的结构,设想若B是A的子结构,则A的先序序列中肯定包含B的先序序列中所有节点,同时逻辑顺序也相同,其余两种序列也是。所以可以先得到B的先序(或后序)遍历序列和中序遍历序列,再得到...
2019-01-25 00:08:36
808
原创 使用Java实现的决策树
本系统实现了决策树生成,只要输入合适的数据集,系统就可以生成一棵决策树。 数据集的输入使用二维数组,输入的个数为:序号+特征+分类结果。同时要把特征名以及对应的特征值传给程序,如此一来系统就可以建决策树。 关于决策树的定义这里不再列出,CSDN上有很多类似的博客。这些博客实现的Java代码很长,又没有注释,我看不懂,所以自己实现了一遍。我这里不再多加赘述。使...
2019-01-13 16:23:21
4770
原创 基于alpha-beta剪枝的井字棋博弈
本程序使用alpha-beta算法解决井字棋人机对弈的问题,运行环境要求是jdk1.8。 初始化时,玩家需要选择棋子种类,输入1代表选择X,输入2代表选择O,输入其他的属于错误输入,默认选O。初始时玩家需要选择先手还是后手,输入1表示选择先手,输入2表示选择后手,输入其他为错误操作,默认是先手。棋盘为3*3大小,分别用1-9表示,按1-9在对应的位置下棋。输入1-9以...
2019-01-13 16:07:59
5515
6
原创 链式队列的简单实现
链式队列是数据结构中常用的一种数据存储方式,使用链表模拟队列的效果,简单的实现如下:#include<stdlib.h>#include<stdio.h>//链式存储结构的队列//定义节点typedef struct QNode{ int data; struct QNode *next;}QNode,*QueuePtr;typedef...
2018-09-21 23:07:54
748
原创 括号匹配的检验
使用栈的结构检验一串输入的括号和中括号是否匹配,只有()和[]一一对应的时候,该串才算正确的串,如:([]())和[([][])]是正确的串,[(])和([())是不正确的。 首先读取输入的串,检查每个当前元素,如果是(或者[则压入栈中,是)或]则检查栈顶元素,如果栈顶元素与当前元素刚好闭合,则将栈顶元素弹出。换而言之,栈中存储的内容只有(和[,当栈为空,当前元素为)...
2018-09-21 17:05:25
6520
2
原创 Linux下设置.vimrc实现vim自动补全括号等功能
vim是Linux下一款强大的文本工具,在刚安装完vim的时候,一切都处于初始状态,没有括号和引号的自动补全,没有行号,没有标尺等。这些可以通过修改vim的配置工具vimrc来实现,但是vimrc中有很多行代码,稍有不慎就会是vim无法使用。可以通过在当前用户根目录下创建隐藏文件.vimrc得到相同的效果。指令即.vimrc的内容如下vim ~/.vimrcinoremap ( ()&...
2018-09-11 21:09:10
14049
7
原创 斐波那契数列-实验吧
题目很简单,简单的大数相加,分为4个段计算即可得到答案,代码如下图。主要是未考虑当每一段第一个数字为0的时候,浪费了较多时间。#include<stdio.h>int main(){ int med=100000000; int i1=1; int i2=0; int i3=0; int i4=0; int j1=1; int j2=0; int j3=0; ...
2018-09-08 13:56:38
818
原创 后台登录-实验吧
打开的链接的时候出现如下页面,随便输入admin,administrator,root……之类的密码都显示密码错误。接连试了好多密码之后打开审查元素,看到如下代码从其中的SQL语句可以猜测出此题与SQL注入有关,使用SqlMap扫描的时候都显示无法连接到目标URL。后来感觉PHP中的md5加密函数可以利用,百度了一下,看到MD5加密后的SQL注入之类的博客,点进去之后没想到...
2018-09-08 11:28:12
806
原创 读取web.xml中的参数
JavaWeb开发中倾向于将公用的常量信息写在配置文件中,当需求改变的时候,只需要改变配置文件中的参数及其值,不需要对代码做修改,维护起来也方便。web.xml提供了设置初始化参数的功能,本节演示从wen.xml中读取预设置参数的功能。 在web.xml配置初始化参数: 在web.xml中添加预定参数的时候,只需要在需要使用到参数的Servlet的<ser...
2018-03-29 14:37:39
1459
原创 Servlet使用response生成图片验证码
在JavaWeb中服务器对客户端浏览器请求做出的响应会被封装成一个HttpServletResponse对象,根据HttpServletResponse对象中的getWriter方法可以获得一个PrintWriter对象,该对象可以实现TXT、word、Excel、PDF、MP3、JPEG等格式文件的输出,这里演示JPEG图片的输出。 在MyEclipse新建一个项目Image。...
2018-03-26 19:42:56
538
1
原创 1.1 JavaWeb开发环境搭建
本文主要讲述JavaWeb开发和运行环境的搭建,主要包括以下三大部分:JDK(Java Development kit)的安装和环境变量的配置目前流行的JavaWeb集成开发环境(IDE)MyEclipse的安装开源Web应用服务器Tomcat的安装和配置 一、安装JDK Java程序必须在特定的Java运行环境才能正常启动,这个环境称为JRE(Java Runt
2017-11-23 19:10:54
578
2
C#写的图书管理系统代码包
2018-12-06
JavaSwing开发使用到的主题
2018-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人