- 博客(6)
- 收藏
- 关注
原创 数组和链表简单对比
数组:相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标场景:倘若数组中第一个元素在地址A,则数组第二个元素就在地址A+1数组的特性:1.数组必须先定义固定长度,不能适应数据动态增减2.当数据增加时,可能超出原先定义的元素个数,当数据减少时,造成内存浪费3.数组查询比较方便,根据下标
2016-04-23 11:23:22 920
原创 HashMap 小解
HashMap 实现原理1.HashMap概述HashMap是基于哈希表的MAP接口的非同步实现,此实现提供所有可选的映射操作,并允许使用null作为key或value的值。这个类不保证映射的顺序,特别是它不保证顺序恒久不变2.HashMap的数据机构 HashMap底层就是一个数组,数组的每一项又是一个链表。数组+链表 水平的表示数组,垂直的表示链表
2016-04-16 17:19:01 238
原创 JVM简单介绍
JVM模型结构 图:程序计数器(PC):当前线程所执行的字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。场景:分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。注意:1.如果线程正在执行的是一个Java方法,这计数器记录的是正在执行的虚拟机字节码指令地址, 如果正在执行的是Native方
2016-04-15 14:07:54 1010
原创 ThreadLocal 简单介绍
Threadlocal:当前线程副本具体定义:当使用ThreadLocal维护变量时,ThreadLocal为每一个使用该变量的线程提供独立的变量副本。这样每个线程都可以独立地改变自己的副本,而不会影响其他线程所对应的副本。从线程的角度看:目标变量就像是线程的本地变量,这样类名中"Local"所要表达的含义先看看一个案例public class ThreadLocalTes
2016-04-13 22:15:22 303
原创 线程死锁浅谈
死锁:当一个线程等待由另一个线程持有锁,而后者正在等待已被第一个线程持有的锁,就会发生死锁。程序员为啥要关注这个死锁问题呢?这就是因为神秘的JAVA虚拟机(JVM)不检测也不试图避免这种情况。 案例:public class DeadLock { public void testDealLock() { MyThread mt =
2016-04-13 10:40:33 357
原创 数据库事务的隔离性介绍
数据事务的隔离级别:问题场景:1.脏的:A事务读取B事务尚未提交的更改数据,并在这个数据的基础上操作。恰巧B事务回滚,那么A事务读数据根本是不被承认。关键点:A事务读了尚未提交的数据2.不可重复读:主要针对多次读取同一数据,假如A事务读取这个数据,B事务也在更新这个数据,A事务第一次读取的数据和A事务第二次读取的B事务已提交数据可能不同,这样在同一个A事务两次读取相同的数据就不
2016-04-12 15:44:03 503
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人