摘要: 多线程概念 进程与线程 进程是操作系统进行资源分配的最小单位,CPU从一个进程切换到另一个进程叫做进程上下文切换。 线程是CPU调度的最小单位,是进程的一部分,由进程创建,一个进程拥有1~N个线程。线程又分为用户线程和守护线程,两者的区别是,后者会随着主线程结束而结束。 Thread线程类 继承th 阅读全文
posted @ 2020-04-07 21:51 名字可以起这么长 阅读(198) 评论(0) 推荐(0) 编辑
摘要: JAVA的锁优化 锁优化包含:自适应性自旋、锁消除、锁膨胀、轻量级锁、偏向锁。以下为锁的升级过程: 自旋锁与自适应自旋 JDK1.6之前自旋默认是关闭的,之后是默认开启的。自旋等待避免了线程状态转换带来的性能开销,但是需要占用处理器的时间,如果占用时间很短,效果很好,如果占用时间很长,会白白消耗处理 阅读全文
posted @ 2020-04-07 16:08 名字可以起这么长 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 线程安全 Java语言中,不可变的对象一定是线程安全的,无论是对象的方法实现还是方法的调用者,都不需要在进行任何线程安全的保障措施。 Java语言中,如果多线程共享的数据是一个基本数据类型,那么只要在定义时使用Final关键字修饰它就可以保证它是不可变的。如果共享的数据是一个对象,由于Java语言目 阅读全文
posted @ 2020-04-07 15:36 名字可以起这么长 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 线程的实现方式 线程主要有三种实现方式:使用内核线程实现(1:1实现),使用用户线程实现(1:N实现),使用用户线程加轻量级进程混合实现(N:M实现) Java线程实现 JDK1.3之后,采用内核线程实现的方式实现JAVA线程。 java线程调度模式 线程调度主要有两种模式:一种是协同式线程调度,另 阅读全文
posted @ 2020-04-03 21:26 名字可以起这么长 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 硬件的效率和一致性 Java内存模型和硬件的模型类似。我们先看下硬件的模型。首先强调,计算机处理器的处理运算能力是远远高于存储设备的运算能力的,二者相差几个数量级的运算效率。所以现代计算机引入了一层或者多层读写速度尽可能接近处理器速度的高速缓存来作为内存和处理之间的缓冲。 这样做解决了速度与效率问题 阅读全文
posted @ 2020-04-03 15:36 名字可以起这么长 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 判断对象是否“已死” 引用计数法 在对象中添加一个引用计数器,每当一个地方引用它时,计数器值+1,引用失效的时候,计数器值-1;当计数器值为0的时候说明对象“已死”。 这样做的好处就是简单快捷,且效率也很高,但是无法解决掉循环互相引用的问题。 可达性分析算法 通过一系列被成为“GC Roots”的根 阅读全文
posted @ 2020-04-02 21:15 名字可以起这么长 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 运行时数据区域 包含:程序计数器,java虚拟机栈,本地方法栈,java堆,方法区,运行时常量池。具体相关结构如下图。 区域 是否公用 相关概念 其他描述 程序计数器 线程私有 当前线程执行的字节码行号指示器 如果当前线程执行的java方法,那么计数器 java虚拟机栈 线程私有 java方法执行的 阅读全文
posted @ 2020-04-02 17:18 名字可以起这么长 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body 其中,sp_name参数是存储过程的名称;proc_parameter表示存储 阅读全文
posted @ 2017-02-21 10:14 名字可以起这么长 阅读(48208) 评论(0) 推荐(3) 编辑
摘要: 本文部分内容转自http://www.cnblogs.com/lengbingshy/archive/2010/02/25/1673476.html 本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行 阅读全文
posted @ 2017-02-20 15:34 名字可以起这么长 阅读(990) 评论(0) 推荐(0) 编辑
摘要: zookeeper已经介绍了它的原理设计以及实现方式,我们接下来介绍zookeeper的使用方法以及简单配置。 下载 获取Zookeeper的发布包,从Apache下载映像中下载一个最新稳定版本。 单机操作 安装Zookeeper的单机模式非常简单。服务包含在一个单独的压缩文件中,所以安装只需要创建 阅读全文
posted @ 2017-02-17 13:31 名字可以起这么长 阅读(948) 评论(0) 推荐(0) 编辑