- 博客(23)
- 收藏
- 关注
转载 JDK常用命令
1、jps查看java进程,得到进程ID:7854作用等同于:ps -ef | grep java2、jstat监视虚拟机各种运行态信息常用:jstat -gcutil PID,监视java堆状况远程机器上无法直接使用jstat命令,解决方法参考:https://wiki.sankuai.com/pages/viewpage.action?pageId=8...
2019-02-05 20:10:00 241
转载 JVM参数
JVM参数可以在/usr/local/tomcat/bin/catalina.sh文件中设置:参数含义备注-serverJVM运行模式https://www.cnblogs.com/fsjohnhuang/p/4270505.html-Xms初始堆大小-X...
2019-02-05 20:06:00 89
转载 GC日志
JVM中关于GC参数配置如下:-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC(在发生GC时打印出堆信息)这样配置以后,发生GC时输出的日志就类似于下面这种格式:1、Heap before GC发生GC前的堆信息(1)par new generation total 1507...
2019-02-05 20:02:00 119
转载 MySQL事务、隔离级别
一、事务1、定义事务是一组原子性的SQL查询。如果数据库引擎能够成功的对数据库应用该组查询的全部语句,那么就执行该组查询;如果其中有任意一条语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。2、特性事务必须符合ACID特性。ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所...
2019-02-05 19:53:00 72
转载 redis实现分布式锁
自己实现锁时一般要满足以下几个条件:1、锁要互斥2、锁要可重入3、加锁操作要提供阻塞和非阻塞两种模式4、提供锁释放操作5、锁要具备失效机制,避免死锁用redis的几个简单命令就能实现分布式锁:1、setnxsetnx key val:当且仅当key不存在时,set一个key为val的字符串,返回1;若key存在,则什么都不做,返回02、expireexp...
2018-05-06 16:14:00 84
转载 WeakHashMap
定义public class WeakHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V> {}WeakHashMap实现了Map接口,它比HashMap多了一个引用队列:private final ReferenceQueue<Obje...
2018-05-05 13:52:00 105
转载 LinkHashMap
HashMap是无序的:利用迭代器访问HashMap的顺序和其插入的顺序是不一致的。当需要有序访问时,可以使用LinkHashMap。LinkedHashMap可以认为是HashMap+LinkedList,即它既使用HashMap操作数据结构,又使用LinkedList维护插入元素的先后顺序。结构图:LinkHashMap的Entry继承了HashMap的Entry,增...
2018-05-05 13:46:00 176
转载 HashSet & LinkedHashSet
HashSet数据结构:// 持有一个HashMap的对象private transient HashMap<E,Object> map;初始化方法:public HashSet() { map = new HashMap<>();}HashSet的增删改查操作都是调用HashMap的方法实现的://PRE...
2018-05-05 13:42:00 78
转载 HashMap
结构图:Entry的数据结构:static class Entry<K,V> implements Map.Entry<K,V> { final K key; V value; Entry<K,V> next; int hash;}put操作:public V put(K ke...
2018-05-05 13:38:00 70
转载 ConcurrentHasMap
结构图:segment的数据结构:static final class Segment<K, V> extends ReentrantLock implements Serializable { /* * 当前Segment里实际包含HashEntry元素的数量 * 变量申明volatile ,它的写立马对后续的读可见 ...
2018-05-05 13:33:00 155
转载 BlockingQueue
在java.util.concurrent包下提供了若干个阻塞队列,主要有以下几个:(1)ArrayBlockingQueue基于数组实现的一个阻塞队列,在创建ArrayBlockingQueue对象时必须制定容量大小。(2)LinkedBlockingQueue基于链表实现的一个阻塞队列,在创建LinkedBlockingQueue对象时如果不指定容量大小,则默认大小为...
2018-05-05 13:25:00 89
转载 ArrayList & LinkedList
结构图:ArrayList适合于查询较多的场景,因为查询的时间复杂度是o(1);LinkedList适合于修改插入、删除比较多的场景,因为插入、删除的时间复杂度为o(1)。ArrayList是基于数组实现的List类,它封装了一个动态的增长的、允许再分配的Object[]数组。主要结构:/** * 动态数组 */private transient Ob...
2018-05-05 13:15:00 103
转载 MySQL索引介绍
1、索引类型1.1 B-Tree索引使用B-Tree数据结构来存储数据,因此索引值是按顺序存储的,并且每个叶子节点到根节点的距离相同。B-Tree的高度是log(n)级别的,所以查找的复杂度是log(n)级别。可以使用的场景:(1)全值匹配(2)匹配最左前缀:联合索引的最左边的几个索引列(3)匹配列前缀:某个索引列的值的开头部分(4)匹配范围值(5)精...
2018-05-03 20:59:00 79
转载 MySQL的锁机制
数据库事务必须符合ACID这四种特性,数据库为了维护这些特性,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。一、锁概念MySQL中锁的种类很多,有常见的表锁和行锁。1、表锁表锁是MySQL中最基本的锁策略,并且是开销最...
2018-05-03 20:54:00 60
转载 MySQL事务、隔离级别
一、事务1、定义事务是一组原子性的SQL查询。如果数据库引擎能够成功的对数据库应用该组查询的全部语句,那么就执行该组查询;如果其中有任意一条语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。2、特性事务必须符合ACID特性。ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所...
2018-05-03 20:51:00 53
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人