10 月 2021

从0到1用故事讲解「动态代理」

虽然学会了静态代理,但是招财这几天仍然是有些闷闷不乐,因为始终没有想出上次陀螺留给自己的问题的解决思路。 ​ 如何为任意对象的任意方法前后添加同一个处理逻辑? 手动为每一个对象的每一个方法中添加同一段代码逻辑是不可能的,这辈子都不可能的。「懒」是科技进步的重要动力! ​ 思考未果,招财终于要求助陀螺了。 捉襟见肘的静态代理 “师傅,你上次留给我的问题我没想通。这种需求的现实意义在哪儿呢?”招财开门见山。 ​ 陀螺说:“如果真的能在任意方法前后添加自己的逻辑,那作用可就太大了!你可以在逻辑运行之前先校验操作权限;你也可以在逻辑运行之前先开始一个事务,在逻辑完成之后提交或回滚事务。这...

一条SQL更新语句是如何执行的

文章首发于公众号「蝉沐风」,认真写好每一篇文章,欢迎大家关注交流 这是图解MySQL的第2篇文章,这篇文章会通过一条SQL更新语句的执行流程让大家清楚地明白: 什么是InnoDB页?缓存页又是什么?为什么这么设计? 什么是表空间?不同存储引擎的表在文件系统的底层表示上有什么区别? Buffer Pool是什么?为什么需要?有哪些我们需要掌握的细节? MySQL的三种日志文件redo日志、undo日志、binlog分别是什么?为什么需要这么多种类型的日志? 正文开始! 之前我们讲过了一条SQL查询语句是如何执行的,那么插入(INSERT)、更新(UPDATE)和删除(DELETE)...

Windows最全快捷键

单独按Windows:显示或隐藏“开始”功能表 Windows+BREAK:显示“系统属性” 对话框 Windows+D:显示桌面 Windows+M:最小化所有窗口 Windows+Shift+M:还原最小化的窗口 Windows+E:开启“资源管理器” Windows+F:查找文件或文件夹 Windows+CTRL+F:查找电脑 Windows+F1:显示 Windows “帮助” Windows+R:开启“运行” 对话框 Windows+U:开启 “公用程序管理器” Windows+L:切换使用者 Ctrl+S 保存 Ctrl+W 关闭程序 Ctrl+N 新建 Ctrl...

按下开机键,计算机背后的故事

按下开机键,计算机背后的故事 计算机是如何启动的? ================================= 从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示……… 零、boot的含义 问:”启动”用英语怎么说? 答:boot。boot原来的意思是靴子,”启动”与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚语:   ”pull oneself up by one’s bootst..…

电脑为什么越用越慢

电脑为什么越用越慢 ①垃圾文件过多。系统用的久了,在系统盘里会产生大量无用文件(垃圾文件),占用了系统的一定资源,从而使系统运行速度下降,这就要我们删除垃圾文件来提高运行速度。 ②虚拟内存过低。硬盘中有一个很宠大的数据交换文件,它是系统预留给虚拟内存作暂存的地方,很多应用程序都经常会使用到,所以系统需要经常对主存储器作大量的数据存取,因此存取这个档案的速度便构成影响计算机快慢的非常重要因素! ③桌面图标太多,安装了太多的字体 ④系统感染病毒。如果你的计算机感染了病毒,那么系统的运行速度会大幅度变慢。病毒入侵后,首先占领内存这个据点,然后便以此为根据地在内存中开始漫无休止地复制自己,随着它越来越…

Linux的链接文件-ln命令

Linux的链接文件   使用ln命令来创建链接文件(link) Linux链接分两种:硬链接(Hard Link),符号链接(Symbolic Link)   默认情况下,ln命令产生硬链接。 # ln -s xiaotong tongtong #符号链接才能为目录建立链接 源文件 目标文件(链接文件) # cd tongtong/ # pwd /lianxi/...

zip-gzip-bzip2_压缩文件

问:为什么要压缩文件? 答:方便传输,因为压缩的文件容量会比较小 存储所使用的空间也会比较小 —> 备份 Windows里的压缩软件:WinRAR、Zip、好压、2345 linux里的压缩软件:tar zip gzip bzip2 压缩文件的扩展名= linux下压缩文件: .tar.xz、.tar.gz、.tar.bz2、.zip 、.iso(需要相应的软件打开) windows下压缩文件:.rar .zip .iso ====================================== 1>windows里的...

关于MySQL数据库

关于MySQL数据库 MySQL最流行的关系型数据库管理系统 MySQL官网:http://www.mysql.com MySQL是WEB应用方面最好的RDBMS应用软件之一 RDBMS:Relational Database Management System关系数据库管理系统 问:什么是数据库? 答:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。 相对于在文件中读写数据,数据库方式的速度会快很多。   因此,选择使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。 关系型数据…

MySQL环境搭建

INSTALL_MySQL:   所有平台的MySQL下载地址:http://www.mysql.com/downloads。 简单介绍MySQL安装 Linux上安装MySQL的两种方式:源码安装、RPM包安装 (因为是Linux基础知识,就不啰嗦啦)—主要讲述使用rpm包安装MySQL 5.7 MySQL的各RPM包:   ①MySQL:MySQL服务器   ②MySQL-client:MySQL客户端程序,用于连接并操作Mysql服务器   ③MySQL-devel:库和包含文件,若想编译其它MySQL客户端(例如Perl模块),则需要安装该RPM包   ④...

入门常用SQL及官方文档的使用

SQL语句基础理论   SQL是操作和检索关系型数据库的标准语言,标准SQL语句可用于操作关系型数据库。 5大主要类型:   ①DQL(Data Query Language,数据查询语言)语句,主要由于select关键字完成,查询语句是SQL语句中最复杂,功能最丰富的语句。   ②DML(Data Munipulation Language,数据操作语言)语句,DML语句修改后数据将保持较好的一致性;操作表的语句,如增插insert、更新update、删除delete等; ③DDL(Data Definition Language,数据定义语言)语句,操作数据对象的语言...