自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Spring框架深入学习(持续更新)

Spring框架深入学习Spring框架概述Spring容器IOC容器和控制反转什么是控制(依赖)反转呢?IOC应用场景IOC的设计与实现Spring IOC容器的设计Spring框架概述这里就当作Abstract来写吧,写完全文再来总结。Spring容器IOC容器和控制反转什么是控制(依赖)反转呢?找到了一种比较权威的解实as follow图片来自 Spring技术内幕:深入解析Spring架构与设计原理第二版IOC应用场景Spring以一种轻量级的方式实现IOC,在进行依赖管理时

2020-10-22 18:11:27 461

原创 Java锁(synchronized、AQS、Lock、ReentrantLock、公平锁、非公平锁)

Java中的锁synchronized实现原理1.6版本做了什么优化对象头锁升级机制偏向锁轻量级锁Java语言实现的锁AQSLock接口ReentrantLock源码分析synchronizedsynchronized用于并发场景,在1.6版本之前被称为重量级锁,也是一种悲观锁,可重入锁。1.6版本进行可优化,大大提高了synchronized的效率。注意,synchronized关键字修饰类和静态方法,锁住类对象;修饰方法,锁住调用此方法的对象实现原理synchronized是jvm实现的一种互

2020-10-08 23:45:52 524

原创 源码分析:Java原子类的实现原理、使用方法

Java原子类原子类有哪些基本类型的原子类源码分析原子类的目的就是在并发环境下保证线程安全,并且保证效率。原子类有哪些Java的原子类在java.util.concurrent.atomic包下,包内有16个类(jdk8)基本类型的原子类AtomicBooleanAtomicIntegerAtomicLong源码分析以AutomicInteger为例,分析源码public class AtomicInteger extends Number implements java.io.S

2020-10-07 23:50:24 408

原创 Java23种设计模式(持续更新)

设计模式为什么要有设计模式设计模式的分类设计模式六大原则23种设计模式1、工厂模式2、抽象工厂模式3、单例模式4、建造者模式今个是十一假期第二天,奖励自己学习一下设计模式,很久之前就想学习一下了,但是真的是时间有限,哈哈,终于有时间了,话不多说,冲冲冲!为什么要有设计模式设计模式(Design Pattern)最重要的目的是为了可重用代码,他带来的好处当然也不止于此,除此之外也可以让代码更容易被理解、更具可靠性。做为一名软件工程师,设计模式的学习是必不可少的。设计模式的分类总体来说设计模式可以分成

2020-10-05 22:59:27 269

原创 Java并发-JMM、volatile、CAS

Java并发-JMM主内存与工作内存volatile关键字volatile使用场景主内存与工作内存JMM的目标是规定各个变量的访问规则,JMM规定所有变量存储再主内存,每条线程有自己的工作内存,线程工作内存保留着主内存的副本,线程对变量的所有操作都只能在工作内存中进行,不能操作主内存,也不能访问其他线程的变量。JMM定义了8种原子操作保证及一些限定条件保证了一些线程安全的内存访问操作。略了,如果这部分理论以后有应用再补。volatile关键字volatile是JVM提供的最轻量级的同步机制。被v

2020-09-27 17:57:24 332

原创 Java并发-线程池

Java线程池线程池的作用成员变量线程池状态构造方法Executors提供的线程池newFixedThreadPool()newSingleThreadExecutor()newCachedThreadPool()newScheduledThreadPool()线程池的作用管理线程,防止线程频繁的创建或销毁带来的性能消耗##核心类 ThreadPoolExecutor成员变量 //控制线程池状态,前3位是状态,后29位是RUNNING状态的线程数 private final AtomicI

2020-09-25 09:42:42 398

原创 Java的注解机制

Java注解原理及使用Java注解(Annotation)Collection接口Java注解(Annotation)Java注解在jdk1.5被引入,是一种注释机制。在类、方法、变量、参数和包等都可以被标注Collection接口

2020-09-23 17:47:23 241

原创 Java并发-线程

Java并发-线程线程和进程的区别Java 创建线程继承Thread类实现Runnable实现Callable线程状态及转换Thread有关的方法线程和进程的区别根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位开销:每个进程都有独立的代码和数据空间,程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程

2020-09-23 17:44:55 172

原创 Redis与缓存

Redis与缓存使用Redis的好处缓存雪崩缓存雪崩现象的解决方案缓存穿透缓存穿透的解决方案双写一致使用Redis的好处首先,在学习一项技术之前按,我们要知道为什么要使用这项技术。Redis会数据写在内存中,数据库会将数据持久化到硬盘。我们使用Redis的好处主要有二。提高性能,操作内存的效率要高于硬盘。提高并发能力,缓存可以分担部分请求。所以我们处理请求时要先去查缓存,如果命中则将数据反馈给web server。否则去查数据库。缓存雪崩如果缓存挂了或者缓存数据在同一时间过期,那么全部的请

2020-09-21 19:29:40 303

原创 Java常用集合类

Java集合Java常用集合类Collection接口ListArrayListVectorLinkedList对比SetHeshSetTreeSetLinkedHashSetMap接口HashMapLinkedHashMapTreeMapJava常用集合类Java中的集合分别在Collection、Map接口下,并发集合暂时不讨论Collection接口可以看到我们常用的List,Queue,SetList常用的类有ArrayList, Vector, LinkenListArrayL

2020-09-21 10:51:10 457

原创 Java8 新特性

Java lambda表达式学习什么是lambda表达式lambda表达式实现原理lambda表达式使用场景场景1:创建搜索匹配一个特征的成员的方法场景2:创建更广泛的搜索方法场景3:在本地类中指定搜索条件代码场景4:在匿名类中指定搜索条件代码场景5:使用Lambda表达式指定搜索条件代码场景6:使用带有Lambda表达式的标准功能接口场景7:在整个应用程序中使用Lambda表达式场景8:更广泛地使用泛型场景9:使用接受Lambda表达式作为参数的聚合操作GUI应用程序中的Lambda表达式Lambda表达

2020-09-20 21:00:28 261

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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