摘要: 1、JVM中的内存结构 从OS的角度来看,JVM运行时会把一部分内存虚拟机化,所以把内存分为直接内存(未被虚拟机化的内存)和运行时数据区(被虚拟机化的内存) JVM的运行时数据区若从线程的角度来看,可分为线程共享的区域和线程私有的区域 线程共享区主要由方法区、堆组成,其中方法区还会划分出一部分作为运 阅读全文
posted @ 2020-09-23 16:25 CarBlack 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 1、JVM、JRE、JDK JVM:是可以将要运行的程序编译成机器语言并去执行的一个平台,具有跨语言、跨平台的特性,运行时需要依赖JRE中的类库 JRE:包含了JVM以及代码运行时的类库,时Java程序运行时的环境 JDK:Java语言开发的工具包,是整个Java开发的核心,包含了JRE、Java工 阅读全文
posted @ 2020-09-23 10:48 CarBlack 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 1、消息队列的适用场景:商品秒杀、系统解耦、日志记录等 2、使用Queue实现消息对列 双端队列(Deque)是 Queue 的子类也是 Queue 的补充类,头部和尾部都支持元素插入和获取阻塞队列指的是在元素操作时(添加或删除),如果没有成功,会阻塞等待执行,比如当添加元素时,如果队列元素已满,队 阅读全文
posted @ 2020-05-20 16:43 CarBlack 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 1、缓存 将程序或系统中常用的数据对象存储在像内存这样特定的介质中,以避免在每次程序调用时,重新创建或组织数据所带来的性能损耗,从而提高了系统的整体运行速度 以目前的系统架构来说,用户的请求一般会先经过缓存系统,如果缓存中没有相关的数据,就会在其他系统中查询到相应的数据并保存在缓存中,最后返回给调用 阅读全文
posted @ 2020-05-19 18:21 CarBlack 阅读(1624) 评论(0) 推荐(0) 编辑
摘要: 1、动态代理 动态代理的目标就是在运行时改变目标类,对目标类的参数或者方法做扩展 当想要给实现了某个接口的类中的方法,加一些额外的处理。比如说加日志,加事务等。可以给这个类创建一个代理,故名思议就是创建一个新的类,这个类不仅包含原来类方法的功能,而且还在原来的基础上添加了额外处理的新类。这个代理类并 阅读全文
posted @ 2020-05-18 18:21 CarBlack 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1、克隆 假设有一个对象object1,在某处又需要一个跟object1一样的实例object2,这两个对象是绝对独立的,不会因为某一个修改另一个随之改变,这样,我们不能直接将对象objec1t的引用赋予object2,object2=object, 这样两个引用仍然指向的是同一个对象,不是两个对象 阅读全文
posted @ 2020-05-17 21:27 CarBlack 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 1、锁 当一个共享资源被多方访问时为了避免发生冲突而施加的一种机制 2、乐观锁和悲观锁 Java中锁在宏观分为乐观锁和悲观锁 乐观锁:是一种乐观思想,认为多读少写,一般情况下数据在修改时不会出现冲突,所以在数据访问之前不会加锁,只是在数据提交更改时,才会对数据进行检测 适用场景:比较适合读取操作比较 阅读全文
posted @ 2020-05-17 20:34 CarBlack 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 1、线程池 线程池是为了避免线程频繁的创建和销毁带来的性能消耗,而建立的一种池化技术,它是把已创建的线程放入“池”中,当有任务来临时就可以重用已有的线程,无需等待创建的过程,这样就可以有效提高程序的响应速度 阿里巴巴的《Java 开发手册》中是这样规定线程池的:线程池不允许使用 Executors 阅读全文
posted @ 2020-05-15 00:00 CarBlack 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 1、什么是线程 线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在,一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加轻量化,也因此被称为轻量级的进程 线程的状态在 JDK 1.5 之后以枚举的方式被定义在 Thre 阅读全文
posted @ 2020-05-14 15:48 CarBlack 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 1、HashMap底层的实现 JDK 1.7 中 HashMap 是以数组+链表的形式组成的 JDK 1.8 之后数组+链表/红黑树的组成的,当链表大于 8 并且容量大于 64 时,链表结构会转换成红黑树结构,链表长度过长,影响性能,红黑树具有快速增删改查的功能 JDK1.中HashMap的几个重要 阅读全文
posted @ 2020-05-13 22:50 CarBlack 阅读(204) 评论(0) 推荐(0) 编辑