上一页 1 ··· 63 64 65 66 67 68 69 70 71 ··· 79 下一页
摘要: JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。先看下JAVA堆内存是如何划分的,如图: JVM内存划分为堆内存和非堆内存,堆内存分为年轻代(Young Generation)、老年代(Old Generat 阅读全文
posted @ 2021-06-02 13:45 郭慕荣 阅读(3437) 评论(0) 推荐(1)
摘要: LockSupport是一个线程阻塞工具类,所有的方法都是静态方法,可以让线程在任意位置阻塞,当然阻塞之后肯定得有唤醒的方法。concurrent包是基于AQS (AbstractQueuedSynchronizer)框架的,AQS框架借助于两个类: Unsafe(提供CAS操作) LockSupp 阅读全文
posted @ 2021-06-01 16:01 郭慕荣 阅读(582) 评论(0) 推荐(0)
摘要: 1、Set接口:Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。 Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不会接受这两个对象。2、HashSet:HashSet 阅读全文
posted @ 2021-05-28 17:18 郭慕荣 阅读(411) 评论(0) 推荐(0)
摘要: 1.索引作用在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c2、c3,每个表分别含有1000行数据组成,指为1~ 阅读全文
posted @ 2021-05-27 17:51 郭慕荣 阅读(233) 评论(0) 推荐(0)
摘要: java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。1、Hashmap 是一个最常用的Map 阅读全文
posted @ 2021-05-27 11:16 郭慕荣 阅读(185) 评论(0) 推荐(0)
摘要: 单例设计模式代码如下所示: package com.springboot.study.tests; /** * @Author: guodong * @Date: 2021/5/26 16:00 * @Version: 1.0 * @Description: */ public class Sing 阅读全文
posted @ 2021-05-26 16:03 郭慕荣 阅读(700) 评论(0) 推荐(0)
摘要: 内存屏障(Memory Barrier)与内存栅栏(Memory Fence)是同一个概念,不同的叫法。通过volatile标记,可以解决编译器层面的可见性与重排序问题。而内存屏障则解决了硬件层面的可见性与重排序问题。 先简单了解两个指令: Store:将处理器缓存的数据刷新到内存中。 Load:将 阅读全文
posted @ 2021-05-25 16:55 郭慕荣 阅读(940) 评论(0) 推荐(0)
摘要: 一:为啥会有两次写?必要了解partial page write 问题 : InnoDB 的Page Size一般是16KB,其数据校验也是针对这16KB来计算的,将数据写入到磁盘是以Page为单位进行操作的。而计算机硬件和操作系统,写文件是以4KB作为单位的,那么每写一个innodb的page到磁 阅读全文
posted @ 2021-05-24 15:00 郭慕荣 阅读(4235) 评论(0) 推荐(1)
摘要: 方法一:在初始化时保存ApplicationContext对象 方法二:通过Spring提供的utils类获取ApplicationContext对象 方法三:继承自抽象类ApplicationObjectSupport 方法四:继承自抽象类WebApplicationObjectSupport 方 阅读全文
posted @ 2021-05-22 21:40 郭慕荣 阅读(3928) 评论(0) 推荐(0)
摘要: 一、SPI简介SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。 目前有不少框架用它来做服务的扩展发现, 简单来说,它就是一种动态替换发现的机制, 举个例子来说, 有个接口,想运行时动态的给它添加实现,你只需要添加一个实现,而后,把新加的 阅读全文
posted @ 2021-05-19 18:48 郭慕荣 阅读(546) 评论(0) 推荐(0)
上一页 1 ··· 63 64 65 66 67 68 69 70 71 ··· 79 下一页