并发编程之并发队列实现生产者与消费者

并发编程之并发队列实现生产者与消费者
一、并发队列 在并发队列上JDK提供了两套实现, 一个是以ConcurrentLinkedQueue为代表的高性能队列非阻塞, 一个是以BlockingQueue接口为代表的阻塞队列,无论哪种都继承自Queue。 1、阻塞队列与非阻塞队 阻塞队列与普通队列的区别在于: 阻塞队列: - 当队列是空的时,从队列中获取元素的操作将会被阻塞,试图从空的阻塞队列中获取……继续阅读 »

admin 3年前 (2019-10-13) 1528浏览 0评论 0个赞

并发编程之多线程线程安全

并发编程之多线程线程安全
一、什么是线程安全? 为什么有线程安全问题? 当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。 案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。 代码: public class ThreadTrain implements Runn……继续阅读 »

admin 3年前 (2019-10-07) 1953浏览 0评论 0个赞

并发编程之多线程(Java)

并发编程之多线程(Java)
一、线程与进程区别 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行 使用线程可以把占据时间长的程序中的任务放到后台去处理,程序的运行速度可能加快……继续阅读 »

admin 3年前 (2019-10-06) 1253浏览 0评论 0个赞

设计模式的七大原则

设计模式的七大原则
一、OOP三大基本特性 OOP 面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。……继续阅读 »

admin 3年前 (2019-09-29) 1186浏览 0评论 0个赞

【SpringBoot2入门七】SpringBoot的日志框架

【SpringBoot2入门七】SpringBoot的日志框架
SpringBoot选用 SLF4j和logback; 1、SLF4j使用 1)、如何在系统中使用SLF4j https://www.slf4j.org 以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法; 给系统里面导入slf4j的jar和 logback的实现jar import org.slf4j.Logg……继续阅读 »

admin 3年前 (2019-09-06) 2334浏览 0评论 0个赞