04 2017 档案

MySQL存储引擎一些原理
摘要:事务的隔离级别:未提交读(READ UNCOMMITED)、不可重复读(READ COMMITED)、可重复读(REPEATABLE READ)、可串行化(SERIALIZABLE) InnoDB与MyISAM: MVCC(Multi-Version Concurrency Control): 日志 阅读全文

posted @ 2017-04-26 13:12 感遇 阅读(314) 评论(0) 推荐(0)

并发编程:synchronized的理解
摘要:用synchronized修饰方法:如果该对象中有多个同步方法,则当一个线程获执行对象中的一个synchronized方法,则该对象中其它同步方法也不允许别的线程执行 等同于 同步代码块 当没有明确的对象作为锁,只是想让一段代码同步时,能够创建一个特别的instance变量(他得是个对象)来充当锁 阅读全文

posted @ 2017-04-25 17:12 感遇 阅读(177) 评论(0) 推荐(0)

设计模式:单例
摘要:传统的实现方法:两私一公,涉及线程安全问题(即使有多重检查锁也可以通过反射破坏单例) JDK1.5以前 目前最为安全的实现单例的方法是通过内部静态enum的方法来实现,因为JVM会保证enum不能被反射并且构造器方法只执行一次。 阅读全文

posted @ 2017-04-23 21:24 感遇 阅读(113) 评论(0) 推荐(0)

JVM:虚拟机类加载机制
摘要:Java语言,类型的加载、连接、初始化都是在程序运行期间完成的 类的生命周期:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading) 连接(Link 阅读全文

posted @ 2017-04-16 11:51 感遇 阅读(172) 评论(0) 推荐(0)

JVM:类文件结构
摘要:整个class文件以8位字节为单位的二进制流,本质上就是一张表,所有都以_info结尾 文件结构: class文件不会保存各个方法、字段的最终布局信息。当虚拟机运行时,需要从常量池获得对应的符号引用,再在类创建或运行时解析、翻译到具体的内存地址 Code属性:接口或抽象类的方法就不具有Code属性, 阅读全文

posted @ 2017-04-15 20:37 感遇 阅读(157) 评论(0) 推荐(0)

JVM:垃圾收集器与内存分配策略
摘要:判断对象是否存活 无用的类标准 垃圾收集算法:标记-清除算法(CMS)、复制算法(新生代)、标记整理算法 HotSpot算法 没有为所有指令都生成OopMap,程序并发所有地方都能停下来执行GC,只有到了安全点才能暂停 主动式中断:GC需要中断线程时,设置一个标志,线程执行时主动去轮询这个标志,再中 阅读全文

posted @ 2017-04-15 13:58 感遇 阅读(160) 评论(0) 推荐(0)

JVM:Java内存区域
摘要:Java虚拟机运行时数据区:方法区、虚拟机栈、本地方法栈、堆、程序计数器 对象的创建 对象的内存布局 对象的访问定位 内存泄露 虚拟机栈和本地方法栈 阅读全文

posted @ 2017-04-15 12:20 感遇 阅读(138) 评论(0) 推荐(0)

并发编程:线程池使用
摘要:线程池大小计算公式 N_thread = N_cpu * U_cpu * (1+W/C) U_cpu: target of CPU utilization W/C: rate of wait time to compute time 配置ThreadPoolExecutor 扩展ThreadPool 阅读全文

posted @ 2017-04-10 23:44 感遇 阅读(244) 评论(0) 推荐(0)

并发编程:取消与关闭
摘要:取消标志:任务可能永远不会检查取消标志,如BlockingQueue.put阻塞操作、 中断: 响应中断 注:只有实现了线程中断策略的代码才可以屏蔽中断请求 在专门的线程中中断任务:RethrowableTask是主线程,r是子线程,t在两线程中共享 非标准取消操作 1)处理不可中断的阻塞:改写写i 阅读全文

posted @ 2017-04-09 13:25 感遇 阅读(264) 评论(0) 推荐(0)

并发编程:任务执行
摘要:1、每当看到下面这种代码 new Thread(runnable).start() 时,请考虑用Executor 2、Executor 1)创建方式:Executors.new.. 2)通过使用Executor,可以实现各种调优、管理、监视、记录日志、错误报告 3)Executor有4个生命周期:创 阅读全文

posted @ 2017-04-08 22:43 感遇