0%

IOC容器

IOC控制反转,是一种设计原则,用于降低程序的耦合性,其中最常见的方式是依赖注入(DI),将不同对象之间的关联关系由原来的由开发人员管理转化为由spring进行管理,在设置对象关联关系的方法上,主要有注解和XML两种方式

注解的方式

主要有以下几个:

  1. 组件扫描
  • @Component:把普通的对象实例话到Spring容器中,当需要调用实例话对象时,可以直接从Spring容器中获取
  • @ComponentScan:扫描项目从中找出需要装配的类自动装配到spring的bean容器中
阅读全文 »

Redis提供RDB和AOF两种持久化机制,持久化功能能够避免因进程推出造成的数据丢失问题,当下次重启时利用持久化的文件即可实现数据恢复

RDB持久化

RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化的过程分为手动触发和自动触发

触发机制

手动触发

手动触发的命令有save,bgsave

  • save:阻塞当前Redis,知道RDB过程完成,对于内存比较大的实例会造成阻塞,已经被淘汰
  • bgsave:Redis进程执行fork操作创建子进程,RDB持久化过程由子进程完成,完成后自动结束,阻塞只发生在fork阶段,一般时间很短
    阅读全文 »

对jar包进行统一依赖管理

创建Maven项目

在idea中创建一个Maven项目,在Maven项目中主要有以下两个需要用到:
org.pache.maven.archetypes:maven-archetypes-quickstart:用于普通项目
org.pache.maven.archetypes:maven-archetypes-webapp:用于web项目

创建后会设置坐标:

慢查询分析

系统在命令执行前后计算每条命令的执行时间,当超过预设阈值时,就将这条命令的相关信息(发生时间、耗时、命令的详细信息等)记录下来

慢查询只统计执行时间,不代表客户端有没有超时问题

参数配置

可以通过以下参数对预设阈值,满查询记录进行配置
设置阈值,单位为微妙,默认是10000

slowlog-log-slower-than

  • 如果其值等于0,会记录所有的命令,小于0则对于任何命令都不做记录
阅读全文 »

Redis安装

官网下载最新稳定版本的压缩包,解压缩后放到任意目录下,进行解压后的目录执行:

make (编译代码)
make install (安装)

安装后执行redis-cli-v查看Redis版本号

阅读全文 »

分包规范

  • web层

    com.xm.web.servlet
    com.xm.web.filter
    com.xm.web.listener
    jsp放在WebContent或者WEB-INF

  • Service层

    com.xm.service 放服务层接口
    com.xm.service.impl 放服务层实现

    阅读全文 »

JSP可以跟前端嵌套使用

基本语法

page指令:用于定义各种属性

  • import用于导入包
  • session:第一次访问jsp时创建session,默认为true
  • buffer:设置输出数据的缓存大小,默认8kb
  • errorPage:如果页面有错误可以跳转到指定资源errorPage="/uri",斜杠用于服务器,表示项目根目录
  • isErrorPage:是否创建throwable对象,默认false;true表示该页面是错误页面
  • contentType:服务器发送客户端的内容编码
  • pageEncoding:页面本身编码
  • isELIgnore:是否支持El表达式,默认false表示支持
    阅读全文 »

Servlet是运行在服务器上的小程序,作为客户端与服务器的中间层

servlet接口有四个方法

  • init:第一次访问时创建servlet对象时调用
  • service:每次访问时调用
  • destroy:当服务器停止时释放servlet调用
  • getServletInfo:获取Servlet基本信息,版权,作者
阅读全文 »

安装

  1. 官网下载安装包,解压到指定文件夹

  2. 启动与关闭

    sudo ./startup.sh
    sudo ./shutdown.sh

  3. Tomact默认使用8080端口监听,可以自己在conf文件下的server.xml修改

<Connector port="8080" protocol="HTTP/1.1"
            connectionTimeout="20000"
            redirectPort="8443" />

目录

lib:Tomcat的类库,有一堆jar文件
logs:日志文件
temp:临时文件
webapps:存放web项目的文件夹,可以配置idea输出在这里,也可以后期导出放入
work:运行生成的文件

事务的特性

  • 原子性
    较低的级别的通常可以执行更高的并发

READ UNCOMMITED(未提交读)

事务中的修改,即使没有提交,对其他事务也都是可见的。事务可以读取未提交的事务,这也叫脏读
因为性能不会比其他级别好太多,一般很少用

READ COMMITED(提交读)

大多数数据库系统的默认隔离级别(MySQL不是),一个事务开始时,只能“看见”自己已经提交的事务所做的修改,提交之前的修改对其他事务都是不可见的。
该隔离级别也叫不可重复读,因为执行两次查询,可能得到不一样的结果

阅读全文 »