自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (2)
  • 收藏
  • 关注

原创 深入源码一步步看懂thread.join()做线程同步

(1)怎么理解join?它的意思是:加入,融合我们可以想象多线程其实就是异步的一种形式,new thread跟当前主线程正常情况下并行执行互不影响,有可能主线程执行快,有可能新的子线程执行快,都不确定,如果主线程需要用到子线程的处理结果,也就是主线程需要等待子线程执行完成之后再执行,这个时候就要用到join()方法了。join方法可以暂停主线程,等待某个子线程执行完之后再继续执行下面的代码那么join方法的意思就很明显了,让当前线程“加入”子线程的执行后面,变得类似串型化执行(2)怎么使用?假设需

2021-06-24 17:09:05 237

原创 park(), wait(), sleep()线程的挂起/唤醒的基本使用与区别

直接上代码,先看一段很简单的创建线程的代码:Thread threadB = new Thread(new Runnable() { @Override public void run() { System.out.println("BBB"); }});threadB.start();执行结果没问题(1)假设有个业务场景,线程任务必须在满足某个条件才执行,而不是start的时候执行,怎么做?这个时候理所当然就想着先把当前线程挂起,满足条件时候再唤醒。经过改造,写出如下代码:

2021-06-23 16:41:10 2284

原创 面试基础:谈String类的不可改变性

String是我们用得最多的一个类,它不是基本类型,但底层是依赖char[]字符一维数组实现的,我们还是直接看它长什么样,再做进一步分析。final 修饰的类,所以String自身不可以被继承(原因下面说)final 修饰了char一维数组,所以创建出来后就不允许再进行重新赋值(原因下面说)基于这个String,下面考几道常见面试题:(1)String a = "a";String b = "a";System.out.println(a == b);结果是true,因为a,b变量都指向

2021-06-17 18:10:45 229 2

原创 Java的强引用,软引用,弱引用,虚引用

所谓的强引用,软引用,弱引用,虚引用其实是几种不同的对象创建方式,相当于给创建出来的对象打上不同的标签。我们都知道对象的生命周期由垃圾收集器做GC来控制,我们虽然无法控制垃圾回收,但是我们能配合垃圾回收的规则,通过编码来管理某些对象的生命周期,更充分利用内存,减少无效对象的内存占用,避免OOM,这就可以用上强引用,软引用,弱引用,虚引用几种方式。(1)强引用Object o = new Object();String a = new String(“hello world”);在一个方法中使用

2021-06-16 17:21:12 169

原创 Java8 stream常用流式操作(集合类的转换,元素的最大最小平均值/查重/排序/过滤/删除/个数限制/跳跃/奇偶性...)

想象一下如果以前的Java写法针对List与Map容器类相互转换,特定属性的排重,集合元素排序,过滤筛选,删除元素,奇偶性判断,返回限制的个数……之类的操作,第一步就是需要写for循环,把每个元素遍历出来,再做自己逻辑操作。这里抛开以前在for循环里面写代码的固化思维,减少一点for,简化代码,如何写得更加简洁?首先创建今天的主角类:Zoo,类属性很简单:id和namepublic class Zoo { private int id; private String name;

2021-06-15 17:51:22 2324 1

原创 Apache DolphinScheduler征稿 — 小Demo轻松入门DolphinSchedule大数据调度工具

目录:文章目录官方文档 | [GitHub源码](https://github.com/apache/dolphinscheduler)一、从实际需求入手,我们为何要选择使用DolphinSchchedule二、DolphinSchchedule的背景知识上面介绍了实际需求中什么情况下会使用到它,这里就介绍一下它的诞生和发展DolpginSchedule是由易观团队在2017年底开始设计并进行开发,主要目的也是为了解决上述大数据分析平台的复杂的ETL调度关系。并在2019年4月进行开源,同年8月全票通过

2021-06-02 15:16:40 2353 2

内存溢出排查手册.pdf

内存溢出排查手册.pdf

2021-05-14

流式字符串统计的FlinkJob

流式字符串统计的FlinkJob小demo

2020-12-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除