1351. 统计有序矩阵中的负数 Posted on 2020-04-09 | In leetcode Words count in article: 536 | Reading time ≈ 2 题目给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。 请你统计并返回 grid 中 负数 的数目。 示例 1:123输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]输出:8解释:矩阵中 ... Read more »
RPC的原理及其简单实现 Posted on 2020-04-08 | In JVM Words count in article: 1.6k | Reading time ≈ 8 RPC的原理及其简单实现什么是RPCRPC,全称为Remote Procedure Call,即远程过程调用。它的目的是使调用远程服务像调用本地服务一样。 RPC可基于HTTP或TCP协议,Web Service就是基于HTTP协议的RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 ... Read more »
Java中的COW Posted on 2020-04-08 | In Java Words count in article: 814 | Reading time ≈ 4 Java中的COW“COW”全称Copy-On-Write,是一种用于程序设计中的优化策略。其基本思路是,多线程读的时候共享一个数据结构,但是在写的时候,单独拷贝一个新的数据结构出来,在这个新的数据结构上添加数据,而后,将引用指向这个新的数据结构。Java提供了两个COW数据结构,分别是CopyOn ... Read more »
JVM辅助定位工具Arthas Posted on 2020-04-08 | In JVM Words count in article: 424 | Reading time ≈ 1 JVM辅助定位工具Arthas使用方式启动 java -jar arthas-boot.jar 执行该程序的用户需要和目标进程具有相同的权限。比如以admin用户来执行:sudo su admin && java -jar arthas-boot.jar 或 sudo -u ad ... Read more »
设计模式-模板模式 Posted on 2020-04-08 | In 设计模式 Words count in article: 369 | Reading time ≈ 1 适配器模式模板定义在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。 类图 AbstractClass(抽象类)它不仅负责实现模板方法,还负责声明在模板方法中所使用到的抽象方法。 ... Read more »
设计模式-工厂模式 Posted on 2020-04-08 | In 设计模式 Words count in article: 465 | Reading time ≈ 2 工厂模式定义在工厂模式(Factory Pattern)中,父类决定实例的生成方式,但不决定所要生成的具体的类,具体的处理全部交给子类负责。 类图 Product(产品)Product角色属于框架,是一个抽象类。它定义了在工厂模式中生产的那些实例是持有的接口,但具体的处理则由子类ConcretePr ... Read more »
设计模式-迭代器模式 Posted on 2020-04-08 | In 设计模式 Words count in article: 625 | Reading time ≈ 2 迭代器模式定义提供一种方法顺序访问一个聚合对象中的各个元素,而又无需暴露该对象的内部表示。 类图 Iterator(迭代器)负责定义按顺序逐个遍历元素的接口(API)。它定义了hasNext和next两个方法。其中,hasNext用于判断是否存在下一个元素,next方法则用于获取该元素。 Concr ... Read more »
设计模式-适配器模式 Posted on 2020-04-08 | In 设计模式 Words count in article: 356 | Reading time ≈ 1 适配器模式定义适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 适配器模式有以下两种: 类适配器模式(使用继承的适配器) 对象适配器模式(使用委托的适配器) 类图 Target(对象)负责定义所需的方法 ... Read more »
面试题 01.06 字符串压缩 Posted on 2020-04-08 | In leetcode Words count in article: 283 | Reading time ≈ 1 题目字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z) 示例1:12输入:"aabcccccaaa" ... Read more »
面试题 02.03 删除中间节点 Posted on 2020-04-08 | In leetcode Words count in article: 215 | Reading time ≈ 1 题目若链表中的某个节点,既不是链表头节点,也不是链表尾节点,则称其为该链表的「中间节点」。 假定已知链表的某一个中间节点,请实现一种算法,将该节点从链表中删除。 例如,传入节点 c(位于单向链表 a->b->c->d->e->f 中),将其删除后,剩余链表为 a-> ... Read more »