摘要:
进程:进程是程序的一次动态执行过程,它经历了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、到发展到最终消亡的过程
多进程:多进程操作系统能同时运行多个进程(程序)
多线程:是指一个进程在执行过程中可以产生多个线程,这些线程可以同时存在、同时运行,一个进程可能包含了多个同时执行的线程... 阅读原文
2019-09-22 06:26:01 阅读(2885) 评论(0)
摘要:
面试题
如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?
面试官心理分析
这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。
如果说你这个是用 MQ 来传递非常核心的消息,比如... 阅读原文
2019-09-22 06:00:08 阅读(2417) 评论(0)
摘要:
List接口:
ArrayList:数组集合,底层使用数组,查询快,增删慢
LinkedList:链表集合,底层使用链表形式,查询慢,增删快
注意:
对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针
对于新增和删除操作add和remove,L... 阅读原文
2019-09-22 00:43:02 阅读(3660) 评论(0)
摘要:
synchronized / Lock
1.JDK 1.5之前,Java通过synchronized关键字来实现锁功能
synchronized是JVM实现的内置锁,锁的获取和释放都是由JVM隐式实现的
2.JDK 1.5,并发包中新增了Lock接口来实现锁功能
提供了与synchronized... 阅读原文
2019-09-21 23:14:02 阅读(3744) 评论(0)
摘要:
前言
前篇文章 《从0到1学习Flink》—— Data Sink 介绍 介绍了 Flink Data Sink,也介绍了 Flink 自带的 Sink,那么如何自定义自己的 Sink 呢?这篇文章将写一个 demo 教大家将从 Kafka Source 的数据 Sink 到 MySQL 中去。
准备工作
... 阅读原文
2019-09-21 22:16:11 阅读(2411) 评论(0)
摘要:
前面文章我们已经知道 Flink 是什么东西了,安装好 Flink 后,我们再来看下安装路径下的配置文件吧。
安装目录下主要有 flink-conf.yaml 配置、日志的配置文件、zk 配置、Flink SQL Client 配置。
flink-conf.yaml
基础配置
# jobManager 的... 阅读原文
2019-09-21 20:39:06 阅读(2533) 评论(0)
摘要:
本来昨晚就准备看两个题的,结果下班回来躺了一下就睡着了,今天继续,嘿嘿(^.^)
题目一:二进制中1的个数
题目描述:输入一个整数,输出该数二进制表示中 1 的个数。
思路:第一眼看到这个题目的我想法是首先将这个数转成二进制字符串,然后通过遍历这个字符串中的每一个元素是不是等于1,然后用个i... 阅读原文
2019-09-21 19:30:04 阅读(2395) 评论(0)
摘要:
前言
服务注册与发现是微服务中最为基础的环节,而 Eureka 就是一个可以帮助你实现服务注册与发现的选择之一。如果你对 Eureka 和服务发现了解甚少,那么该篇博客将会帮助到你。文中通过具体操作带你了解如下内容:
什么是服务注册与发现
什么是 Eureka
SpringCloud Eureka 单台环境... 阅读原文
2019-09-21 18:33:12 阅读(2316) 评论(0)
摘要:
websocket通信是很好玩的,也很有用的的通信方式,使用方式如下:
第一步由于springboot很好地集成了websocket,所以先在在pom.xml文件中引入依赖
<dependency>
<groupId>org.springfram... 阅读原文
2019-09-21 18:13:01 阅读(2332) 评论(0)
摘要:
== 与 equals()的联系:
==:
我们都知道Java中 == 对用于基础数据类型(byte, short, int, long, float, double, boolean, char)判断时, 是直接对变量值的比较. 而对于引用类型变量则是对变量地址的比较.
equals():
... 阅读原文
2019-09-21 18:05:04 阅读(2644) 评论(0)