Spring
Spring一 概述1 简介
轻量级开源JavaEE框架
解决企业应用开发
IOC控制反转:把创建对象的过程交给Spring处理
AOP面向切面:不修改源代码进行功能增强
2 特点
方便解耦
AOP编程支持
方便测试
方便集成框架
方便进行事务操作
3 Spring5.x4 下载Spring
https://repo.spring.io/ui/native/release/org/springframework/spring/
5 Spring demo
引入包->创建对象->xml注解
二 IOC容器0 概念
IOC:控制反转,把对象的创建和对象之间的调用过程交给Spring管理,目的是为了降低耦合度
1底层原理
耦合度较高,通过工厂模式降低耦合度:
使用IOC再降低耦合度(UserDao变化了只需要修改xml配置)
2 IOC接口
IOC思想基于IOC容器实现,IOC容器底层就是对象工厂
Spring提供IOC容器实现的两种方式(两个接口)
BeanFactory:IOC容器的实现,Spring的内部使用接口,不提供开发人员进行使用
加载配置文件 ...
JavaWeb
JavaWeb一 数据库1.1 mysql
数据库管理系统(DBMS)
关系型数据库:由多张互连的二维表组成的数据库
优点:易维护;使用通用的sql语言操作;数据存储在磁盘,安全
1.2 sql语法
结构化查询语言(Structured Query Language)
注释:单行:# 多行:/* */
DDL:操作数据库、表等
查询:show database 数据库名
创建:create database if not exists 数据库名
删除:drop database if exists 数据库名
使用:select database() //查询当前使用的数据库 ; use 数据库名
DML:对表数据进行增删改
创建表:
123456CREATE TABLE 表名( 字段名1 数据类型1, 字段名2 数据类型2, ... 字段名n 数据类型n);
数据类型
删除表: DROP TABLE 表名
修改表:
12345ALTER TABLE 表名 RENAME TO 新表名;ALTER TABLE 表名 ADD 列名 数据类型;A ...
多线程与反射
多线程与反射A 多线程一 线程1.1 程序、进程、线程
线程:独立执行的路径
线程会带来额外的开销,如CPU调度的时间,并发控制开销
线程开启了没有马上执行,由CPU进行调度
注:很多的多线程是模的,真正的多线程用的是多个CPU,很多都是切换的比较快看起来像多线程
1.2 线程创建
继承Thread类
自定义线程类继承Thread
重写run方法
调用start方法
1234567891011public class TestThread extends Thread{ public void run(){ sout("new Thread"); } psvm(){ TestThread test = new TestThread(); test.start(); }}
实现Runnable接口
定义类实现Runnable接口
重写run方法
执行线程需要丢入的runnable接口实现类,调用start方法
龟兔赛跑: ...
javase
JAVASE_STUDY0703 一 基础1.1 JDK JRE JVM关系
(jdk安装环境不带中文和空格)
1.2 JAVA编译过程源程序(.java) -> 编译器 -> java字节码文件(.class) -> JVM运行
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello,World!");
}
}
cmd
D:/>javac HelloWorld.java <- 编译生成.class文件
D:/>java HelloWorld <- 运行
1.3 关键字、标识符标识符:26个字母、10个数字、美元符号$和下划线_ (不以数字开头,不能是关键字)
命名规则:
类名:首字母大写,后面每个单词首字母大写(HelloWorld)
变量名:首字母小写,后面每个字母首字母大写(helloWorld)
方法名:同变量名 ...
数据结构与算法
数据结构与算法0725 一 队列、链表1.1 线性结构和非线性结构
线性结构
特点:一对一
顺序结构存储(数组)和链式存储结构(链表)
线性结构常见的有:数组、队列、链表和栈
非线性结构:
二维数组,多维数组,广义表,树结构,图结构
1.2 稀疏数组和队列
稀疏数组定义:当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。
稀疏数组的处理方法:
记录数组一共有几行几列,有多少个不同的值(第一个数据)
把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模
稀疏数组和二维数组的转换练习:day0725/sparseArray.java
队列定义:队列是一个有序列表,可以用数组或是链表来实现。
特点:先进先出,三个参数 maxSize,front,rear
因为队列的输出、输入是分别从前后端来处理,因此需要两个变量 front及rear分别记录队列前后端的下标,front 会随着数据输出而改变,而 rear则是随着数据输入而改变
front指向队列第一个元素的前一位,rear指向队列的最后一位
当front== ...