缓存体系结构 缓存一般是ORM框架都会提供的功能,目的就是提升查询效率和减少数据库的压力。跟Hibernate一样,MyBatis也有一级缓存和二级缓存,并且预留了集成第三方缓存的接口。 MyBatis跟缓存相关的类都在cache包里面,其中有一个Cache接口,只有一个默认的实现类Perpetua ...
分类:
其他好文 时间:
2019-11-22 16:39:18
阅读次数:
97
一 介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分。 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件, 众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给用户/应用 ...
分类:
编程语言 时间:
2019-11-22 11:57:44
阅读次数:
73
"深入理解Kafka必知必会(1)" Kafka目前有哪些内部topic,它们都有什么特征?各自的作用又是什么? __consumer_offsets:作用是保存 Kafka 消费者的位移信息 __transaction_state:用来存储事务日志消息 优先副本是什么?它有什么特殊的作用? 所谓的 ...
分类:
其他好文 时间:
2019-11-22 00:53:53
阅读次数:
58
一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象头 ...
分类:
编程语言 时间:
2019-11-22 00:34:49
阅读次数:
72
python垃圾回收方法 (1)垃圾回收 -- 引用计数减少,python内存会主动做垃圾回收 -- 由于引用计数不断创建和删除, 就采用标记-清除 设两个对象为A、B,我们从A出发,因为它有一个对B的引用,则将B的引用计数减1;然后顺着引用达到B,因为B有一个对A的引用,同样将A的引用减1, 顺着 ...
分类:
编程语言 时间:
2019-11-21 13:37:37
阅读次数:
90
目录: 如何判断垃圾是否回收? 引用计数法 可达性分析算法 四种引用 引用队列 垃圾回收算法 标记清除算法 复制算法 标记整理算法 分代垃圾回收 新生代 老年代 Minor GC 和 Full GC的区别 总结 垃圾回收器 原理 串行回收器 吞吐量优先 获取最短停顿时间优先(CMS) G1 垃圾回收 ...
分类:
其他好文 时间:
2019-11-21 10:18:50
阅读次数:
133
Reference源码分析 首先我们先看一下Reference类的注释: /** * Abstract base class for reference objects. This class defines the * operations common to all reference obje ...
分类:
其他好文 时间:
2019-11-19 15:45:59
阅读次数:
73
1. 创建表 直接创建表 通过子查询创建表,将子查询的结果创建为一张表 2. 删除表 删除表,但会加入到回收站 完全删除表,不会将其加入到回收站 3. 修改表结构 添加列 删除列 修改列 4. 重命名表 5. 截断表 特点: 删除表的所有数据,但不删除表结构 释放表所占用磁盘空间 不会触发删除触发器 ...
分类:
数据库 时间:
2019-11-19 11:55:29
阅读次数:
79
从上面这个图我们总体上对JVM的结构特别是内存结构有了比较清晰的认识,虽然在JDK1.8+的版本中,JVM内存管理结构有了一定的优化调整。主要是方法区(持久代)取消变成了直接使用元数据区(直接内存)的方式,但是整体上JVM的结构并没有大改,特别是我们最为关心的堆内存管理方式并没有在JDK1.8+的版本中有什么变化,所以图中的结构整体上是没有什么不准确的,之所以将方法区以及持久代标注出来,主要还是为了起到对比认识的作用,大家知道就可以了。
关于持久代元数据区的使用问题,目前可以理解就是使用的物理内存,理论上是不受JVM自动内存回收机制管理的,如果不设置参数大小默认最大使用限制就是操作系统可用物理内存的大小,设置了-XX:MetaspaceSize参数的话,JVM就会在使用物理内存空间时自己进行限制。
至于直接内存与物理内存到底是不是一回事,我认为对于我们理解上没有区别,只是概念的区别,另外就是对这块内存使用细节上的区别,如果不受JVM的自动回收管理,那么怎么管理呢?说到底还是JVM本身在直接使用物理内存或者说是直接内存(用时直接“malloc”物理内存区域,而不再是JVM进程启动时初
分类:
编程语言 时间:
2019-11-19 01:19:54
阅读次数:
88
一、执行Python程序的两种方式1 交互式在终端内输入python3,然后输入python代码2 命令行式在终端内输入python3 文本文件路径二、变量1、变量的组成变量名 = 变量值name = 'nick'age = 19变量名是用来接收变量值的2、变量名的定义规范变量名具有某种意义由数字/... ...
分类:
编程语言 时间:
2019-11-18 18:30:08
阅读次数:
105