12 2018 档案

摘要:(问的多,流量控制和拥塞控制要区别开来) TCP的流量控制和拥塞控制 TCP的流量控制 1. 利用滑动窗口实现流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。 利用滑动窗口机制可以很方便地在TCP连 阅读全文
posted @ 2018-12-27 16:44 twoheads 阅读(5506) 评论(0) 推荐(2) 编辑
摘要:(拼多多问:Redis雪崩解决办法) 导读:互联网系统中不可避免要大量用到缓存,在缓存的使用过程中,架构师需要注意哪些问题?本文以 Redis 为例,详细探讨了最关键的 3 个问题。 一、缓存穿透预防及优化 缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,但是出于容错的考虑,如果从存 阅读全文
posted @ 2018-12-26 17:23 twoheads 阅读(643) 评论(0) 推荐(0) 编辑
摘要:1 线程与线程间通信 1.1 基本概念以及线程与进程之间的区别联系 关于进程和线程,首先从定义上理解就有所不同: 进程是具有一定独立功能的程序、它是系统进行资源分配和调度的一个独立单位,重点在系统调度和单独的单位,也就是说进程是可以独 立运行的一段程序。 线程是进程的一个实体,是CPU调度和分派的基 阅读全文
posted @ 2018-12-26 16:58 twoheads 阅读(4213) 评论(0) 推荐(0) 编辑
摘要:在进行Java NIO学习时,发现,如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数据包粘在一起的情况,这就是TCP协议中经常会遇到的粘包以及拆包的问题。我们都知道TCP属于传输层的协议,传输层除了有TCP协议外还有UDP协议。那么UDP是否会发生粘包或拆包的现象呢?答案是不会 阅读全文
posted @ 2018-12-26 16:54 twoheads 阅读(563) 评论(0) 推荐(0) 编辑
摘要:MVC 模式 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View(视图) - 视图代表模型包含的数据 阅读全文
posted @ 2018-12-26 11:02 twoheads 阅读(5662) 评论(0) 推荐(0) 编辑
摘要:(问较多:1.SpringBoot对比SpringMVC。2.SpringMVC 处理请求过程。问:springboot的理解 Spring,Spring MVC,Spring Boot 三者比较 Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基 阅读全文
posted @ 2018-12-25 14:59 twoheads 阅读(8156) 评论(0) 推荐(0) 编辑
摘要:(问:1.for、foreach和Iterator遍历有什么区别 2.遍历删除ConcurrentModificationException异常。) 1.在形式上 for的形式是 for(int i=0;i<arr.size();i++){...} foreach的形式是 for(int i:arr 阅读全文
posted @ 2018-12-25 14:39 twoheads 阅读(475) 评论(0) 推荐(0) 编辑
摘要:https://juejin.im/post/57fa935b0e3dd90057c50fbc 在 Redis 中,list 有两种存储方式:双链表(LinkedList)和压缩双链表(ziplist)。双链 表即普通数据结构中遇到的,在 adlist.h 和 adlist.c 中实现。压缩双链表以 阅读全文
posted @ 2018-12-21 13:36 twoheads 阅读(1205) 评论(0) 推荐(0) 编辑
摘要:问题: 1.Java里的锁了解哪些? 说了Lock和synchronized 它们的使用方式和实现原理有什么区别呢?使用的话,synchronize用于方法和代码块,可以锁对象和类以及方法,Lock一般锁一块代码。并且Lock可以搭配condition使用。 实现原理的话,synchronized使 阅读全文
posted @ 2018-12-20 16:48 twoheads 阅读(708) 评论(0) 推荐(0) 编辑
摘要:转自:https://www.aimoon.site/blog/2018/05/21/biased-locking/ 比较复杂,简略见另一篇:https://www.cnblogs.com/twoheads/p/10148598.html JVM中的java对象头 注意:在没有特殊说明的情况下,都是 阅读全文
posted @ 2018-12-20 16:14 twoheads 阅读(7144) 评论(0) 推荐(2) 编辑
摘要:转自:https://www.cnblogs.com/dsj2016/p/5714921.html https://cloud.tencent.com/developer/article/1036756 复杂过程见转的另一篇:https://i.cnblogs.com/PostDone.aspx?p 阅读全文
posted @ 2018-12-20 12:09 twoheads 阅读(3026) 评论(0) 推荐(0) 编辑
摘要:大部分的处理方案: 1、重试 2、定时任务 3、幂等 阅读全文
posted @ 2018-12-20 11:40 twoheads 阅读(141) 评论(0) 推荐(0) 编辑
摘要:后台定时任务,定时刷新Redis中信息到数据库。(即Job:定时任务) 阅读全文
posted @ 2018-12-19 16:59 twoheads 阅读(439) 评论(0) 推荐(0) 编辑
摘要:(问:自定义类加载器怎么实现,其中哪个方法走双亲委派模型,(实现findclass方法,一般用defineclass加载外部类),如何才能不走双亲委派。(重写loadclass方法)) 三个重要函数:loadClass,findClass,defineClass loadClass:调用父类加载器的 阅读全文
posted @ 2018-12-19 14:28 twoheads 阅读(8086) 评论(1) 推荐(0) 编辑
摘要:通常我们插入代码后,博客园的网页模板就会提供默认的样式进行显示,那么如果我们想要代码变大些该怎么办呢?幸好博客园在博客设置中提供了自定义的css设置,让我们可以最大限度的设定博客风格。 一、寻找样式名称 如果你仅仅希望知道如何修改,那么可以调过本节,直接进入修改一节。 要修改代码样式就必须找到原本的 阅读全文
posted @ 2018-12-19 10:58 twoheads 阅读(522) 评论(0) 推荐(0) 编辑
摘要:(问:亿级ip的过滤) 哈希 hash 原理 Hash (哈希,或者散列)函数在计算机领域,尤其是数据快速查找领域,加密领域用的极广。 其作用是将一个大的数据集映射到一个小的数据集上面(这些小的数据集叫做哈希值,或者散列值)。 一个应用是Hash table(散列表,也叫哈希表),是根据哈希值 (K 阅读全文
posted @ 2018-12-19 10:42 twoheads 阅读(558) 评论(0) 推荐(0) 编辑
摘要:一、HTTP的历史 早在HTTP建立之初,主要就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。也是说对于前端来说,我们所写的HTML页面将要放在我们的web服务器上,用户端通过浏览器访问url地址来获取网页的显示内容,但是到了WEB2.0以来,我们的页面变得复杂,不仅仅单 阅读全文
posted @ 2018-12-18 16:36 twoheads 阅读(1363) 评论(0) 推荐(0) 编辑
摘要:(手写生产者消费者模型,写BlockingQueue较简便 ) 1、背景 生产者生产数据到缓冲区中,消费者从缓冲区中取数据。 如果缓冲区已经满了,则生产者线程阻塞; 如果缓冲区为空,那么消费者线程阻塞。 2、方式一:synchronized、wait和notify 定义Resouce资源类,类中定义 阅读全文
posted @ 2018-12-18 15:11 twoheads 阅读(4237) 评论(1) 推荐(0) 编辑
摘要:(dubbo熔断,Hystrix问的少) 无论是缓存层还是存储层都会有出错的概率,可以将它们视同为资源。作为并发量较大的系统,假如有一个资源不可用,可能会造成线程全部 hang (挂起)在这个资源上,造成整个系统不可用。降级在高并发系统中是非常正常的:比如推荐服务中,如果个性化推荐服务不可用,可以降 阅读全文
posted @ 2018-12-18 14:00 twoheads 阅读(1362) 评论(0) 推荐(0) 编辑
摘要:概述: 如果采用常用的hash(object)%N算法,那么在有机器添加或者删除后,映射关系就变了,很多原有的缓存就无法找到了 一致性hash:添加删除机器前后映射关系一致,当然,不是严格一致。实现的关键是环形Hash空间。将数据和机器都hash到环上,数据映射到顺时针离自己最近的机器中。 一致性h 阅读全文
posted @ 2018-12-18 11:08 twoheads 阅读(1078) 评论(0) 推荐(0) 编辑
摘要:序列化:把对象转换为字节序列的过程称为对象的序列化。 反序列化:把字节序列恢复为对象的过程称为对象的反序列化。 dubbo 支持多种序列化方式并且序列化是和协议相对应的。比如:dubbo协议的 dubbo, hessian2,java,compactedjava,rmi协议缺省为java,以及htt 阅读全文
posted @ 2018-12-17 17:09 twoheads 阅读(6972) 评论(0) 推荐(0) 编辑
摘要:参考dubbo官方文档http://dubbo.apache.org/zh-cn/docs/user/references/protocol/dubbo.html dubbo共支持如下几种通信协议: dubbo://(缺省) rmi:// hessian:// http:// webservice: 阅读全文
posted @ 2018-12-17 16:33 twoheads 阅读(394) 评论(0) 推荐(0) 编辑
摘要:转自dubbo官网文档http://dubbo.apache.org/zh-cn/blog/dubbo-cluster-error-handling.html Design For failure 在分布式系统中,集群某个某些节点出现问题是大概率事件,因此在设计分布式RPC框架的过程中,必须要把失败 阅读全文
posted @ 2018-12-17 15:44 twoheads 阅读(974) 评论(0) 推荐(0) 编辑
摘要:背景 Dubbo是一个分布式服务框架,能避免单点故障和支持服务的横向扩容。一个服务通常会部署多个实例。如何从多个服务 Provider 组成的集群中挑选出一个进行调用,就涉及到一个负载均衡的策略。 几个概念 在讨论负载均衡之前,我想先解释一下这3个概念。 这3个概念容易混淆。他们都描述了怎么从多个 阅读全文
posted @ 2018-12-17 15:11 twoheads 阅读(16750) 评论(0) 推荐(2) 编辑
摘要:阿里巴巴为什么不用 ZooKeeper 做服务发现? http://jm.taobao.org/2018/06/13/%E5%81%9A%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%EF%BC%9F/ 在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁 阅读全文
posted @ 2018-12-14 15:48 twoheads 阅读(475) 评论(0) 推荐(0) 编辑
摘要:Dubbo目前支持4种注册中心,(multicast zookeeper redis simple) 推荐使用Zookeeper注册中心, Multicast注册中心 不需要启动任何中心节点,只要广播地址一样,就可以互相发现 组播受网络结构限制,只适合小规模应用或开发阶段使用。 组播地址段: 224 阅读全文
posted @ 2018-12-14 14:28 twoheads 阅读(1458) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/zl1zl2zl3/article/details/83721147 阅读全文
posted @ 2018-12-13 15:46 twoheads 阅读(861) 评论(0) 推荐(0) 编辑
摘要:为什么用微服务; 为什么zookeeper能作为注册中心; 使用分布式碰到的bug, zookeeper有集群吗?怎么实现的; zookeeper宕机还能访问吗; 服务失效踢出zookeeper中临时节点的原理; dubbo集群负载均衡策略 zookeeper持久化节点和临时节点,注册中心怎么与服务 阅读全文
posted @ 2018-12-13 15:35 twoheads 阅读(1331) 评论(0) 推荐(0) 编辑
摘要:关于程序员的几个阶段 每个程序员、或者说每个工作者都应该有自己的职业规划,如果看到这里的朋友没有自己的职业规划,希望你可以思考一下自己的将来。 LZ常常思考自己的未来,也从自己的思考中总结出了一些东西,作为第一部分来谈谈。LZ认为一名程序员应该有几个阶段(以下时间都算上实习期): 第一阶段 三年 我 阅读全文
posted @ 2018-12-13 13:49 twoheads 阅读(1281) 评论(0) 推荐(0) 编辑
摘要:读音 |ˈdʌbəʊ| !不是[dubəʊ]! (重点:调用步骤) Dubbo是什么 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包括: 远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型、序列化、"请求-响应 阅读全文
posted @ 2018-12-13 11:37 twoheads 阅读(1732) 评论(0) 推荐(0) 编辑
摘要:为什么要用dubbo? 当网站规模达到了一定的量级的时候,普通的MVC框架已经不能满足我们的需求,于是分布式的服务框架和流动式的架构就凸显出来了。 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM) 是关键 阅读全文
posted @ 2018-12-13 11:17 twoheads 阅读(6779) 评论(0) 推荐(1) 编辑
摘要:JAVA传递的只有值,.传递的都是栈里的的值,只是有些栈里面的是值.有的是内存地址.(原文传递的都是栈里的的值有误,局部变量在栈中,成员变量在堆中,类变量(静态变量和常量)在方法区中,可以看做本文的变量都是main方法下的变量) 基本类型的栈 是它的本身. 传递时.传递的是本身的副本.所以对副本修改 阅读全文
posted @ 2018-12-11 10:03 twoheads 阅读(425) 评论(0) 推荐(0) 编辑
摘要:http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html 作者: 阮一峰 一、环境配置的难题 软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来? 用户必须保证两件事:操作系统的设置 阅读全文
posted @ 2018-12-10 09:42 twoheads 阅读(166) 评论(0) 推荐(0) 编辑
摘要:一定要记住,SQL 对大小写不敏感! 阅读全文
posted @ 2018-12-07 16:19 twoheads 阅读(383) 评论(0) 推荐(0) 编辑
摘要:我们知道,mysql的innodb采用的是行锁,而且采用了多版本并发控制来提高读操作的性能。 什么是多版本并发控制呢 ?其实就是在每一行记录的后面增加两个隐藏列,记录创建版本号和删除版本号, 而每一个事务在启动的时候,都有一个唯一的递增的版本号。 1、在插入操作时 : 记录的创建版本号就是事务版本号 阅读全文
posted @ 2018-12-07 14:13 twoheads 阅读(357) 评论(0) 推荐(0) 编辑
摘要:https://www.cnblogs.com/twoheads/p/10082453.html 阅读全文
posted @ 2018-12-07 13:43 twoheads 阅读(161) 评论(0) 推荐(0) 编辑
摘要:mvn dependency:tree的用法 一.参考文档 https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html htt 阅读全文
posted @ 2018-12-07 13:42 twoheads 阅读(30358) 评论(0) 推荐(0) 编辑
摘要:1.什么是正则表达式 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里 阅读全文
posted @ 2018-12-06 17:13 twoheads 阅读(354) 评论(0) 推荐(0) 编辑

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