11 2020 档案
摘要:软件设计模式使人们可以更加简单方便复用成功的设计和体系结构,它通常包含以下几个基本要素:模式名称、别名、动机、问题、解决方案、效果、模式角色、合作关系、实现方法、实用性、已知应用、例程、模式扩展和相关模式等。 设计模式有两种分类方法,一种根据模式的目的来分;另一种根据模式的作用来分。 1.1 根据模
阅读全文
摘要:https://zhuanlan.zhihu.com/p/256327560 一、如何保证Spark Streaming第一次启动不丢数据? kafka的参数auto.offset.reset设定为earlist,保证Spark Streaming第一次启动从kafka最早偏移量开始拉取数据。 二、
阅读全文
摘要:目录: 一、常见线上故障定位步骤 二、jmap命令查看进程对象的内存情况 三、jstack命令查看栈情况 四、jstat查看垃圾回收情况 一、常见线上故障定位步骤: 1、进程卡死: 发生进程卡死的情况: (1)线程阻塞死锁,多线程竞争锁,线程等待。 (2)线程进入死循环,cpu打满,对于复杂的计算近
阅读全文
摘要:https://mp.weixin.qq.com/s/GNNVZqI5GAMRwZFK41QWRA 回表,索引覆盖定义 https://www.cnblogs.com/wang-meng/p/ae6d1c4a7b553e9a5c8f46b67fb3e3aa.html https://www.cnbl
阅读全文
摘要:https://blog.csdn.net/weixin_44036154/article/details/109026656 目录: 1、开闭原则 2、里氏替换 3、依赖倒置 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从
阅读全文
摘要:https://mp.weixin.qq.com/s/f9N62Uj8Uf-dsybKcGGg6Q 解释,一定是针对某种语言的拆解、释意,并按照文法翻译、转换成另一种表达形式以达到目标能够理解的目的。比如我们都知道Java编程语言是人类可以理解的语言,程序写好后要先进行编译生成字节码(class文件
阅读全文
摘要:https://mp.weixin.qq.com/s/wa5F8uwJtrXJSzoQU8XSJw 众所周知,对于数据的封装我们通常会用到POJO类,它除了getter和setter之外是不包含任何业务逻辑的,也就是说它只对应一组数据并不包含任何功能。举个最常见的例子,比如数据库对应的实体类,一般我
阅读全文
摘要:https://mp.weixin.qq.com/s/wa5F8uwJtrXJSzoQU8XSJw 众所周知,对于数据的封装我们通常会用到POJO类,它除了getter和setter之外是不包含任何业务逻辑的,也就是说它只对应一组数据并不包含任何功能。举个最常见的例子,比如数据库对应的实体类,一般我
阅读全文
摘要:https://mp.weixin.qq.com/s/kMZUigTcYgvS5Y4yFVQQ8g 命令模式,通常指的是一个对象向另一个对象发送信息指令的行为模型,比如父母命令孩子写作业、将军命令士兵进攻等。我们经过分析拆解方法会得到三个模块,首先得有命令发送方,接着是被传递的命令本身,最后就是命令
阅读全文
摘要:https://mp.weixin.qq.com/s/_9zDX0ljV4mr2NwiUd83kg 要致富先修路,一说到路啊桥啊我们就想到它的重要性,它可以把本是相对孤立的经济体连接起来,使得双边贸易往来更加便利,经济合作更加高效。桥接,用桥梁连接,英文叫Bridge,其实就是桥梁之意。 现在假设我
阅读全文
摘要:https://mp.weixin.qq.com/s/23Xzu716kFZSr1hUbZf_Tg 元,始也,本初,根源之意,计算机中的二进制“元”其实就1和0,这两个东西组合起来有无穷无尽的可能,这便形成了计算机中的大千世界,正如“阴”和“阳”为万物之首一样,这也是为什么称其为二元。顾名思义,享元
阅读全文
摘要:https://mp.weixin.qq.com/s/QitwJ4-30cn9RuaJQhIo4Q 曾经有这么一些零散的功能节点,他们各自承担各自的义务,分工明确,各司其职。为了更高效,更完整地解决客户的问题,他们发扬团队精神,互相串联起来形成一个有序的责任传递链表,于是责任链模式诞生了。当然,它的
阅读全文
摘要:https://mp.weixin.qq.com/s/LKAlxvnBqidddwmxRCPQWg 备忘录,备份曾经发生过的历史记录,以防忘记,之后便可以轻松回溯过往。想必我们曾经都干过很多蠢事导致糟糕的结果,当后悔莫及的时候已经是覆水难收了,只可惜这世界上没有后悔药,事后我们能做的只能去弥补过失,
阅读全文
摘要:https://mp.weixin.qq.com/s/gxIbhqjMZKx3PwOHUMeTYw 方法迭代,代的更迭,从初代到末代的遍历,指对某类集合中的每个元素按顺序取出的行为。举个例子,通常我们读小说是从前往后翻,一页接着一页地读,这样我们才可以了解一个连续完整的故事,那这就需要我们顺序地迭代
阅读全文
摘要:https://mp.weixin.qq.com/s/Qm4XpUze7X_xuRD93E5wfA 组合,由于事物与事物之间存在某种关系,进而组织起来并形成某种结构并且可以共同发挥作用。组合模式所应用的就是树形结构以表达“部分/整体”的层次结构。相信我们都知道“二叉树”结构吧,根部分出来两个枝杈(左
阅读全文
摘要:1、aop: AOP和OOP的关系与解释AOP和OOP都是一套方法论,也可以说成设计模式、思维方式、理论规则等等 OOP是obejct abstraction,而AOP是concern abstractionOOP主要是对对象的抽象,诸如抽象出某类业务对象的公用接口、报表业务对象的逻辑封装,更注重于
阅读全文
摘要:如果要经常判断 1 个元素是否存在,你会怎么做?很容易想到使用哈希表(HashSet、HashMap),将元素作为 key 去查找,时间复杂度:O(1),但是空间利用率不高,需要占用比较多的内存资源。 如果需要编写一个网络爬虫去爬10亿个网站数据,为了避免爬到重复的网站,如何判断某个网站是否爬过?很
阅读全文
摘要:https://blog.csdn.net/zhanglh046/article/details/78517478 使用HBase可能会遇到各种问题,有些是系统本身的设计的问题,有些是使用的问题,常见的问题:FULL GC异常导致宕机,RIT问题,写吞吐量太低以及读延迟较大。 一般情况下,读请求延迟
阅读全文
摘要:1、Hbase为什么写比读快 (1)根本原因是hbase的存储引擎用的是LSM树,是一种面向磁盘的数据结构: Hbase底层的存储引擎为LSM-Tree(Log-Structured Merge-Tree)。LSM核心思想的核心就是放弃部分读能力,换取写入的最大化能力。LSM Tree它的核心思路其
阅读全文
摘要:目录: 一 、数据倾斜介绍与定位 二、解决方法一:聚合数据源 三、解决方法二:提高 shuffle 操作 reduce 并行度 四、解决方法三:将 reduce join 转换为 map join 五 、解决方法四:sample 采样倾斜 key 进行两次 join 六、解决方法之五:使用随机数以及
阅读全文
摘要:https://www.cnblogs.com/huhuxixi/p/10644829.html 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其
阅读全文
摘要:https://mp.weixin.qq.com/s/FSgtjqVInE4gItwyVXFBsg
阅读全文
摘要:一、什么是kafka的Rebalance kafka集群模式下,一个topic有多个partition,对于消费端,可以有多个consumer同时消费这些partition。为了保证大体上partition和consumer的均衡性,提升topic的并发消费能力,所以会有Rebalance。Reba
阅读全文
摘要:https://blog.51cto.com/14230003/2441874?source=dra 一、为什么要使用分布式锁 分布式环境下修改某个共有的数据,比如redis的共有数据; 在同一时间,可能多个节点都先查询这个数据,然后更新。在查询的时候,结果是一样的,但是各个节点更新的时候,就是以最
阅读全文
摘要:https://mp.weixin.qq.com/s/Fb1cW0oN7xYeb1oI2ixtgQ
阅读全文