![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
crsfyc
这个作者很懒,什么都没留下…
展开
-
线程池其他相关内容
一、提交任务到线程池中向线程池中提交任务有两种方式:调用execute()和submit()方法execute()方法:用于提交不需要有返回值的任务,这类任务无法判断任务是否被线程池执行成功。调用示例代码如下:(参数为一个Runnable类的实例)executor.execute(new Runnable(){ @Override public voi...原创 2019-11-08 10:32:12 · 122 阅读 · 0 评论 -
线程池参数详解
创建线程池是需要指定如下几个参数,如:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, ...原创 2019-11-08 10:13:09 · 899 阅读 · 1 评论 -
常见线程池种类
1、概述:线程池类型用途说明适用场景Executors.newFixedThreadPool创建固定线程数的线程池,使用的是LinkedBlockingQueue无界队列,线程池中实际线程数永远不会变化适用于可以预测线程数量的业务中,或者服务器负载较重,对线程数有严格限制的场景Executors.newSingleThreadExecutor创建只有一个线程的线...原创 2019-11-08 09:43:25 · 2605 阅读 · 0 评论 -
JVM之Hotspot GC(三):垃圾收集器
原创 2019-10-19 09:39:20 · 145 阅读 · 0 评论 -
JVM之Hotspot GC(二):回收算法
原创 2019-10-18 16:15:48 · 179 阅读 · 0 评论 -
JVM之Hotspot GC(一):判断可回收对象
原创 2019-10-18 08:51:37 · 118 阅读 · 0 评论 -
Java 对象的四种引用
原创 2019-10-17 19:25:00 · 199 阅读 · 0 评论 -
线程锁的使用
普通锁(Lock)package org.xyz.java.thread.demo07;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * Lock 普通的锁是对 读-读操作、读-写操作、写-写操作都是互斥的,无论多个线程是读操作还是写操作,每次都只能...原创 2018-12-25 11:54:25 · 493 阅读 · 0 评论 -
线程范围内的数据共享
线程范围内的数据共享(ThreadLocal应用)自定义实现package org.xyz.java.thread.v5.threadlocal;import java.util.HashMap;import java.util.Map;import java.util.Random;/** * 自定义模拟来实现线程范围内数据共享 * @author kevin.chen *...原创 2018-12-25 11:47:47 · 196 阅读 · 0 评论 -
线程间的通讯
线程通讯需要使用到的三个方法: wait()、notify()与notifyAll()。该三个方法不在Thread类中定义,而是在Object类中>> wait() 方法:让当前线程挂起并放弃cpu使用权,同步资源,使别的线程可以访问并修改同步资源,而当前线程排队等待,直到被唤醒后才能再次获取cpu使用权和同步资源的访问。>> notify()方法:唤醒正在排队等待...原创 2018-12-25 11:33:30 · 111 阅读 · 0 评论 -
线程的同步机制
线程的同步机制主要是同java中的synchronized关键字[类锁方式]的实现关于synchronized关键字的讲解可以参考 synchronized 关键字解析这里主要是通过售票案例来讲解下线程的同步机制:使用继承Thread类的方式:package org.xyz.java.thread.demo03;/** * 使用继承Thread的方式来实现多个窗口同时售票...原创 2018-12-25 11:21:16 · 146 阅读 · 0 评论 -
Java内存溢出与栈溢出
java 内存溢出与栈溢出转载 2017-01-12 10:33:30 · 331 阅读 · 0 评论 -
Spring IOC 容器创建bean的几种方式(Xml配置的方式)
基于xml文件的方式创建bean:xml文件有三种创建bean的方式,分别是:1、构造函数2、静态工厂方法3、实例工厂方法构造函数的方式:Bean 对象:package spring.basic.xml.createbean;/** * 演示 spring 通过 xml 方式创建bean * 1、通过构造函数方式创建bean实例 * * @author keiv...原创 2018-12-24 16:21:51 · 2964 阅读 · 0 评论 -
synchronized 关键字解析
由于同一进程的多个线程共享同一片内存存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门的机制来解决这种冲突,有效的避免了同一个数据对象被多个线程同时访问。需要明确的几个问题:synchronized关键字可以作为方法的修饰符,也可以作为方法内的语句(即平时说的同步方法和同步代码块)如果再细分,其可以作用于instance(成员变量)、object refere...原创 2018-12-25 08:27:34 · 336 阅读 · 0 评论 -
Java 中的关键字
定义: 被Java语言赋予了特殊含义,用于专门用途的字符串(单词)特点: 关键字的所有字母都是 小写字母分类:用于定义数据类型的关键字class -- 用来描述类 interface -- 用来描述接口 eunm -- 用来描述枚举void ...原创 2018-12-25 09:15:28 · 121 阅读 · 0 评论 -
多线程相关的一些概念介绍
一、程序、进程、线程的关系程序:一个可以运行的代码,程序是静态的。进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程中可以包含多个线程。(进程是资源分配的最小单位)线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是cpu调度的最小单位)二、并行、并发并行(parallellism):多个线程同时...原创 2018-12-25 09:37:12 · 132 阅读 · 0 评论 -
创建线程的方式及区别
创建线程的方式有三种: > 1、继承Thread类 > 2、实现Runnable接口 > 3、实现Callable接口(该方式主要运用在并发编程异步调用中) > 4、使用线程池的方式创建线程(一般不作为常规的创建线程的方式)各种方式详细代码示例如下:第一种,继承 java.lang.Thread 类的方式:package org....原创 2018-12-25 09:47:53 · 235 阅读 · 0 评论 -
线程的生命周期(线程间的状态转换)
线程的状态分为如下几种:jdk的源代码介绍: java.lang.Thread.Statepublic enum State { // 新建状态 - 尚未启动的线程处于这种状态。 NEW, // 可运行状态 - 可运行的线程状态,该线程已经可以在java虚拟机执行,其可能在等待其他资源,如操作系统的中央处理器等。 RUNNABLE, ...原创 2018-12-25 10:18:51 · 674 阅读 · 0 评论 -
线程Thread类中的常用方法讲解
1、start() 方法:使一个线程启动,并执行该线程对应的run()方法说明:> 线程只能启动一次,一旦线程启动了,再次启动会抛出java.lang.IllegalThreadStateException异常package org.xyz.java.thread.demo02;/** * 线程的start方法讲解 * @author kevin.chen * */...原创 2018-12-25 11:04:55 · 654 阅读 · 0 评论