薛嘉涛的博客

一个普通的二本学生,希望写博客来时刻鞭策自己,不忘初心

Java并发编程:Java线程池核心ThreadPoolExecutor的使用和原理分析

文章目录引出线程池Executor框架ThreadPoolExecutor详解构造函数重要的变量线程池执行流程任务队列workQueue任务拒绝策略线程池的关闭ThreadPoolExecutor创建线程池实例参考: 引出线程池 线程是并发编程的基础,前面的文章里,我们的实例基本都是基于线程开发作...

2019-01-04 10:29:04

阅读数 126

评论数 0

Java集合类:HashMap (基于JDK1.8)

文章目录前言HashMap的数据结构深入源码两个参数成员变量四个构造方法插入数据的方法:put()哈希函数:hash()动态扩容:resize()节点树化、红黑树的拆分节点树化红黑树拆分总结心得 前言 今天我们来学习Java中较为常用的集合类 HashMap。 另外说明一下,本文的 HashMap...

2018-10-24 20:35:09

阅读数 1725

评论数 0

第一次的心得总结,以三个月为周期

目录 前言 三个月里你做了什么 自己在这三个月里收获了什么? 接下来三个月有什么规划? 有什么想对未来的自己说? 前言 这是我在博客文章上写的第一篇总结,并且打算从这第一篇开始,以后每过三个月左右都要做一次总结,总结一下过去几个月自己做了些什么事以及对未来几个月的计划,写下来...

2018-08-10 21:58:15

阅读数 442

评论数 0

设计模式:面向对象设计的六大原则 (绝对详细)

文章目录前言六大原则单一职责原则开闭原则里氏替换原则依赖倒置原则接口隔离原则迪米特原则总结 前言 很久没有写博客了,一直给自己找借口说太忙了,过几天有空再写,几天之后又几天,时间就这么快速的消逝。说到底就是自己太懒了,不下点决心真是不行。我决定逼自己一把,从今天开始学习设计模式系列,并写成博文记录...

2019-05-20 09:55:32

阅读数 5

评论数 0

idea创建maven项目速度慢?别急,这有三种方案

困扰 Intellij idea是一款非常强大的编辑器,可以很方便地帮我们创建maven项目,有用过的同学应该都深有体会,但我们经常会遇到一个困扰,那就是用idea创建maven项目时,速度很慢,往往需要好几分钟的时间,有时甚至会卡住,主要原因是创建maven项目时默认是下载求网络上的一个文件ar...

2019-01-30 09:38:20

阅读数 106

评论数 0

用idea搭建SSM项目,原来这么简单

文章目录前言软件环境创建项目数据库文件配置文件pom.xmllog4j.propertiesjdbc.propertiesapplicationContext.xmlspring-mvc.xmlweb.xml运行项目编写代码 前言 前阵子突发奇想,想学习下SpringMVC的源码,于是打算用ide...

2019-01-28 10:00:37

阅读数 622

评论数 0

Java并发编程:什么是CAS?这回总算知道了

无锁的思想 众所周知,Java中对并发控制的最常见方法就是锁,锁能保证同一时刻只能有一个线程访问临界区的资源,从而实现线程安全。然而,锁虽然有效,但采用的是一种悲观的策略。它假设每一次对临界区资源的访问都会发生冲突,当有一个线程访问资源,其他线程就必须等待,所以锁是会阻塞线程执行的。 当然,凡事都...

2019-01-08 10:19:19

阅读数 121

评论数 0

Java并发编程:Java的四种线程池的使用,以及自定义线程工厂

文章目录引言四种线程池newCachedThreadPool:可缓存的线程池newFixedThreadPool:定长线程池newSingleThreadExecutor:单线程线程池newScheduledThreadPool:支持定时的定长线程池自定义ThreadFactory 引言 通过前面...

2019-01-07 13:56:36

阅读数 93

评论数 0

Java并发编程:ThreadLocal的使用以及实现原理解析

前言 前面的文章里,我们学习了有关锁的使用,锁的机制是保证同一时刻只能有一个线程访问临界区的资源,也就是通过控制资源的手段来保证线程安全,这固然是一种有效的手段,但程序的运行效率也因此大大降低。那么,有没有更好的方式呢?答案是有的,既然锁是严格控制资源的方式来保证线程安全,那我们可以反其道而行之,...

2019-01-03 09:46:24

阅读数 87

评论数 0

Java并发编程:synchronized、Lock、ReentrantLock以及ReadWriteLock的那些事儿

文章目录前言synchronized用法修饰方法修饰实例方法修饰静态方法同步代码块引出LockLock用法子类:ReentrantLock读写分离锁:ReadWriteLockLock和synchronized比较 前言 多线程开发中,同步控制是必不可少的手段。而同步的实现需要用到锁,Java中提...

2019-01-02 09:38:38

阅读数 62

评论数 0

Java并发编程:JMM (Java内存模型) 以及与volatile关键字详解

文章目录计算机系统的一致性Java内存模型内存模型的3个重要特征原子性可见性有序性指令重排序volatile关键字保证可见性和防止指令重排不能保证原子性 计算机系统的一致性 在现代计算机操作系统中,多任务处理几乎是一项必备的功能,因为嵌入了多核处理器,计算机系统真正做到了同一时间执行若干个任务,是...

2018-12-29 10:21:57

阅读数 52

评论数 0

Java并发编程:线程的生命周期是个怎样的过程?

前言 在日常开发过程中,如果我们需要执行一些比较耗时的程序的话,一般来说都是开启一个新线程,把耗时的代码放在线程里,然后开启线程执行。但线程是会耗费系统资源的,如果有多个线程同时运行,互相之间抢占系统资源,那无疑会对系统造成极大的压力。所以,怎么操作线程,保证不影响整个应用功能是很重要的,而这就需...

2018-12-28 09:34:13

阅读数 83

评论数 0

Java并发编程:Java创建线程的三种方式

文章目录引言创建线程的三种方式一、继承Thread类二、实现Runnable接口三、使用Callable和Future创建线程三种方式的对比 引言 在日常开发工作中,多线程开发可以说是必备技能,好的程序员是一定要对线程这块有深入了解的,我是Java程序员,并且Java语言本身对于线程开发的支持是非...

2018-12-27 10:06:48

阅读数 58

评论数 0

Java并发编程:什么是线程安全,以及并发必须知道的几个概念

废话 众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补自己在这方面的知识缺陷。 并发必须知道的概念 在深入学习并发编程之前,我们需...

2018-12-26 10:43:27

阅读数 65

评论数 0

SpringCloud底层服务之间是怎么相互调用的?

文章目录概述一、业务场景介绍二、Spring Cloud核心组件:Eureka三、Spring Cloud核心组件:Feign四、Spring Cloud核心组件:Ribbon五、Spring Cloud核心组件:Hystrix六、Spring Cloud核心组件:Zuul七、总结 概述 毫无疑问...

2018-11-22 16:41:10

阅读数 4693

评论数 5

Java集合类:Vector

引言 之前的文章我们学习了一个集合类 ArrayList,今天讲它的一个兄弟 Vector。 为什么说是它兄弟呢?因为从容器的构造来说,Vector 简直就是 ArrayList 的翻版,也是基于数组的数据结构,不同的是,Vector的每个方法都加了 synchronized 修饰符,是线程安...

2018-10-30 10:54:27

阅读数 82

评论数 0

Java集合类:LinkedList

文章目录前言初识LinkedList源码解析添加元素删除元素更改元素查询元素内部类LinkedList 和 ArrayList 的对比 前言 上篇文里讲解了ArrayList ,它是基于List 接口来实现的,今天讲解Java集合类中另一个跟List相关的集合类,叫做LinkedList 。 ...

2018-10-30 10:51:58

阅读数 67

评论数 0

Java集合类:ArrayList

文章目录前言源码解析基本成员变量添加元素查询元素修改元素删除元素为什么用 "transient" 修饰数组变量总结 前言 今天学习一个Java集合类使用最多的类 ArrayList , ArrayList 继承了 AbstractList,并实现了List 和 ...

2018-10-24 20:51:06

阅读数 89

评论数 0

Java集合类:"随机访问" 的RandomAccess接口

引出RandomAccess接口 如果我们用Java做开发的话,最常用的容器之一就是List集合了,而List集合中用的较多的就是ArrayList 和 LinkedList 两个类,这两者也常被用来做比较。因为最近在学习Java的集合类源码,对于这两个类自然是不能放过,于是乎,翻看他们的源码,我...

2018-10-24 20:45:38

阅读数 338

评论数 0

Java集合类:AbstractList

今天学习Java集合类中的一个抽象类,AbstractList。 初识AbstractList AbstractList 是一个抽象类,实现了List 接口,是隶属于Java集合框架中的 根接口 Collection 的分支,由其衍生的很多子类因为拥有强大的容器性能而被广泛应用,例如我们最为熟悉的...

2018-10-24 20:44:09

阅读数 306

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭