01 2020 档案

摘要:题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 题目格式要求: /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode righ 阅读全文
posted @ 2020-01-22 11:31 大浪不惊涛 阅读(197) 评论(0) 推荐(0) 编辑
摘要:/** * 在一个整数数组中找出第5大的数 * 思路是首先在数组中找到最小数,然后依次找到第五大的数 * * @param array * @return */ public static int[] selectionSort(int[] array) { if (array.length == 阅读全文
posted @ 2020-01-21 12:14 大浪不惊涛 阅读(591) 评论(0) 推荐(0) 编辑
摘要:* 评测题目: 有3个线程A/B/C,其中A、B个线程轮流打印1-100 中间如果是10的倍数,则由C线程打印; * 要求在控制台输入如下内容: * 线程A:1 * 线程B:2 * 线程A:3 * …… * 线程C:10 * …… * 线程?:100 /** * 多个线程共享这一个sequence数 阅读全文
posted @ 2020-01-21 11:50 大浪不惊涛 阅读(782) 评论(0) 推荐(0) 编辑
摘要:* 红包算法,给定一个红包总金额和分红包的人数,输出每个人随机抢到的红包数量。 * 要求: * 每个人都要抢到红包,并且金额随机 * 每个人抢到的金额数不小于1 * 每个人抢到的金额数不超过总金额的30% * 例如总金额100,人数10,输出【19 20 15 1 25 14 2 2 1 1】 // 阅读全文
posted @ 2020-01-21 11:48 大浪不惊涛 阅读(1862) 评论(0) 推荐(0) 编辑
摘要:* 给定一个字符串,返回里面有重复出现的且长度最长的子串 * 如字符串"abchepbchepabc",里面最长的重复字符串是"bchep" public void getMaxLenStr(String str) { if (null == str || 0 == str.length()) { 阅读全文
posted @ 2020-01-21 11:42 大浪不惊涛 阅读(854) 评论(0) 推荐(0) 编辑
摘要:给定若干种硬币的面值和一个总金额,写一个函数计算不同的组合种类数量,要求每种面值硬币组合的金额都是给定的金额。 每种面值的硬币数量都无上限。注意 0<= 金额amount <= 5000 1<= 面值coin <= 5000 面值种类小于500 答案小于32位的正整数范围举例1:输入: amount 阅读全文
posted @ 2020-01-21 11:36 大浪不惊涛 阅读(1283) 评论(0) 推荐(0) 编辑
摘要:private static char[] charSet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".toCharArray(); /** * 将10进制转化为62进制 * * @param number 将 阅读全文
posted @ 2020-01-21 11:34 大浪不惊涛 阅读(220) 评论(0) 推荐(0) 编辑
摘要:给定目标url以及请求json参数的情况下,使用httpclient post方式发送json请求到目标url。使用httpclient如下版本: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcl 阅读全文
posted @ 2020-01-21 11:23 大浪不惊涛 阅读(356) 评论(0) 推荐(0) 编辑
摘要:1.题目: 对一个编码格式为utf-8,文件后缀为txt的文本文件,要求使用JAVA的NIO方法,对文件中特定单词出现次数进行统计,输出对应单词的出现次数。要求:1. 输入一个本地文本文件地址,文本文件最大为2G,文本编码类型为utf-8。2. 使用JAVA提供的NIO方法进行文本统计。3. 控制程 阅读全文
posted @ 2020-01-21 11:20 大浪不惊涛 阅读(451) 评论(0) 推荐(0) 编辑
摘要:假设我们一次读取的字节是从下图的start到end,因为结尾是汉字,所以有几率出现上述的情况。 解决方法如下:将第9行这半行(第9行阴影的部分)跟上一次读取留下来的半行(第9行没阴影的部分)按顺序存放在字节数组,然后转成字符串;中间第10行到第17行正常转换成字符串;第18行这半行(第18行阴影的部 阅读全文
posted @ 2020-01-15 16:22 大浪不惊涛 阅读(1664) 评论(0) 推荐(0) 编辑
摘要:ClassNotFoundException 意思就是找不到指定的class。 遇到的场景: 1、调用class的forName方法时,找不到指定的类 2、ClassLoader 中的 findSystemClass() 方法时,找不到指定的类 3、ClassLoader 中的 loadClass( 阅读全文
posted @ 2020-01-14 19:07 大浪不惊涛 阅读(30678) 评论(0) 推荐(0) 编辑
摘要:一,有两个术语,一个叫“定义类加载器”,一个叫“初始类加载器”。比如有如下的类加载器结构:bootstrap ExtClassloader AppClassloader -自定义clsloadr1 -自定义clsloadr2 如果用“自定义clsloadr1”加载java.lang.String类, 阅读全文
posted @ 2020-01-14 17:24 大浪不惊涛 阅读(2776) 评论(0) 推荐(0) 编辑
摘要:1、简单队列 其实上篇文章末尾给出的代码就是简单队列。 一个生产者对应一个消费者!!! 生产者将消息发送到“hello”队列。消费者从该队列接收消息。 ①、pom文件 必须导入rabbitmq 依赖包 1 <dependency> 2 <groupId>com.rabbitmq</groupId> 阅读全文
posted @ 2020-01-14 16:56 大浪不惊涛 阅读(302) 评论(0) 推荐(0) 编辑
摘要:说到消息通信,可能我们首先会想到的是邮箱,QQ,微信,短信等等这些通信方式,这些通信方式都有发送者,接收者,还有一个中间存储离线消息的容器。但是这些通信方式和我们要讲的 RabbitMQ 的通信模型是不一样的,比如和邮件的通信方式相比,邮件服务器基于 POP3/SMTP 协议,通信双方需要明确指定, 阅读全文
posted @ 2020-01-14 16:50 大浪不惊涛 阅读(194) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ 这个消息中间件,其实公司最近的项目中有用到,但是一直没有系统的整理,最近看完了《RabbitMQ实战 高效部署分布式消息队列》这本书,所以顺便写写。 那么关于 RabbitMQ 是什么?大家可以首先参考官网:http://www.rabbitmq.com 。这里我大概的介绍一下: 阅读全文
posted @ 2020-01-14 16:48 大浪不惊涛 阅读(163) 评论(0) 推荐(0) 编辑
摘要:请求流程图 一、引言 前端不仅要让用户对网页有完美的体验,让用户尽快体验到完美的网页也是很重要的,这就要前端攻城狮掌握一些网络原理相关的知识了。这里就来聊一聊从用户输入 url 到页面加载完成的过程中都发生了什么事情? 二、正文 用户输入 url 之后大致发生了以下几件事: 浏览器查找域名的 IP  阅读全文
posted @ 2020-01-13 17:04 大浪不惊涛 阅读(419) 评论(0) 推荐(0) 编辑
摘要:1.以前的误解 很久之前就听说过长连接的说法,而且还知道HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默认都是长连接。但终究觉得对于长连接一直懵懵懂懂的,有种抓不到关键点的感觉。 今天通过一番研究,终于明白了这其中的奥秘。而之前,也看过长连接相关的内容,但一直都是云里雾里的。这次之所 阅读全文
posted @ 2020-01-13 16:48 大浪不惊涛 阅读(403) 评论(0) 推荐(0) 编辑
摘要:正文 回到顶部 一、下载 下载地址: http://kafka.apache.org/downloads.html http://mirrors.hust.edu.cn/apache/ 回到顶部 二、安装前提(zookeeper安装) 参考http://www.cnblogs.com/qingyun 阅读全文
posted @ 2020-01-13 14:49 大浪不惊涛 阅读(188) 评论(0) 推荐(0) 编辑
摘要:正文 回到顶部 一、高可用的由来 1.1 为何需要Replication 在Kafka在0.8以前的版本中,是没有Replication的,一旦某一个Broker宕机,则其上所有的Partition数据都不可被消费,这与Kafka数据持久性及Delivery Guarantee的设计目标相悖。同时P 阅读全文
posted @ 2020-01-13 14:47 大浪不惊涛 阅读(263) 评论(0) 推荐(0) 编辑
摘要:正文 回到顶部 一、Kafka的架构 如上图所示,一个典型的Kafka集群中包含若干Producer(可以是web前端产生的Page View,或者是服务器日志,系统CPU、Memory等),若干broker(Kafka支持水平扩展,一般broker数量越多,集群吞吐率越高),若干Consumer 阅读全文
posted @ 2020-01-13 14:46 大浪不惊涛 阅读(173) 评论(0) 推荐(0) 编辑
摘要:正文 回到顶部 一、简介 1.1 概述 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache 阅读全文
posted @ 2020-01-13 14:42 大浪不惊涛 阅读(161) 评论(0) 推荐(0) 编辑
摘要:1. 前言 流式计算分为有状态和无状态两种情况,所谓状态就是计算过程中的中间值。对于无状态计算,会独立观察每个独立事件,并根据最后一个事件输出结果。什么意思?大白话举例:对于一个流式系统,接受到一系列的数字,当数字大于N则输出,这时候在此之前的数字的值、和等情况,压根不关心,只和最后这个大于N的数字 阅读全文
posted @ 2020-01-13 14:33 大浪不惊涛 阅读(243) 评论(0) 推荐(0) 编辑
摘要:一、任务调度 Flink是通过task slot的来定义执行资源的,为优化资源的利用率,Flink通过slot共享,可以将多个连续的task任务组成的一个pipeline放在一个slot中运行。当任务并行度>1时,并行任务中的每个pipeline就会分配到一个slot去执行,这样就会有一个问题,若是 阅读全文
posted @ 2020-01-13 14:32 大浪不惊涛 阅读(712) 评论(0) 推荐(0) 编辑
摘要:一、Task和Operator Chains Flink会在生成JobGraph阶段,将代码中可以优化的算子优化成一个算子链(Operator Chains)以放到一个task(一个线程)中执行,以减少线程之间的切换和缓冲的开销,提高整体的吞吐量和延迟。下面以官网中的例子进行说明,如下图1所示: 图 阅读全文
posted @ 2020-01-13 14:30 大浪不惊涛 阅读(1479) 评论(0) 推荐(0) 编辑
摘要:一、集群部署阶段 集群部署这里指的是Flink standalone模式,因为在Yarn模式(包括session、single job模式也成Per-job模式)是可以仅通过Flink client提交任务到Yarn上,所以是否手动部署Flink集群对任务的执行是没有影响的。下图[1]是简单的Fli 阅读全文
posted @ 2020-01-13 14:28 大浪不惊涛 阅读(478) 评论(0) 推荐(0) 编辑
摘要:1、前言 在讲Flink基本结构之前,我们的先知道Flink是什么?中文官网上的解释是:Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算[1]。关于无边界和有边界数据流的定义可以参考官网上的解释,从其解释上可以了解到Flink是一个框架和计算引擎,是 阅读全文
posted @ 2020-01-13 14:27 大浪不惊涛 阅读(451) 评论(0) 推荐(0) 编辑
摘要:一.IDEA开发环境 1.pom文件设置 <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <encoding>UTF- 阅读全文
posted @ 2020-01-13 14:22 大浪不惊涛 阅读(318) 评论(0) 推荐(0) 编辑
摘要:一. Flink的下载 安装包下载地址:http://flink.apache.org/downloads.html ,选择对应Hadoop的Flink版本下载 [admin@node21 software]$ wget http://mirrors.tuna.tsinghua.edu.cn/apa 阅读全文
posted @ 2020-01-13 14:21 大浪不惊涛 阅读(607) 评论(0) 推荐(0) 编辑
摘要:一. Flink的引入 这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop、Storm,以及后来的 Spark,他们都有着各自专注的应用场景。Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。Spark 的火热或多或少的掩盖了其他分布式计算的系统身 阅读全文
posted @ 2020-01-13 14:20 大浪不惊涛 阅读(223) 评论(0) 推荐(0) 编辑
摘要:指定方法异步调用 前面我们讲解了通过设置ReferenceConfig的setAsync()方法来让整个接口里的所有方法变为异步调用,那么如何指定某些方法为异步调用呢?下面讲解下如何正确地设置默写方法为异步调用。 假如你只需要设置接口里的方法sayHello为异步调用,那么可以使用下面方式: fin 阅读全文
posted @ 2020-01-13 14:07 大浪不惊涛 阅读(925) 评论(0) 推荐(0) 编辑
摘要:同理我们看下服务消费端启动流程时序图: 在《Dubbo整体架构分析》一文中,我们提到服务消费方需要使用ReferenceConfig API来消费服务,具体是调用代码(1)get()方法来生成远程调用代理类。get()方法最终会调用createProxy方法来具体创建代理类,其中createProx 阅读全文
posted @ 2020-01-13 14:05 大浪不惊涛 阅读(291) 评论(0) 推荐(0) 编辑
摘要:首先我们通过一个时序图,直观看下Dubbo服务提供方启动的流程: 在《Dubbo整体框架分析》一文中我们提到,服务提供方需要使用ServiceConfig API发布服务,具体是调用代码(1)export()方法来激活发布服务。export的核心代码如下: public synchronized v 阅读全文
posted @ 2020-01-13 14:03 大浪不惊涛 阅读(364) 评论(0) 推荐(0) 编辑
摘要:Dubbo默认的底层网络通讯使用的是Netty,服务提供方NettyServer使用两级线程池,其中 EventLoopGroup(boss) 主要用来接受客户端的链接请求,并把接受的请求分发给 EventLoopGroup(worker) 来处理,boss和worker线程组我们称之为IO线程。 阅读全文
posted @ 2020-01-13 14:02 大浪不惊涛 阅读(612) 评论(0) 推荐(0) 编辑
摘要:Dubbo的集群容错策略 正常情况下,当我们进行系统设计时候,不仅要考虑正常逻辑下代码该如何走,还要考虑异常情况下代码逻辑应该怎么走。当服务消费方调用服务提供方的服务出现错误时候,Dubbo提供了多种容错方案,缺省模式为failover,也就是失败重试。 Dubbo提供的集群容错模式 下面看下Dub 阅读全文
posted @ 2020-01-13 14:00 大浪不惊涛 阅读(295) 评论(0) 推荐(0) 编辑
摘要:在Dubbo整体架构分析中介绍了Dubbo中除了Service和Config层为API外,其他各层均为SPI,为SPI意味着下面各层都是组件化可以被替换的,也就是扩展性比较强,这也是Dubbo比较好的一点。 JDK中标准SPI原理 Dubbo增强的SPI功能是从JDK标准SPI演化而来的,所以有必要 阅读全文
posted @ 2020-01-13 13:58 大浪不惊涛 阅读(493) 评论(0) 推荐(0) 编辑
摘要:Dubbo的分层架构 本文将简单介绍Dubbo的分层架构设计,如下图是Dubbo官方的整体架构图: Dubbo官方提供的该架构图很复杂,一开始我们没必要深入细节,下面我们简单介绍下其中的主要模块。 其中Service和Config层为API,对于服务提供方来说,使用ServiceConfig API 阅读全文
posted @ 2020-01-13 13:56 大浪不惊涛 阅读(389) 评论(0) 推荐(0) 编辑
摘要:本文借用dubbo.learn的Dubbo API方式来解释原理。 服务消费端泛化调用 前面我们讲解到,基于Spring和基于Dubbo API方式搭建简单的分布式系统时,服务消费端引入了一个SDK二方包,里面存放着服务提供端提供的所有接口类,之所以需要引入接口类是因为服务消费端一般是基于接口使用J 阅读全文
posted @ 2020-01-13 13:54 大浪不惊涛 阅读(697) 评论(0) 推荐(0) 编辑
摘要:Dubbo源码下载与编译 本文来讲下如何在Dubbo源码编译后,得到用于搭建管理控制台的war包和监控平台的jar包。 首先需要到Github上下载Dubbo的源码,解压后如下: 在dubbo-2.5.x目录执行 mvn clean package -Dmaven.test.skip=true 会生 阅读全文
posted @ 2020-01-13 13:52 大浪不惊涛 阅读(371) 评论(0) 推荐(0) 编辑
摘要:Demo结构介绍 Demo使用Maven聚合功能,里面有三个模块,目录如下: 其中Consumer模块为服务消费者,里面TestConsumer和consumer.xml组成了基于Spring配置方式的服务调用,TestConsumerApi是基于Dubbo API方式的服务调用,TestConsu 阅读全文
posted @ 2020-01-13 13:50 大浪不惊涛 阅读(504) 评论(0) 推荐(0) 编辑
摘要:Zookeeper是Apache Hadoop的子项目,是一个树形的目录服务,支持变更推送,适合作为Dubbo服务的注册中心,工业强度较高,推荐生成环境使用。 , 下面结合上图介绍Zookeeper在服务注册与发现里面的应用: 如上图整体Zookeeper的树根Root是Dubbo,说明建立的Zoo 阅读全文
posted @ 2020-01-13 13:46 大浪不惊涛 阅读(286) 评论(0) 推荐(0) 编辑
摘要:整体来说,一个公司业务系统的演进流程基本都是从单体应用到多应用.在单体应用时,不同业务模块相互调用直接在本地JVM进程内就可以完成,而变为多个应用时,相互之间进行通信就不能简单的进行本地调用了,因为不同业务模块部署到了不同的JVM进程里面,更常见的是部署到了不同的机器,这时候一个高效/稳定的RPC远 阅读全文
posted @ 2020-01-13 13:44 大浪不惊涛 阅读(210) 评论(0) 推荐(0) 编辑
摘要:一、前言 在 『ShutdownHook- Java 优雅停机解决方案』 一文中我们聊到了 Java 实现优雅停机原理。接下来我们就跟根据上面知识点,深入 Dubbo 内部,去了解一下 Dubbo 如何实现优雅停机。 二、Dubbo 优雅停机待解决的问题# 为了实现优雅停机,Dubbo 需要解决一些 阅读全文
posted @ 2020-01-13 10:55 大浪不惊涛 阅读(795) 评论(0) 推荐(0) 编辑
摘要:概述 十种常见排序算法可以分为两大类: 基础定义 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。 不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。 时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。 空间复杂度:是指算法在计算 阅读全文
posted @ 2020-01-08 11:38 大浪不惊涛 阅读(243) 评论(0) 推荐(0) 编辑
摘要:controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。 我们下面来简单的验证下: 我们首先访问 http://localhost:8080/testScope,得到的答案是1;然后我们再访问 http://localhost:8080/te 阅读全文
posted @ 2020-01-07 23:52 大浪不惊涛 阅读(2883) 评论(0) 推荐(0) 编辑
摘要:JVM Client 模式和 Server模式的区别 查看JVM模式 通过 java -version 可查看 JVM 所处的模式,并可以通过修改配置文件进行配置,那它们有什么区别呢? Server:-Server 模式启动时,速度较慢,但是启动之后,性能更高,适合运行服务器后台程序 Client: 阅读全文
posted @ 2020-01-07 23:18 大浪不惊涛 阅读(474) 评论(0) 推荐(0) 编辑
摘要:概念: ● 新生代 GC(Minor GC):从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,因为 Java 对象大多都具备朝生夕灭的特性,所以 Minor GC 非常频繁,一般回收速度也比较快。这一定义既清晰又易于理解。但是,当发生Minor GC事件的 阅读全文
posted @ 2020-01-02 22:48 大浪不惊涛 阅读(12914) 评论(0) 推荐(2) 编辑
摘要:0、排序算法说明 ·0.1 排序的定义 对一序列对象根据某个关键字进行排序。 ·0.2 术语说明 ·稳定 :如果a原本在b前面,而a=b,排序之后a仍然在b的前面; ·不稳定 :如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; ·内排序 :所有排序操作都在内存中完成; ·外排序 :由 阅读全文
posted @ 2020-01-02 17:03 大浪不惊涛 阅读(3403) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/apeopl/category_7732694.html https://github.com/silently9527/JavaCore redis学习篇 https://my.oschina.net/ProgramerLife?tab=newest&c 阅读全文
posted @ 2020-01-02 13:56 大浪不惊涛 阅读(124) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示