- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 多线程run和start的区别
Thread的start和run1) start:用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到spu时间片,就开始执行run()方法,这里方法run()称为线程体,它包含了要执行的这个线程的内
2017-06-18 21:18:56 1252 2
原创 【JVM】类加载
疯狂讲义看了一遍,jvm看了一遍,也算清晰了些。一、what 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。二、when Java语言里,类型的加载、连接和初始化过程都是在程序运行期间完成的。三、how
2017-06-18 21:17:01 413 3
原创 【JVM】jvm内存模型及分区
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。 jvm所管理的内存将会包括以下几个运行时数据区域: 程序计数器: 1.程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示
2017-06-11 21:46:47 2275 15
原创 【RabbitMQ】三种Exchange模式——订阅、路由、通配符模式
前两篇博客介绍了两种队列模式,这篇博客介绍订阅、路由和通配符模式,之所以放在一起介绍,是因为这三种模式都是用了Exchange交换机,消息没有直接发送到队列,而是发送到了交换机,经过队列绑定交换机到达队列。 一、订阅模式(Fanout Exchange): 一个生产者,多个消费者,每一个消费者都有自己的一个队列,生产者没有将消息直接发送到队列,而是发送到了交换机,每
2017-06-02 14:51:06 21966 23
原创 【RabbitMQ】work模式
上一篇博客的作为rabbitMQ的入门程序,也是简单队列模式,一个生产者,一个消费者,今天这篇博客介绍work模式,一个生产者,多个消费者,下面的例子模拟两个消费者的情况。图示: 一个生产者、两个消费者;一个消息只能被一个消费者获取。 在work模式中可以分为两种模式,一种是两个消费者平均消费队列中的消息,即使他们的消费能力是不一样的,这种
2017-06-01 21:49:56 2098 10
NUnit-2.6.3.msi
2016-01-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人