- 博客(8)
- 收藏
- 关注
原创 数据结构-树(二叉树,二叉查找树,二叉平衡树,红黑树以及插入和删除操作)
树定义用来模拟具有树状结构性质的数据集合,由n(n>0)个有限节点组成一个具有层次关系的集合。1.每个节点有零个或多个子节点2.没有父节点的节点称为根节点3.每一个非根节点有且只有一个父节点4.除了根节点外,每个子节点可以分为多个不相交的子树二叉树每个节点最多含有两个子树的树称为二叉树二叉树衍生出了满二叉树和完全二叉树满二叉树除最后一层无任何子节点外,每一层的所有节点都有两个子节点。高度为h,由2^h-1个节点构成的二叉树完全二叉树若二叉树深度为h,除第h层外,其它各层的节点
2020-10-12 17:30:51
1020
原创 Websocket客户端断网,服务端心跳超时检测并断开连接
起因项目上想通过websocket做好友的上线下线通知功能,用户上线时客户端websocket连接服务端,调用服务端onOpen()方法,服务端通知所有好友当前用户上线;用户退出时客户端websocket断开连接,调用服务端onClose()方法,服务端通知所有好友当前用户离线。问题这样做会有一个很大的问题,如果客户端是关闭流量、关闭WIFI断网而不是正常退出,服务端就不会收到客户端的断连请求,因此服务端并不会触发onClose()方法,导致其好友无法收到当前用户的离线信息。解决方案经过网上大量资
2020-09-16 23:38:36
10471
4
原创 Java中引用对象,形参,内存空间和内存地址的含义
今天写红黑树的时候碰到个基础问题,涉及到引用对象,形参和内存空间之间的联系操作流程Node节点类class Node{ private Node parentNode; private Node leftNode; private Node rightNode; private int val; private byte color; //0为黑色,1为红色}我分别实例化了两个Node类并分别给其val变量(int类型)赋值为1和2将node1和nod
2020-07-24 22:48:42
1372
1
原创 通过URL链接将文件下载到本地
public File downUrlTxt(String fileUrl){ String fileName = DataUtils.getNumberByUUId();//调用工具类生成唯一标识文件名 File savePath = new File(downPath);//downPath是自定义的文件下载地址,如 D://huoyun/ ...
2020-04-09 15:43:23
2929
原创 RestTemplate包装请求参数,请求接口并获取返回值
//创建restTemplate和HttpHeaders头部对象RestTemplate client = new RestTemplate();HttpHeaders headers = new HttpHeaders();//设置请求方式HttpMethod method = HttpMethod.POST;//设置提交方式为表单提交headers.setContentType(M...
2020-04-01 19:54:10
1472
原创 后台接收前端的json对象
前端json对象{"id":"12414141","goodsList":[{"totalAmount":"235","price":"235","id":"235"}]}后台实体@Datapublic class ExecuteOfferVo { private String id; private List<HsInquiryGoods> goodsLi...
2020-03-26 15:18:53
996
原创 安装部署Elasticsearch7.3.1及Head插件,并且封装HighLevelRestClient里的基本增删改查聚合操作
ElasticSearch前言ElasticSearch的javaAPI官方一共提供了有三种:TransPortClient,LowLevelRestClient,HighLevelRestClient。目前TransPortClient已经被废弃了,并且官方极力推荐HighLevelRestClient,本次的项目使用的就是HighLevenRestClient,目前论坛上相关资料还比较少...
2019-10-09 22:26:43
1203
原创 RabbitMQ简单的封装,通过配置文件生成生产消费者对象
问题引入最近在项目中会经常使用到消息队列RabbitMQ,每一次使用时都需要先配置连接工厂生成连接,再通过连接创建通道,最后通过去配置通道的参数进行几种不同模式的生产消费操作,如此操作极其影响开发的效率。Java的核心封装思想是不允许有如此繁琐且反复的操作的,所以,作为一位极具上进心又极富责任心的javaer有义务也有责任将其复杂的过程封装及简化!核心思想使用RabbitMQ无非几个步骤...
2019-09-02 13:49:12
1009
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人