文章更新时间:2021/09/06 一、引言 学习并发编程之前,我们先了解几个概念: 什么是进程,什么是线程? 进程是一个 “执行中的程序”,是系统进行资源分配和调度的一个独立单位。 线程是进程的一个实体,一个进程中拥有多个线程,线程之间共享地址空间和其它资源(所以通信和同步等操作线程比进程更加容易
一、线程池的分类 线程池的创建都是通过Executors(创建者接口)这个接口的方法进行创建的,下面我们来了解一下都有哪些线程池: newFixedThreadPool() : 创建一个固定线程的线程池 newCachedThreadPool() : 创建一个可扩展的线程池。 newSchedule
文章更新时间:2021/09/06 一、创建多线程 创建多线程有以下几种方法: 继承Thread,重写run方法 实现Runnable接口,重写run方法【无返回值】 实现Callable接口,重写call方法【有返回值】 继承Thread /** * 创建一个类,继承Thread,重写run方法
文章更新时间:2021/09/06 一、引言 Thread类中存在着许多操作线程的方法,学习Thread类是非常有必要的,前面我们也嘘唏了创建线程的几种方式,若线程的创建不是以继承Thread类的方式创建的,那我们又改如何使用Thread中的方法呢?下面一起来学习一下多线程操作的重点--Thread
文章更新时间:2021/08/23 一、一句话背景 比如目前我需要实现一个功能,根据我输入的参数来获取具体的游戏角色对象,而游戏角色的组成是
一、Spring框架概述 定义:Spring5框架是一个轻量级开源的JavaEE框架,是针对bean的生命周期进行管理的轻量级容器
一、IOC(概念和原理) 什么是IOC (1)控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理 (2)使用IOC目的:为了耦合度降低 (3)第一天的入门案例就是IOC的实现 IOC底层原理 XML解析 工厂模式 反射 画图讲解IOC底层原理 原始方式 工厂模式 IOC 二、IOC(
文章更新时间:2021/07/10 一、什么是JMM 概念:Java内存模型是一种抽象的概念,并不真实存在,定义了Java程序在
文章更新时间:2021/07/10 一、初认volatile 首先学习volatile关键字时,我们先简单的了解一下它能干啥: 工作内存与主内
文章更新时间:2021/09/03 一、引言 线程并发的过程中,肯定会涉及到一个变量共享的概念,那么我们在多线程运行
一、前言 原子类主要用于并发编程里操作原子数据时使用到,位于util.concurrent.atomic包下。 我们可以通过下图看到,在JDK中已经定义了很多
一、并发队列的有界和无界 并发队列:实际上就是在并发场景下使用的队列。 有/无界概念:有界,就是规定了队列的大
一、注入空值和特殊符号 null值 特殊符号 二、注入外部Bean 1、创建两个类Service类和Dao类 2、在Service调用
一、IOC操作Bean管理(概念) Bean管理指的是2个操作: Spring创建对象 Spring注入属性 Bean管理操作有2种方式: (1)基于XML配置文件方式实现 (2)基于注解方式实现 二、IOC操作Bean管理(基于XML方式) 基于XML方式创建对象 (1)在Spring配置文件中,
一、Bean的作用域 定义:在Spring里设置创建的Bean是多实例还是单实例。 默认:单实例 单实例【默
一、Spring的Bean的类型 两种类型: 普通Bean 工厂Bean 区别: 普通Bean:在配置文件中定义的Bean类型就是返回类型
一、Bean的自动装配 定义:根据指定装配规则(属性名称或属性类型),Spring自动将匹配的属性值进行注入。 常规注入
一、创建对象 什么是注解? 定义:注解是代码特殊标记 格式:@注解名称(属性名称=属性值,属性名称=属
一、AOP的基本概念 什么是AOP 定义:面向切面(方面)编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得其之间耦合度降低,提高程序可重用性,同时提高了开发效率。 通俗描述:不修改源代码方式,在主干功能里添加新的功能。 底层原理 AOP的底层原理使用的是动态代理。 两种情况 有接口的情况:
一、准备工作 什么是AspectJ AspectJ:不是Spring的组成部分,是独立的AOP框架,我们一般把AspectJ和Spring框架进行整合一起使
一、概念和准备工作 什么是JdbcTemplate Jdbc:Java操作数据库的一套规范 JdbcTemplate:Spring框
一、概念和准备工作 什么是事务 定义:事务是数据库操作最基本的单元,逻辑上的一组操作,要么都成功,如果有一个操作失败则所有操作都失败。 典型场景:银行转账 阿肥转账100闷给阿靓 阿肥:-100 阿靓+100 事务的四个特性(ACID) 原子性:操作不可分割,要么都成功,一个失败则所有操作都失败。
一、学习设计模式 学习目标 理解松耦合的设计思想 掌握面向对象的设计原则 掌握重构技法改善设计 掌握GOF核心设计模式 什么是设计模式 描述在我们周围不断重复发生的问题,以及该问题解决方案的核心。 使用设计模式的目的 提高系统模块的可复用性。 二、面向对象的思维模型 底层思维模型 含义:向下的
一、为什么要面向对象设计 痛点:需求时刻变化,而变化又是系统复用的天敌。 优势:抵御变化。 目标:达到“接口标准化”的思想。 二、重新认识面
一、使用背景【动机】 在某一个任务中,其通常具有稳定的主干结构,而子步骤却可能会有很多可改变的地方。 二、代码演示 模板类 子类 测试类【模拟主流程调用】 三、模式讲解 解析:定义一个操作中的算法骨架【模板方法(稳定):TemplateDemo.order()】,而将一些步骤【抽象方法(变化):T
一、使用背景【动机】 在某一个任务中,某些对象算法可能多种多样且经常改变【如常见的多个if else块进行扩展】时,我们可以采用策略模式来优化。 二
一、使用背景【动机】 当我们需要构建一种“通知依赖关系”时,如果这种业务模型耦合度太高的时候,就不能很好的抵御新需求的变
一、使用背景【动机】 当我们错误的使用继承来进行功能扩展时,在需求不断变更的同时可能会增加很多子类,且缺
一、类加载的过程 我们通过一个流程图来进行分析: 类加载的步骤 类加载过程有如下几步: 加载 >> 验证 >> 准备 >>
一、JVM内存结构概览 由上图可以看到,一个程序在运行时,JVM数据区主要有这几块组成部分,且每一块组成部分都可
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号