策略模式
策略模式 策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。 何时使用:一个系统有许多许多类,…
Writing topic
沿着这个关键词,继续往里看。
策略模式 策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。 何时使用:一个系统有许多许多类,…
海量数据处理的问题总结 所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次性装入内存。 解决办法呢?针对时间,需要采用巧妙的算法配合合适的数据结构,如 / / / / 或 / 树。针对空间,大而化…
面经1 1.JVM内存分区 https://leslieaibin.github.io/2020/11/10/JVM/1.Java%E5%86%85%E5%AD%98%E5%8C%BA%E5%9F%9F%E7%AE%80%E4%BB%8B/ 2.对象加载在哪里,一定不能在栈上吗,为什么不直接在栈上。…
字符串 输出 CMS 能不能 初始标记 并发标记 重新标记 并发清理 去掉重新标记 1 浮动垃圾 如图,GC 线程便利对象树(实际是图),遍历过了A ,然后遍历过了B,遍历到了C,但是还没有遍历完C的儿子D,这时候如果 A.B=null; 那么B就变成了浮动垃圾,本次GC 过程B不会被清除。只能下次…
····················································· RPC和HTTP的比较 HTTP 和 RPC 其实是两个维度的东西, HTTP 指的是通信协议。 而 RPC 则是远程调用,其对应的是本地调用。 RPC 的通信可以用 HTTP 协议,也可以自…
1.http三次握手,状态码,交互细节 2.为什么要三次握手 3.四次挥手,状态码,传输细节,为什么握手要三次,挥手要四次 4.数据链路层怎么传输数据的,展开说说 : 在每个网络层数据报在传输之前,几乎所有的链路层协议都会将数据报用链路层封装起来。数据链路层从网络层获取数据后将其封装成为 ,如果帧太…
定位问题的先决条件 需要有详细的日志记录,提前告警的监控平台,事发现场保留 日志 :业务日志,中间件日志 监控 :CPU、内存、磁盘、网络,类加载、GC、线程等 快照 :-XX:+HeapDumpOnOutOfMemoryError 和 -XX:HeapDumpPath 分析问题,解决问题的思路 经…
常见写法安全性及效率分析 假设我们的商品表的schema是下面这样的: 设置为字段无符号解决 这种做法大家的想法是我们将库存字段设置成无符号类型,这样当库存字段在sql执行时候被置为负数的时候mysql就会报错,那么affectRow就会是0或者可以捕获到这个异常,从而实现并发下的数据安全。 解法释…
概述 ElasticSearch ,简称为es,是一个开源的、高拓展的分布式全文检索引擎,它可以近乎实时的存储、检索数据。本身拓展性很好,可以拓展到上百台服务器,处理PB级别的数据。ElasticSearch使用java开发并且使用Lucene作为其核心来实现所有索引和搜索的功能,但是他的目的是通过…
100的阶乘的0? 有趣的疑问 超出数据类型取值范围 会输出什么数字: 数据类型:int 取值范围:-2^31–2^31-1 测试1: 为了更详细的看出其变化,将在临界值前后输出更多值,测试2: 分析:当前int型数据达到最大值2147483647时,是第一位为0,其余31位为全1,01111111…