
JAVA
文章平均质量分 60
Chary Liu
这个作者很懒,什么都没留下…
展开
-
Flink的BroadcastConnectedStream时间水位线异常问题
在使用广播状态时,广播流BroadcastConnectedStream和数据流DataStream(已经设置了以事件时间为时间戳和水位线)connect之后,水位线就消失了Null,数值一直是Long的最小值,导致了后面的累加操作一直没有到窗口时间,没有调用getResult,最后也一直没有输出。在connect之后先做一个基础算子操作让流变回DataStream,再重新设置时间戳和水位线。直接给BroadcastConnectedStream设置是无效的。最后,可以看到在修改之后水位线正常了。原创 2023-05-09 10:50:19 · 448 阅读 · 1 评论 -
Flink Dashboard的数据监控功能
Flink Dashboard的数据监控功能原创 2023-05-08 15:25:24 · 1487 阅读 · 0 评论 -
LRU和LFU(java实现)
LRUimport java.util.HashMap;public class LRUCache { class Node { public int key,value; Node prev,next; public Node(int k,int v){ key = k; value = v; } } class DoubleList { pr原创 2021-06-10 16:20:29 · 389 阅读 · 0 评论 -
JAVA多线程--3种方式实现生产者消费者问题
生产者-消费者问题实现目标:两类线程生产者线程生产数据消费者线程消费数据共享的数据区域如果共享数据区已满,阻塞生产者继续生产数据放置入内;如果共享数据区为空,阻塞消费者继续消费数据;在实现生产者消费者问题时,可以采用三种方式:使用 Object 的 wait/notify 的消息通知机制;使用 Lock 的 Condition 的 await/signal 的消息通知机制;使用 BlockingQueue 实现。一、使用 Object 的 wait/notify 的消息通知机原创 2021-05-11 17:22:56 · 1586 阅读 · 0 评论 -
Java线程池原理
一、线程池简介1.1 为什么要使用线程池在实际使用中,线程的创建与销毁都是很占用系统资源的,因为java线程依赖于内核线程,创建线程需要操作系统状态切换,如果对线程管理不善很容易导致系统问题。因此,在大多数并发框架中都会使用线程池来负责对线程进行统一分配、调优与监控,使用线程池管理线程主要有如下好处:降低资源消耗。通过复用已存在的线程和降低线程关闭的次数来尽可能降低系统性能损耗;提升系统响应速度。通过复用线程,省去创建线程的过程,因此整体上提升了系统的响应速度;提高线程的可管理性。线程是稀缺资源原创 2021-05-03 14:15:23 · 399 阅读 · 1 评论 -
牛客网笔试-Java常用输入处理
预备知识Scanner:Scanner input = new Scanner(System.in);nextInt():输入整数,只读取整数类型数据, nextInt()在读取完输入后把光标放在读取数据的同一行,该数据的后面。当我们一直使用其读数据的时候,此时遇到回车的时候会自动换行,继续读数据。nextDouble():输入双精度数next():输入字符串(以空格作为分隔符)。只读取到空格,不能读取被空格分开的两个单词(也就是不能读取空格),并且在读取完后把光标放在读取数据的同一行,该数据原创 2021-04-08 20:33:11 · 1189 阅读 · 0 评论 -
浅析SpringMVC原理
1. SpringMVC基本理解SpringMVC是一个基于MVC设计模式的请求驱动类型的轻量级web框架,通过将Model-View-Controller分离解耦合,实现前端展现与后端业务逻辑处理的分离。mvc设计模式的好处分层设计,实现了业务系统各个组件之间的解耦有利于业务系统的可扩展性,可维护性。有利于系统的并行开发,提升开发效率。2. 主要组件(1)前端控制器 DispatcherServlet作用:接收请求、响应结果,相当于代理,减少了其它组件之间的耦合度。(2)处理器映射器原创 2021-04-01 21:26:55 · 237 阅读 · 0 评论 -
POJO和JavaBean的区别
POJOPOJO(Plain Ordinary Java Object),简单普通的java对象。主要用来指代那些没有遵循特定的java对象模型,约定或者框架的对象。没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。POJO的基本内容:有一些private的参数作为对象的属性,然后针对每一个参数定义get和set方法访问的原创 2020-10-04 20:09:40 · 2663 阅读 · 3 评论 -
java:hashCode()与equals()的区别与联系
1. hashCode()和equals()的作用在Java里,hashCode()方法和equals()方法的作用都是用来对比两个对象是否相等一致。2. hashCode()和equals()的区别从两个角度介绍了他们的区别:一个是性能,一个是可靠性。1、equals()既然已经能实现对比的功能了,为什么还要hashCode()呢?因为重写的equals()里一般比较是否相等比较全面、复杂,这样虽然可靠性很好但是会导致效率比较低,而利用hashCode()进行对比,则只要生成一个hash值进行比原创 2020-09-05 16:42:17 · 394 阅读 · 0 评论 -
JAVA面对对象的特性
继承继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继 承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。封装通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象 的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最..原创 2020-05-10 21:17:04 · 176 阅读 · 0 评论