Java的线程既是工作单元,也是执行机制。从JDK5开始,把工作单元与执行机制分离开来。工作单元包括Runnable和Callable,而执行机制由Executor框架提供。Executor框架简介在HotSpotVM的线程模型中,Java线程(java.lang.Thread)被一对一映射为本地操作系统线程。Java线程启动时会创建一个本地操作系统线程;当该Java线程终止时,这个操作系统线程也
分类:
编程语言 时间:
2018-11-08 23:25:38
阅读次数:
271
Java多线程开发中最重要的一点就是线程安全的实现了。所谓Java线程安全,可以简单理解为当多个线程访问同一个共享资源时产生的数据不一致问题。为此,Java提供了一系列方法来解决线程安全问题。 synchronized synchronized用于同步多线程对共享资源的访问,在实现中分为同步代码块和 ...
分类:
编程语言 时间:
2018-11-07 14:04:26
阅读次数:
228
一、Java 虚拟机内存原型 寄存器:我们在程序中无法控制。 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中。 堆:存放用new产生的数据。 静态域:存放在对象中用static定义的静态成员。 常量池:存放常量。 非 RAM 存储:硬盘等永久存储空间。 二、常量池(con ...
分类:
编程语言 时间:
2018-11-03 15:20:53
阅读次数:
170
线程池介绍在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理。如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题:如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创建和销毁线程,如此一来会大大降低系统的效率。可能出现服务器在为每个请求创建新线程和销毁线程上花费的时间和消耗的系统资源要比处理实际的用户请求的时间和资源更多。那么有没有一
分类:
编程语言 时间:
2018-10-31 20:11:30
阅读次数:
152
JMM (Java Memory Model) java内存模型 Java内存模型的抽象 Java线程之间的通信由Java内存模型(本文简称为JMM)控制,JMM决定一个线程对共享变量的写入何时对另一个线程可见。 从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内 ...
分类:
其他好文 时间:
2018-10-31 17:55:37
阅读次数:
177
微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的开源微服务架构框架提供了微服务的关键思路,例如Dubbo和Spring Cloud。各大互联网公司也有自研的微服务框架,但其模式都于这二者相差不大。
分类:
编程语言 时间:
2018-10-30 17:22:41
阅读次数:
178
一、Java线程 几个概念: 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。 线程: 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同 ...
分类:
编程语言 时间:
2018-10-29 16:08:30
阅读次数:
119
线程的生命周期 新建状态 通过new创建线程对象,只是在堆中开辟了一块空间,线程并没有开始执行 可运行状态 用线程对象调用start()方法 就绪状态 等待cpu调度,线程并没有开始执行 运行状态 获得CPU的调度,开始执行,如果有多个CPU,允许多个线程并行执行 等待状态 同步锁调用wait方法, ...
分类:
编程语言 时间:
2018-10-28 19:21:34
阅读次数:
146
class MyThread implements Runnable{ private int index; public MyThread(int index){ this.index = index; } @Override public void run() { System.out.prin... ...
分类:
编程语言 时间:
2018-10-28 16:13:42
阅读次数:
144
class MyThread implements Runnable{ private int index; public MyThread(int index){ this.index = index; } @Override public void run() { System.out.prin... ...
分类:
编程语言 时间:
2018-10-28 16:12:13
阅读次数:
185