自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 问答 (1)
  • 收藏
  • 关注

原创 10.1 MySQL文件——二进制日志(bin log)

bin log只会记录数据库更改的所有操作,即便操作没有对数据库产生变化也会记录。bin log主要有以下三个作用:恢复:通过bin log可以将数据恢复到过去的某个时刻。 复制:通过复制和执行bin log使一台远程的MySQL数据库与令一台MySQL数据库进行实时同步。 审计:可以通过bin log中的信息进行审计,判断是否有对数据库进行注入的攻击。bin log默认是不开启的,需要手动指定参数启动。在my.inf主配置文件中直接添加三行即可开启bin log://第一个参数是打

2022-05-04 21:34:18 1142

原创 10.MySQL文件

参数文件当MySQL实例启动时,数据库会先读取参数文件用来寻找数据库的各种文件所在位置及指定初始化参数。在Windows系统中文件名为my.ini,Linux系统中文件名为my.cnf。MySQL数据库中的参数可以分为两类:动态参数、静态参数。动态参数可以在MySQL实例运行中进行更改,静态参数在整个实例生命周期内不能进行修改。通过SET命令对动态参数进行修改,语法如下:SET| [global | session] system_var_name = expr| [@@glob

2022-05-04 21:30:58 874

原创 08.InnoDB引擎之-异步IO、刷新邻接页

参考文章:《MySQL技术内幕:InnoDB存储引擎》异步IO为了提高磁盘操作性能,InnoDB存储引擎采用异步IO(AIO)的方式来处理磁盘操作,一条查询的SQL语句可能需要扫描多个索引页,也就是需要进行多次IO操作,可以一次发送多个IO操作等待结果进行合并,这就是AIO。同时还可以将判断数据页如果是连续的,会将多个IO合并成一个IO,这样就可以提高IOPS的性能。# 可以通过配置来开启和关闭 aioshow variables like "innodb_use_native_ai.

2022-05-02 10:09:17 248

原创 07.InnoDB引擎之-自适应哈希索引

参考文章:《MySQL技术内幕:InnoDB存储引擎》哈希是一种非常快的查找方法,在一般情况下这种查找的时间复杂度为O(1),而B+树的查找次数取决于B+树的高度。InnoDB存储引擎会监控表上各索引的查询,如果检测到建立哈希索引可以带来速度的提升,则建立哈希索引,称之为自适应哈希索引。自适应哈希索引是通过缓冲池的B+树页构造而来的,索引建立的速度很快。 InnoDB存储引擎会自动根据访问频率和模式来自动地为某些热点页建立哈希索引。建立哈希索引需要满足以下要求:对页的连续访问模式必须.

2022-05-02 10:06:32 453

原创 06.InnoDB引擎之-两次写机制原理(double write)

参考文章:基于Redo Log和Undo Log的MySQL崩溃恢复流程 MySQL的Double Write并不难理解 答疑文章(一):日志和索引相关问题 《MySQL技术内幕:InnoDB存储引擎》作用double write(两次写)使数据页更可靠。当InnoDB存储引擎正在向磁盘写入数据页时(16KB的数据页只写入了前4KB),这时发生宕机,这种情况称为部分写失效(partial page write)。如果没有double write(两次写)机制,那么会造成数据丢失的情况。.

2022-05-01 14:46:08 1909 1

原创 05.InnoDB引擎之-插入缓冲

什么是插入缓冲(Insert Buffer)?一般情况下应用程序中主键是唯一且自增的,数据是按照主键递增的顺序进行插入的,所以插入聚集索引一般都是顺序的,不需要磁盘的随机读取。对于这种插入操作,速度是非常快的。如果主键是UUID这种非自增的方式,那么插入方式和辅助索引一样都是随机的。辅助索引是非顺序的插入,需要离散地访问辅助索引页,由于随机读取磁盘所以会导致插入性能的下降。为了解决上述问题,InnoDB存储引擎设计了插入缓冲(Insert Buffer)。辅助索引的插入操作,会先判断插入的辅助索

2022-04-30 11:43:57 562

原创 04.CheckPoint机制详解

概述CheckPoint主要的作用是将缓冲池中的脏页刷新到磁盘,同时解决了以下三个问题:缩短数据库的恢复时间;当数据库发生宕机时,不需要重做所有的日志,只需要对CheckPoint之后的重做日志进行恢复,从而大大缩短恢复的时间。缓冲池不够用时,将脏页刷新到磁盘;当缓冲池不够用时,根据LRU算法删除最近最少使用的页,如果该页为脏页,那么会强制执行CheckPoint,将脏页刷新到磁盘。重做日志不够用时,刷新脏页;重做日志空间是循环使用的,并不能无限增大。当重做日志中的脏页都被刷新到磁盘时

2022-04-25 23:14:09 1729

原创 03.InnoDB体系架构

InnoDB体系架构InnoDB中主要包含后台线程和内存,其中:后台线程的作用是负责刷新内存中的数据,同时保证数据库发生异常时可以回滚到正常运行状态。 内存的作用是用于缓存磁盘上的数据便于读取。后台线程Master Thread将缓冲池中的数据异步刷新到磁盘中,保证数据的一致性,包括脏页的刷新、合并插入缓冲、undo页的回收。IO Thread负责AIO请求的回调处理,共有4个IO Thread分别是write、read、insert buffer和log Thread。

2022-04-22 22:05:15 637

原创 02.MySQL执行过程

执行过程:MySQL实例与客户端通过TCP建立连接 检验客户端的IP、用户名密码是否符合条件 查询该用户的所有权限,后续所有连接中的权限校验都依赖于此时读到的权限 每个数据库连接会对应一个线程 通过SQL接口接收SQL语句 通过解析器对SQL语句进行解析和语法校验 校验通过后,通过优化器选择索引和选择最后的执行方案 通过执行器校验表是否有操作权限,如果有权限则通过存储引擎的接口进行增删改查 InnoDB为了提高性能,增删改都是在内存中完成的,所谓的内存就是上图中的buffer p...

2022-04-22 21:17:04 795

原创 01.MySQL基本架构

本文参考极客时间专栏 MySQL45讲基本架构图MySQL主要分为Server层和存储引擎层两部分。Server层包括连接器、查询缓存、分析器、优化器、执行器,涵盖MySQL的大多数核心服务功能,并且包含所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。存储引擎层负责数据的存储和提取。支持InnoDB、MyISAM、Memory等多个存储引擎。MySQL从5.5.5版本开始成为默认存储引擎。连接器客户端与服务端.

2022-04-22 21:13:32 572

原创 《Spring实战3》第十一章 为Spring添加REST功能

本章内容编写处理REST资源的控制器以XML、JSON及其他格式来表述资源编写REST客户端提交RESTful表单了解RESTREST 的基本原理Spring 是如何支持REST的编写面向资源的控制器...

2020-01-07 17:27:36 270

原创 SpringFramework 4.3.25.RELEASE 教程文档

一、Spring框架概述二、SpringFramework4.x的新特性三、核心技术7.15 ApplicationContext的附加功能正如在第一章导言中所讨论的那样,org.springframework.beans.factory包 提供了管理和操作bean的基本功能,包括以程序化的方式。这org.springframework.context包添加了ApplicationCont...

2019-12-05 08:39:17 668

原创 《Spring实战3》第九章 保护Spring应用

Spring Security是一种基于SpringAOP和Servlet过滤器实现的安全框架。Spring Security介绍Spring Security是为基于Spring的应用程序提供声明式安全保护的安全框架。Spring Security提供了完整的安全性解决方案,它能够在Web请求级别和方法调用级别处理身份验证和授权。因为基于Spring框架,所以Spring Security充...

2019-12-02 21:13:17 317

原创 《Spring实战3》第七章 使用Spring MVC构建Web应用程序

搭建Spring MVCSpring MVC的核心是DispatcherServlet,这个Servlet充当Spring MVC的前端控制器。所以在应用程序中使用SpringMVC的第一件事就是将下面的< servlet>声明放入web.xml中:<servlet> <!-- 默认情况下DispatcherServlet加载时会从基于这个servlet名字...

2019-11-15 23:02:06 388

原创 could not initialize proxy - no Session

2019-10-12 13:45:02 ERROR [org.hibernate.LazyInitializationException] could not initialize proxy - no Sessionorg.hibernate.LazyInitializationException: could not initialize proxy - no Session at org...

2019-10-12 14:03:37 168

原创 (Maven实战)对SSH项目进行拆分、聚合

通过Maven对项目进行拆分、聚合对现在已有的ssh项目进行拆分拆分思路将dao层的代码以及配置文件全体提取出来,放到一个表现上独立的工程。service、action拆分。拆分完成对拆分后的项目进行聚合,提出概念 父工程**ssh-parent** :父工程 **ssh-dao** **ssh-service** **ssh-web**创建父工程01_m...

2019-09-28 17:28:01 233

原创 (Maven实战)整合SSH项目案例

Maven整合Web项目案例配置eclipse中Maven环境配置m2e插件,新版eclipse自带Maven插件配置Maven程序配置userSetting:让eclipse知道Maven仓库创建Servlet创建Servlet类public class HelloMaven extends HttpServlet { private static final long se...

2019-09-28 17:27:46 416

原创 私服应用(了解)

私服安装下载安装包解压到本地磁盘使用管理员权限打开dos,执行命令安装私服进入bin目录 输入:nexus install启动服务 nexus start找到私服的访问url:http://localhost:8081/nexus/#welcome登录 admin/admin123私服仓库类型hosted:宿主仓库存放本公司开发的jar包(正式版本、测试版本、...

2019-09-28 17:27:12 208

原创 Maven基础

文章目录1. Maven基础1.1 Maven的好处1.2 Maven两大核心:1.3 Maven安装、配置本地仓库1.4 Maven项目标准目录结构1.5 Maven的常用命令1.6 Maven的生命周期1.7 POM文件2. Maven整合Web项目案例2.1 配置eclipse中Maven环境2.2 创建Servlet2.3 Maven整合struts22.5 总结3 Maven 实战3.1...

2019-09-26 20:56:16 176 1

原创 [Err] 1205 - Lock wait timeout exceeded; try restarting transaction

执行更新SQL报下面错误[Err] 1205 - Lock wait timeout exceeded; try restarting transaction解决方法执行下面脚本:SELECT *FROM information_schema.INNODB_TRXWHERE trx_tables_locked>0 OR trx_rows_locked>0;查询结果将...

2019-06-05 16:56:30 344

原创 安装activiti 画图插件 Activiti BPMN 2.0 designer

安装activiti 画图插件 Activiti BPMN 2.0 designer在线安装help–>install new software–>add填写信息name:Activiti BPMN 2.0 designerlocation:http://activiti.org/designer/update/选中,一路next 、finish 就安装好了,可能由...

2019-05-25 14:46:38 3837 1

原创 执行测试用例报错:No tests found matching

报错信息java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=sayAutowired], {ExactMatcher:fDisplayName=sayAutowired(com.spring.ioc.IocTest1)], {LeadingIdentifierMatcher:fClassName=com...

2019-04-29 15:28:55 2743

原创 JS/Jquery遍历JSON对象、JSON数组、JSON数组字符串、JSON对象字符串

JS遍历JSON对象var jsonObj = { "id": 102, "year": "2019-2020", "label": "2019-2020" };**JS遍历方法:**for(var p in jsonObj){ alert(jsonObj[p]); } **Jquery遍历方法**$.each(jsonObj,functio...

2019-04-02 16:15:04 13250 1

原创 Spring Bean 的注解注解

@Component描述Spring框架中的bean除了@Component之外,Spring还提供了三个功能基本和@Component一样的注解@Repository 用于对DAO实现类进行标注@Service 用于对service实现类进行描述@Controller 用于controller实现类进行描述PS:@Component 与 @Controller、@Service、@R...

2019-03-21 21:17:34 495

转载 Java 动态代理机制讲解(Proxy.newProxyInstance)

在Java的动态代理机制中,有两个重要的类和接口,一个是InvoInvocationHandler(接口)、Proxy(类),这一个类和接口是我们动态代理所必须用到的。InvocationHandler接口每个动态代理类都必须实现InvocationHandler接口,并且每个代理类的实例都关联到了一个handler,当我们通过代理对象调用一个方法的时候,这个方法的调用就会被转发为由Invo...

2019-03-19 23:04:25 4127

原创 eclipse右下角一直提示“jpa project change event handler” 用着很卡

问题描述在是用eclipse时,右下角一直提示“jpa project change event handler” ,用着非常卡解决方法Preferences–>Install/Update > UnInstalled or Update**

2019-03-18 17:22:34 3975 3

转载 Java反射基础(转载)

反射概述什么是Java的反射机制?Java反射机制就是在运行过程中,对于任何一个类,都能知道这个类的属性和方法;对于任意一个对象,都能调用它的任意属性和方法;这种动态获取信息和动态调用对象方法的功能称为Java语言的反射机制。Java反射机制的作用是编写通用性较高的代码或者框架的时候使用。反射常用对象的概述ClassClass类的示例表示正在运行的Java应用程序中的类和...

2019-03-18 08:14:25 162

原创 Sping (学习笔记) Bean 的作用域

bean配置id与name 没有说明区别,用id或者name都可以。一帮情况下指定id属性作为bean的名称。id属性在IOC容器中必须是唯一的。如果bean的名称中出现特殊字符,需要使用name属性。class属性用于设置一个类的完全路径名称(反射),主要作用是IOC容器生成类的实例。bean作用域(scope)名称说明单例(singleton)在整个应用中,每...

2019-03-14 16:06:38 163

原创 Spring (学习笔记)Bean 实例化

bean的三种实例化方式使用类构造器实例化使用静态工厂方法实例化使用实力工厂方法实例化(工厂方法模式)代码示例Bean1package com.spring.bean;public class Bean1 { public Bean1() { System.out.println(&quot;baen1 实例化&quot;); }}Bean2package com.spring.be...

2019-03-14 12:57:13 186

原创 eclipse启动报错Exception in thread "http-bio-8080-exec-2" Exception in thread "http-bio-8080-exec-4"

eclipse启动报错信息如下:Exception in thread “http-bio-8080-exec-2” Exception in thread “http-bio-8080-exec-4”解决方法:另起一行添加:-XX:PermSize=128M -XX:MaxPermSize=512m,点击OK...

2019-03-14 10:37:05 888

原创 spring-tool-suite使用教程,并创建spring配置文件

概述每次创建新的项目时,都需要创建Spring的xml文件,非常的繁琐,通过spring-tool-suite插件就可以是很方便的完成。操作流程按照这个文档安装spring-tool-suite插件https://blog.csdn.net/chaoHappy/article/details/88536789安装完成后就可以按照以下操作使用了。最后选择finish即可,其他无需勾...

2019-03-14 10:05:01 3154

原创 eclipse安装 Spring开发工具spring-tool-suite

方法一:搜索:spring-tool-suite方法二:有可能第一种方法会报错,我研究了好长时间没有成功,改用第二种方式就可以了。插件下载地址:http://spring.io/tools/sts/all/找到eclipse对应的下载版本安装Help-&amp;amp;amp;amp;gt;Install New Software弹出如下对话框,点击Add,...

2019-03-13 18:08:39 1167 3

原创 Spring (学习笔记) AOP

概念Spring AOP(面向方面编程)框架,用于在模块化方面的横切关注点。简单得说,它只是一个拦截器拦截一些过程,例如,当一个方法执行,Spring AOP 可以劫持一个执行的方法,在方法执行之前或之后添加额外的功能。在Spring AOP中,有 4 种类型通知(advices)的支持:通知(Advice)之前 - 该方法执行前运行通知(Advice)返回之后 – 运行后,该方法返回一...

2019-03-06 23:05:14 110

原创 Spring(学习笔记)IOC

概念IOC 控制反转,是Spring的核心,贯穿始终。对于Spring框架来说,就是通过Spring来负责控制对象的生命周期和对象间的关系。IOC另外的名字叫依赖注入,就是由IOC容器在运行期间,动态的将某种依赖关系注入到对象之中。所以依赖注入(DI)与控制反转(IOC)是从不同角度的描述的同一件事,就是指通过引入IOC容器,利用依赖注入的方式,实现对象之间的解耦。IOC 控制反转:创建对象...

2019-03-06 22:54:17 140

原创 JS判断是否可以连接互联网

有两种方式实现第一种:通过navigator.onLine 判断第二种:给windows添加“online”、“offline” 事件代码实现第一种// 方法1: 判断是否能够连互联网function testonLine(){ if (navigator.onLine) { alert("正常工作!"); } else { //执行离线状态时的任务 ...

2019-03-06 13:35:00 1630

原创 Maven介绍-环境搭建-创建项目

Maven介绍Maven是基于项目对象模型(pom),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。Maven 环境搭建

2019-02-27 08:25:36 149

原创 session 详解 openSession与getCurrentSession 的区别

openSession与getCurrentSession 的区别getCurrentSession在事务提交或者回滚之后会自动关闭,而openSession 需要你手动关闭。如果使用openSession而没有手动关闭,多次之后会导致连接池溢出。openSession 每次创建新的session对象,getCurrentSession使用现有的session对象...

2019-02-20 21:52:38 426

原创 Hibernate 入门教程 HelloWorld例子

创建项目并导入一下jar包导入hibernate 压缩包下\hibernate-release-4.3.11.Final\lib\required的jar包导入数据库驱动jar包mysql-connector-java-5.1.18-bin.jar创建hibernate.cfg.xml 文件通过hibernate tools 插件创建hibernate.cfg.xml 文件h...

2019-02-20 20:56:46 171

原创 Struts2 入门教程 接收表单参数

Struts2 接收表单参数接收表单的三个方式一、使用Action的属性接收参数login.jsp&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot; pageEncoding=&quot;UTF-8&quot;%&amp;gt;&amp;lt;!DOCTYPE html&amp;gt;

2019-02-18 22:58:06 209

原创 Struts2 入门教程 指定多个配置文件

以下Struts.xml 比较臃肿,需要按照模块划分&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt;&amp;lt;!DOCTYPE struts PUBLIC &quot;-//Apache Software Foundation//DTD Struts Configuration 2.5//EN&quot;

2019-02-18 22:19:43 145

空空如也

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

TA关注的人

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