摘要: 函数式编程优点 1.大数据下处理集合效率高(并行流,不用自己写多线程处理) 2.代码简洁,可读性好(后面章节实战会体现) 3.不学看不懂公司的代码 https://www.bilibili.com/video/BV1Gh41187uR?p=39&vd_source=b2e596b686781ec41 阅读全文
posted @ 2022-07-16 19:54 palapala 阅读(255) 评论(0) 推荐(0) 编辑
摘要: HashMap的组成 首先了解数组和链表两个数据结构 1.数组 寻址容易,插入和删除元素困难 数组由于是紧凑连续存储,可以随机访问,通过索引快速找到对应元素,而且相对节约存储空间。 但正因为连续存储,内存空间必须一次性分配够,所以说数组如果要扩容,需要重新分配一块更大的空间,再把数据全部复制过去,时 阅读全文
posted @ 2020-12-15 19:12 palapala 阅读(392) 评论(0) 推荐(1) 编辑
摘要: 单例模式的演化 1)饿汉式:利用static关键字,在类初始化的时候就会调用静态方法 public class Singleton { private static final Singleton singleton=new Singleton(); private Singleton(){ } p 阅读全文
posted @ 2020-04-15 23:40 palapala 阅读(378) 评论(0) 推荐(1) 编辑
摘要: 概述 本文章只是简单介绍了微服务开发的一些关键词,如果需要知道具体实现和可以评论留言 我会及时的增加连接写出具体实现(感觉没人看 就没写具体实现)。 先说下分布式系统的CAP理论: C:一致性 A:可用性 P:分区容错性(集群 扩展性) CAP理论特点是三者得其二,也是分布式系统目前的瓶颈 Eure 阅读全文
posted @ 2018-10-29 00:11 palapala 阅读(1046) 评论(0) 推荐(1) 编辑
摘要: 介绍了 如何启动线程,和两个经典的例子,生产者和消费者、死锁 阅读全文
posted @ 2018-07-07 16:24 palapala 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 反射概述 在JAVA运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象能否调用它的任意一个方法? 答案是肯定的,这种动态获取类的信息,以及动态调用对方方法的功能来自于JAVA语言的反射(Reflection)机制:——孙卫琴 反射也可以动态生成类 通过类的Class对象拿 阅读全文
posted @ 2018-03-06 11:06 palapala 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 背景 因为ES的近实时性 所以insert和update es的数据 在短时间可能查询不到(1s左右) 参考上一篇博客https://www.cnblogs.com/ssskkk/p/15417053.html#_label0 这在开发中这是一个很头疼的问题. 解决方案 1.数据insert upd 阅读全文
posted @ 2023-09-04 00:06 palapala 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 过期时间不续期 tryLock(long time, TimeUnit unit) 会等待指定的时间,如果时间到了还没获得锁就返回 false;如果在时间范围内获得了锁就立刻返回 true,不用等待时间结束。 无论是返回 true 还是 false,都会继续执行之后的代码。 RLock rLock= 阅读全文
posted @ 2022-05-17 01:24 palapala 阅读(7011) 评论(0) 推荐(1) 编辑
摘要: 背景 restTemplate请求和在页面上直接请求结果不一样,发现是restTemplate对url 参数中特殊字符处理的不好。 以下是解决办法 encode URI中的参数 1.利用正则提取需要encode的uri部分 public static String getUTF8URLString2 阅读全文
posted @ 2022-04-20 01:35 palapala 阅读(846) 评论(0) 推荐(0) 编辑
摘要: 背景 考虑到业务需求,需要把JSON转Map写了两个工具类(也有参考别的代码) 兼容了数组和对象混合的JSON 需要注意Map的key不能重复 Map存JSON的所有key /** * map包括全量的节点 * @param objJson * @param map * @param k 递归的时候 阅读全文
posted @ 2022-04-20 00:58 palapala 阅读(7085) 评论(0) 推荐(0) 编辑
摘要: CMS和G1垃圾回收流程区别 CMS流程 —>初始标记(只标记最根上的对象STW) —>并发标记(百分之八十时间) —>重新标记(STW 并发标记过程中错标 重新标记) CMS和G1采用的三色标记,区别是CMS增量更新,G1采用的快照替换 —>并发清理(这个过程产生的垃圾叫浮动垃圾 只能等下一次CM 阅读全文
posted @ 2021-11-14 21:23 palapala 阅读(1540) 评论(0) 推荐(0) 编辑
摘要: 线上CPU占用过高 1.用top命令定位哪个进程对cpu占用过高 拿到进程id 2.top -Hp pid可以查看某个进程的线程信息,-H 显示线程信息,-p指定pid。 3.jstack 进程id 可以把进程中所有的线程列出来 此时列出来的线程编号是16进制的 4.步骤2的线程cpu过高id换算成 阅读全文
posted @ 2021-11-13 01:38 palapala 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 简单位运算介绍 或 | 只要有一个为1,结果就为1。 与 & 两位全为1,结果才为1 与的特殊用法:取一个数中特定位。 方法:找一个数,对应x要取的位,该数的对应位为1,其余位为零,此数与X对应位与即可(一个数和一个数的相反数做与操作得到的是这个数从右往左第一个不为0的数。) 例如:设X=1010 阅读全文
posted @ 2021-11-02 01:09 palapala 阅读(49) 评论(0) 推荐(0) 编辑
摘要: Select 首先什么是多路复用:一个进程监听多个文件描述符,Linux中一切皆文件,也就是一个进程管理多个客户端连接。 Select模型不断扫描文件描述符集合 Select模型缺点: 1.一个进程打开的fd(文件描述符)是有限制的,默认1024,所以select模型最大的并发数就是1024个(还要 阅读全文
posted @ 2021-10-22 00:46 palapala 阅读(293) 评论(0) 推荐(0) 编辑
摘要: ElasticSearch偶尔查询不到数据 1.数据刷新策略 现象:每次insert之后,立刻查询es的数据是有可能查不到的,因为es从内存写到磁盘需要时间 原因:es默认每1s执行一次refresh,因此文档实时性被提高到1s,这也是es被称为近实时的原因 解决方法:写的时候指定数据刷新策略, r 阅读全文
posted @ 2021-10-17 18:31 palapala 阅读(3902) 评论(1) 推荐(0) 编辑