自定义博客皮肤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相关教学视频和面试题,从概念和实战简单的回顾了Spring学习过程,适合入门和复习。1.概念1.1 基本概念1.1.1 什么是SpringSpring是一个轻量级Java开发框架 。目的是解决企业级应用开发的业务逻辑层和其他各层的耦合问题,即解决企业级应用开发的复杂性。两个核心:控制反转(IOC)和面向切面编程(AOP)1.1.2 Spring优点方便解耦,简化开发提供面向切面编程,方便实现对程序进行权限拦截、运行监控等功能

2021-12-01 16:25:25 592 1

原创 JAVA多线程并发编程学习笔记4——线程池

JAVA并发编程7. 线程池7.1 概念7.1.1 无限制创建线程的缺点线程生命周期的开销(创建和关闭线程等开销)活动线程消耗系统资源,大量空闲线程占用更多内存,给垃圾回收器带来压力。过多的线程会影响稳定性,甚至拖垮程序。7.1.2 简单过程和优点过程:线程池管理一个工作者线程的同构池,并与工作队列绑定。它从工作队列中获取下一个任务并执行。优点:可以重用线程,减少创建和关闭线程的开销。提高响应性,不需要创建线程也就不会延迟任务的执行。通过调整线程池大小,可以保持处理器

2021-11-13 20:18:22 480

原创 JAVA多线程并发编程学习笔记3——显式锁

JAVA并发编程5. 显式锁5.1 Lock接口5.1.1 概念Lock接口提供了无条件的、可轮询的、定时的、可中断的锁获取操作加锁和解锁的方法都是显式的优点:可以中断等待获取锁的线程;可以不必无限等待锁5.1.2 方法方法返回值描述lock()void申请锁,一直到锁可用lockInterruptiblyvoid当前线程未被中断则申请锁,否则抛出异常tryLock()boolean只在调用时申请锁tryLock(long, TimeU

2021-11-13 20:17:34 268

原创 JAVA多线程并发编程学习笔记2——线程同步和通信

JAVA并发编程3. 线程同步3.1 相关概念3.1.1 含义线程同步机制是一套用于协调线程之间的数据访问的机制,用来保证线程安全。3.1.2 方法锁volatile关键字final, static关键字相关API,如wait(), sleep(), notify()等3.2 锁3.2.1 含义锁可以理解为对共享数据进行保护的一个许可证,线程在访问共享数据前必须先获得锁,一个锁只能同时被一个线程持有,线程在结束访问之后释放锁。3.2.2 作用保障原子性:通过互斥保障原子性

2021-11-13 20:16:21 313

原创 JAVA多线程并发编程学习笔记1——进程和进程安全

JAVA并发编程1. 介绍1.1 进程与线程1.1.1 概念进程:计算机中的程序关于某数据集合上的一次运行活动,是操作系统进行资源分配与调度的基本单位(比如内存、文件句柄、安全证书)。程序在各自的进程上运行,可以简单理解为运行的程序。线程:是进程的一个执行单元,以单一顺序的控制流作为进程的执行分支。共享进程范围内的资源(比如内存、文件句柄),但都有自己的程序计数器、栈和本地变量。1.1.2 线程的优点降低开发和维护的开销在GUI程序中改进用户接口的响应性在服务器应用中提高资源的利用率和吞

2021-11-13 20:14:08 156

原创 MySQL学习笔记6—事务视图和管理

MySQL学习笔记本系列文章将结合书本、网络教程和实操层面,总结以新手角度学习MySQL的须知须会。11. 事务11.1 事务处理用途:使成批的MySQL操作要么完全执行,要么完全不执行,维护数据库的完整性。关键:将SQL语句分解为逻辑块,并明确规定数据何时回退,何时不回退。术语:事务(transaction):一组SQL语句回退(rollback):撤销指定SQL语句的过程提交(commit):将未存储的SQL语句结果接入写入数据库表保留点(savepoint):事务处理

2021-08-11 14:34:21 78

原创 MySQL学习笔记4—进阶查询

MySQL学习笔记本系列文章将结合书本、网络教程和实操层面,总结以新手角度学习MySQL的须知须会。8. 进阶查询8.1 子查询8.1.1 用于过滤概念:子查询就是嵌套在其他查询中的查询用例SELECT cust_id from orders WHERE order_num IN(SELECT order_num FROM orderitems WHERE prod_id = 'TNT2');说明:子查询从内向外处理,先找到产品编号为TN2的订单编号,再查询购买该编号的顾客信息。

2021-08-09 19:32:44 119

原创 MySQL学习笔记5—统计和函数

MySQL学习笔记本系列文章将结合书本、网络教程和实操层面,总结以新手角度学习MySQL的须知须会。9. 数据统计9.1 数据汇总9.1.1 聚集函数定义:运行在行组上,计算和返回单个值的函数聚集函数函数说明用例AGV()返回列平均值SELECT AVG(column) FROM table nameCOUNT()返回行数目SELECT COUNT(*),COUNT(column)对行和非NULL行计数MAX()返回列最大值SELECT MAX

2021-08-08 21:20:31 195

原创 MySQL学习笔记3—增删改查

MySQL学习笔记本系列文章将结合书本、网络教程和实操层面,总结以新手角度学习MySQL的须知须会。5. 数据插入5.1 基础操作5.1.1 插入完整的行语句INSERT INTO tablename VALUES(value1, value2,...);INSERT INTO tablename (column1, column2,...) VALUES(value1, value2,...);语句1说明插入值必须以表列顺序插入,每个列必须提供一个值。某列无值时,

2021-08-07 20:13:43 84

原创 MySQL学习笔记2—数据库及表的操作和数据类型

MySQL学习笔记本系列文章将结合书本、网络教程和实操层面,总结以新手角度学习MySQL的须知须会。4. 数据库操作基础4.1 数据库4.1.1 创建数据库CREATE DATABASE [IF NOT EXISTS] databaseName [CHARACTER SET set] [COLLATE coll]部分含义[]可写可不写[IF NOT EXISTS]如果数据库已存在,则不创建databaseName数据库名,使用反引号(``)括住可规避关键

2021-08-05 21:24:16 87

原创 MySQL学习笔记1—安装和使用

MySQL学习笔记0. 安装和使用0.1 安装下载地址官网下载地址,选择系统、版本和位数。此处使用64位Windows系统,选择版本5.7.19。直接下载地址解压解压到某一文件夹,如D:\JAVA\,解压后得到文件夹D:\JAVA\mysql-5.7.19-winx64添加环境变量右击此电脑-属性-高级系统设置-环境变量,在用户变量Path变量中增加上方解压后得到的文件夹。创建文档在安装文件夹bin目录内,创建my.ini,写入一下代码[client]port=33

2021-08-04 20:14:44 93

空空如也

空空如也

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

TA关注的人

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