05 2021 档案
摘要:/** * 中间商 **/ class Medium { // 当前库存 private int num = 0; // 最大库存 private static final int TOTAL = 10; /** * 接收生产数据 **/ public synchronized void put()
阅读全文
摘要:自旋锁:线程状态及上下文切换消耗系统资源,当访问共享资源的时间短,频繁上下文切换不值得。JVM实现,使线程在没获得锁的时候不被挂起,转而执行空循环,循环几次之后,如果还没能获得锁,则被挂起 阻塞锁:阻塞锁改变了线程的运行状态,让线程进入阻塞状态进行等待,当获得相应的信号(唤醒或者时间到)时,才可以进
阅读全文
摘要:饿汉式--本身线程安全 在类加载的时候,就已经进行实例化,无论之后用不用到。如果该类比较占内存,之后又没用到,就白白浪费了资源 public class HungerSingleton { private static final HungerSingleton INSTANCE = new Hun
阅读全文
摘要:能且仅能修饰变量 保证该变量的可见性,volatile关键字仅仅保证可见性,并不保证原子性 禁止指令重排序 A、B两个线程同时读取volatile关键字修饰的对象,A读取之后,修改了变量的值,修改后的值对B线程来说,是可见的 使用场景: 作为线程开关 单例,修饰对象实例,禁止指令重排序
阅读全文
摘要:内置锁 每个Java对象都可以用作一个实现同步的锁,这些锁称为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁。获得内置锁的唯一途径就是进入这个锁的保护的同步代码块或方法。 互斥锁 内置锁是一个互斥锁,这就是意味着最多只有一个线程能够获得该锁,当线程A尝试去获
阅读全文
摘要:初始(NEW):新创建了一个线程对象,但还没有调用start()方法。 运行(RUNNABLE):处于可运行状态的线程正在JVM中执行,但它可能正在等待来自操作系统的其它资源,例如处理器。 阻塞(BLOCKED):线程阻塞于synchronized锁,等待获取synchronized锁的状态。 等待
阅读全文
摘要:进程:是系统进行分配和管理资源的基本单位 线程:进程的一个执行单元,是进程内调度的实体、是CPU调度和分派的基本单位,是比进程更小的独立运行的基本单位。线程也被称为轻量级进程,线程是程序执行的最小单位。 一个程序至少一个进程,一个进程至少一个线程 进程有自己的独立地址空间,每启动一个进程,系统就会为
阅读全文
摘要:说下Servlet的生命周期 实例化->使用构造方法创建对象 初始化->执行init方法:Servlet的生命期中,仅执行一次init()方法,它是在服务器装入Servlet时执行,即第一次访问这个Servlet才执行 服务->执行service方法:service()方法是Servlet的核心。每
阅读全文
摘要:数据库备份的介绍 数据库的备份类型 完全备份:对整个数据库的数据进行备份 部分备份:对部分数据进行备份(可以是一张表也可以是多张表) 增量备份:以上一次备份为基础来备份变更数据,节约空间 差异备份:以第一次完全备份的基础来备份变更数据,浪费空间 数据库备份的方式 逻辑备份:直接生成sql语句保存起来
阅读全文
摘要:CS架构:客户机-服务器,即Client-Server(C/S)架构,缺少通用性,系统维护、升级需要重新设计和开发,增加了维护和管理的难度 BS架构:B/S架构即浏览器和服务器架构模式,是web兴起后的一种网络架构模式,web浏览器是客户端最主要的应用软件,统一了客户端,将系统功能实现的核心部分集中
阅读全文
摘要:mysql的慢查询日志开启与问题定位 查看是否已经开启了慢查询日志:SHOW VARIABLES LIKE 'slow%' 开启慢查询日志:SET GLOBAL slow_query_log = ON 查看慢查询的时间临界值:SHOW VARIABLES LIKE '%long%' 设置慢查询的时间
阅读全文
摘要:什么是索引 索引是一个单独的存储在磁盘中的数据库结构,它们包含着对数据表里的所有记录的引用指针,使用索引可以快速的找出在某列或多列中特定值的行 索引的优点 通过创建唯一索引,来保证数据库表中的每一行数据的唯一性 可以加快数据的检索速度 可以保证表数据的完整性与准确性 索引的缺点 索引需要占用物理空间
阅读全文
摘要:什么是AOP面向切面编程 什么是AOP Aspect Oriented Program面向切面编程,在不改变原有逻辑上增加额外的功能,比如解决系统层面的问题,或者增加新的功能 AOP思想把功能分两个部分,分离系统中的各种关注点 核心关注点:业务的主要功能 横切关注点:非核心、额外增加的功能 掌握AO
阅读全文
摘要:什么是数据库存储引擎 数据库引擎是数据库底层软件组件,不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的数据库引擎,可以获得特定的功能 MyISAM与InnoDB的区别 MyISAM InnoDB 支持全文索引(full text) 以前的版本不支持全文索引,5.6之后的版本支持
阅读全文
摘要:什么是存储过程 存储过程就是把复杂的一系列操作,封装成一个过程。类似于shell、pathon脚本等 存储过程的优缺点 优点: 复杂操作,调用简单 速度快 缺点: 封装复杂 没有灵活性 创建存储过程语法: create procedure 名称(参数...) begin 过程体; end 参数:in
阅读全文
摘要:什么是视图?视图的作用是什么? 视图(view)是一种虚拟存在的表,是一个逻辑表,它本身是不包含数据的。作为一个select语句保存在数据字典中的。通过视图,可以展现基表(用来创建视图的表叫做基表base table)的部分数据,说白了视图的数据就是来自于基表 视图的优点: 简单:使用视图的用户完全
阅读全文
摘要:什么是事务 数据库事务通常指对数据库进行读或写的一个操作过程。有两个目的,第一个是为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法;第二个是当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰 事务
阅读全文
浙公网安备 33010602011771号