- 博客(67)
- 问答 (1)
- 收藏
- 关注
原创 消息队列常见面试题
消息队列我们在工作中或多或少的都有使用过,那在面试中,常见的有那些面试题呢,下面一一进行归纳与总结。1. 为什么要用消息队列?(消息队列的应用场景?)2. 各种消息队列产品的比较?3. 消息队列的优点和缺点?4. 如果保证消息队列的高可用?5. 如何保证消息不丢失?6. 如何保证消息不被重复消费(如何保证消息的幂等性)?7. 如何保证消息消费的顺序性?8. 大量消息堆积怎么办?...
2020-12-14 22:28:17
328
原创 JVM heap dump分析,排查Java线程池误用导致OOM
问题发现一次偶然用户反馈自己创建的Push任务数据异常,于是后台查看日志排查发现服务异常重启,没有其他异常信息;观察发现,近期出现此类问题较为频繁,当下发的push任务在千万级别时,会出现较高频率重启:系统内存free图:当出现千万量级的push,free的内存从20g一下子打到只剩5g,最后导致OOM,服务直接重启利用MAT检查内存泄露heapdump文件生成在故障定位(尤其是OOM)和性能分析的时候,经常会用到一些文件辅助我们排除代码问题。这些文件记录了JVM运行期间的内存占
2020-07-27 14:03:39
2276
转载 设计模式——工厂模式,看这一篇就够了
原文链接:https://www.jianshu.com/p/83ef48ce635b最近根据公司的业务需要,封装了一些平时开发中基本都会用到的基础业务模块,其中用的最多的就是各个工厂模式了,同时也趁着这个机会复习了一下工厂模式。这篇文章会详细介绍一下各个工厂模式的优缺点,如果你能完全理解了以下三个实例那么工厂模式就不在话下了。由于业务代码不能公开,文中用到的实例会使用其他例子代替。 我们...
2019-07-25 17:32:25
340
原创 【刷题班】Day 10 一天一刷
坚持!剑指offer:问题1:二叉树的镜像操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \...
2019-06-12 14:17:32
461
3
原创 【刷题班】Day 9 一天一刷
端午安康!结束假期,开始新的刷题班!再接再厉!!!坚持剑指offer:问题1:合并两个排序的链表输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。链接:https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&tqId=11169&t...
2019-06-10 20:01:42
331
5
原创 【刷题班】Day 8 一天一刷
坚持打卡!领奖学金哦!剑指offer:问题1:链表中倒数第k个结点输入一个链表,输出该链表中倒数第k个结点。测评链接:https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&tqId=11167&tPage=1&rp=1&ru=/ta/coding-in...
2019-06-07 22:01:25
596
5
原创 【刷题班】Day 7 一天一刷
坚持打卡!领奖学金哦!剑指offer:问题1:数值的整数次方给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。测评链接:https://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00?tpId=13&tqId=11165&tPage=1&...
2019-06-06 15:20:35
216
4
原创 【刷题班】Day 6 一天一刷
坚持打卡!领奖学金哦!剑指offer:问题1:矩形覆盖我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?测评链接:https://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6?tpId=13&tqId=11163&tP...
2019-06-05 21:02:06
246
4
原创 【刷题班】Day 5 一天一刷
坚持打卡!领奖学金哦!剑指offer:问题1:跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。测评链接:https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=13&tqId=11161&tPage=1...
2019-06-04 15:56:12
317
7
原创 【刷题班】Day 4 一天一刷
坚持打卡!领奖学金哦!剑指offer:问题1:旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。测评链接:https://www.nowc...
2019-06-03 11:12:28
543
17
原创 【刷题班】Day 3 一天一刷
剑指offer:问题1:重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。测评链接:https://www.nowcoder.com/practice/8a19cbe657394eeaac2...
2019-06-02 16:25:10
362
14
原创 【刷题班】Day 1 一天一题
问题1:二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。...
2019-05-31 22:39:28
250
原创 【刷题班】Day 1 一天一题
问题1:二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。问题2:替换空格请实现一个函数,将一个字符串中的每个空格替换成“_20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为W...
2019-05-31 22:34:22
241
原创 【刷题班】Day 1 一天一题
问题1:二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。...
2019-05-31 20:47:42
220
2
原创 算法——Union-find算法(并查集)
1. 动态连通性引出问题:问题的输入是一个整数对,其中每个整数都表示一个某种类型的对象,一对整数p、q可以理解为“p q是相连的”。我们假设“相连”是一种等价关系,这也意味着它具有:自反性:p和q是互连的; 对称性:如果p、q是相连的,那么p、q也是相连的; 传递性:如果p和q是相连的且q和r是相连的,那么q和r也是相连的。等价关系能够将对象分为多个等价类。在这里,当且仅当两个对象相...
2018-12-22 23:45:16
189
转载 你应该知道的RPC原理
在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。 而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?2)其它...
2018-10-25 22:50:49
134
转载 Java基础——Object与其中常见方法详解(equals and hashcode)
1. Object的概述;Object 类是Java中所有类的始祖。每个类都可以使用Object作为超类。所有对象包括数组都实现这个类的方法二、Object的API Object() 默认构造方法 clone() 创建并返回此对象的一个副本。 equals(Object obj) 指示某个其他对象是否与此对象“相等”。 finalize() 当垃圾回收器确定不存在对该...
2018-09-28 23:41:15
232
原创 Java集合源码分析
整理了常用的集合源码:ArrayList:https://www.cnblogs.com/zhangyinhua/p/7687377.htmlLinkedList:https://www.cnblogs.com/zhangyinhua/p/7688304.htmlHashMap:https://www.cnblogs.com/zhangyinhua/p/7698642.htmlht...
2018-09-23 19:18:27
170
原创 分布式基础——Hbase
参考:https://www.jianshu.com/p/20aff7d85e95https://www.yiibai.com/hbase/hbase_update_data.htmlHBase是一个分布式、面向列的开源数据库,它是一个高可靠、高性能、面向列、可伸缩的分布式存储系统;Hbase 具有如下特性:强一致的读写性;自动分片:Hbase 表通过region 分布在集群中,数...
2018-09-23 15:10:40
223
原创 java基础——自旋锁
参考:https://blog.youkuaiyun.com/sunp823/article/details/49886051https://www.cnblogs.com/wade-luffy/p/5969418.html一、自旋锁的概念 普通的锁,是线程A拥有了锁之后,线程B如果此时想要获得A的锁,则需要等待进入阻塞态,等待线程A 释放锁之后,然后从阻塞态进入唤醒态去获得A释放的锁;然后线程...
2018-09-21 23:51:04
924
原创 Github使用记录(windows环境)
根据实际需要,需要将本地的项目放到github上;首先在本地已有的项目下,用git bash命令进入,然后执行:ssh-keygen -t rsa -C "你的远程git邮箱地址";执行完之后找到C:/User/用户名/.ssh/文件夹,其中有两个文件,一个是id_rsa是私钥,id_rsa.pub是公钥,复制公钥里面的内容,到github上找到setting,中的ssh……Key,然后将...
2018-09-13 11:11:14
184
原创 解决VMware 无法上网,没有eth0配置信息的问题
参考:https://blog.youkuaiyun.com/fengzizhuang/article/details/12757389编辑vmware虚拟机,在编辑下-虚拟网络编辑器-点击重置默认设置;
2018-09-06 16:45:32
4764
转载 漫画:什么是CAS机制?(进阶篇)
转载:https://blog.youkuaiyun.com/bjweimengshu/article/details/79000506点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达! 上一期为大家讲解的CAS机制的基本概念,没看过的小伙伴们可以点击下面的链接: 漫画:什么是 CAS 机制? 这一期我们来深入介绍之前遗留的两个问题: Java...
2018-09-04 17:34:59
161
转载 漫画:什么是 CAS 机制?
转载:https://blog.youkuaiyun.com/bjweimengshu/article/details/78949435点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达! ————— 第二天 ————— ...
2018-09-04 17:33:44
156
转载 漫画算法:什么是 B+ 树?
漫画讲解下B+树。imageimageimageimage一个m阶的B树具有如下几个特征:1.根结点至少有两个子女。2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m4.所有的叶子结点都位于同一层。5.每个节点中的元素从小...
2018-09-04 17:13:06
341
转载 漫画算法:什么是 B 树?
伯乐在线补充:本文提到的「B-树」,就是「B树」,都是 B-tree 的翻译,里面不是减号-,是连接符-。因为有人把 B-tree 翻成 「B-树」,让人以为「B树」和「B-树」是两种树,实际上两者就是同一种树。————————————————————————二叉查找树的结构...
2018-09-04 17:09:32
159
转载 一看就懂的数据库范式介绍(1NF,2NF,3NF,BC NF,4NF,5NF)
转载:http://josh-persistence.iteye.com/blog/2200644一、基本介绍 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4...
2018-09-04 15:23:51
1194
转载 MyBatis框架及原理分析
转载:https://www.cnblogs.com/luoxn28/p/6417892.htmlMyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:封装JDBC操作 利用反射打通Java类与SQL语句之间的相互转换MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL...
2018-08-29 20:21:15
159
原创 第一章 MYSQL架构
1.1 MYSQL逻辑架构第一层:并非MYSQL独有,许多都是基于网络的客户端/服务器模型,建立链接;第二层:MYSQL的大部分核心内容,比如查询、分析、优化、缓存及所有的内建函数; 第三层:数据库存的存储引擎。1.1.1 连接管理和安全性1.1.2 优化和执行1.2 并发控制1.2.1读锁和写锁1.2.2锁粒度表锁和行级锁1.3 事务什么是事务:是...
2018-08-29 11:39:59
196
原创 SSH工具远程连接Linux遇到的问题与解决
正常安装了SSH Secure之后,进行快速连接,填入必要的信息如host name 与user name,报错: The host 'XCXXXXXXX' is unreachable. the host may be down,or there may be a problem with the network connection. Sometimes such pr...
2018-08-19 23:17:25
3688
原创 面试——常见排序算法总结
参考地址:https://www.cnblogs.com/alsf/p/6606287.html冒泡:public static void bubble(int [] arr) { if (arr== null || arr.length<2) { return;} for (int i= arr.length-1;i>0;i--) { for...
2018-07-25 22:56:01
1004
转载 java面试——http版本协议比较
HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。本文介绍 HTTP 协议的历史演变和设计思路。一、HTTP/0.9HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。最早版本是1991年发布的0.9版。该版本极其简单,只有一个命令GET。GET /i...
2018-06-25 11:21:30
636
转载 Java面试——一次url的路程
原文:https://blog.youkuaiyun.com/Buddha_ITXiong/article/details/79535894https://www.cnblogs.com/WaTa/p/5477374.html第一种解释:偏后端1)要弄清楚这个问题首先要明白url的组成部分:一般把URL分割成几个部分:协议、网络地址、资源路径。其中网络地址指示该连接网络上哪一台计算机,可以是域名或者IP地址,...
2018-06-25 11:16:52
206
转载 彻头彻尾理解单例模式及其在多线程环境中的应用
原文:https://blog.youkuaiyun.com/justloveyou_/https://blog.youkuaiyun.com/fuzhongmin05/article/details/71001857摘要: 本文首先概述了单例模式产生动机,揭示了单例模式的本质和应用场景。紧接着,我们给出了单例模式在单线程环境下的两种经典实现:饿汉式 和懒汉式,但是饿汉式是线程安全的,而懒汉式是非线程安全的。在...
2018-06-15 10:16:47
293
原创 Java面试——MVC模式与MVC框架
1、MVC模式 mvc全名是model view controller,是模型视图和控制器的缩写,一种设计方式,是一种业务逻辑、数据和界面分离的方式组织代码典型的案列:jsp+servlet+javabean2、MVC框架什么是MVC框架?是为了解决传统MVC模式(JSP+Servlet+JavaBean)的一些问题而出现的框架。传统的mvc模式问题:①所有的Servlet和Servlet映射都要...
2018-06-05 13:05:03
1951
转载 Java面试之数据库——数据库索引
原文:https://blog.youkuaiyun.com/sundacheng1989/article/details/53117172最近使用到Oracle数据库的索引比较多,所以就想好好研究一下索引到底是什么。毕竟作为一个Application Developer,而不是DBA,所以这篇文字也是很通俗,特别浅显的描述了一下索引相关的概念。为什么需要索引?数据在磁盘上是以块的形式存储的。为确保对磁盘操...
2018-05-31 11:01:02
18523
2
原创 Java面试——集合以及常见的集合分析
1.集合Java中的集合分为两类,一类是存value(collection接口),一类是存放key-value(Map);存放value的主要分为三类,Set、List还有queue;其中Set是无序,不可以重复的,根据equals和hashcode来判断,也就是如果一个对象要存储到Set中,需要重写equals和hashcode方法;其中List是有序可重复的;2、ArrayList和Linke...
2018-05-31 10:12:56
381
转载 Java面试之计算机网络——HTTP与HTTPS的区别
原文地址:https://www.cnblogs.com/wqhwe/p/5407468.html超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。 为了解决HT...
2018-05-30 20:39:23
4098
原创 java面试——数组和链表的区别
原文:https://www.cnblogs.com/jiqing9006/p/7615467.htmlhttps://blog.youkuaiyun.com/u014082714/article/details/44259029首先:数组在内存空间上是连续的,而链表在内存空间上是可以不连续的。其中链表的每个元素存储了下一个元素的地址,使得一系列的随机的内存地址串在一起。所以只要用足够的内存空间,就能为链表分...
2018-05-30 20:26:16
1554
空空如也
opencv3.0 +vs2013 打开视频文件程序异常中断,求大神解救
2017-07-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人