08 2018 档案
摘要:同步方法 同步代码块 在同步方法的基础上修改 test() 方法, 当然也可以直接把同步代码块直接写在线程体里( run() 方法里面 ) 1, 方法去掉 synchronized 关键字 2, 方法体使用 synchronized 关键字包裹起来
阅读全文
摘要:线程标识相关 线程优先级相关 不是绝对的优先级, 只是提升抢夺 CPU 概率 有三个常量, MIN_PRIORITY(1); NORM_PRIORITY(5); MAX_PRIORITY(10); 默认是 NORM_PRIORITY 阻塞相关方法 合并线程 加入一个新线程, 当新线程执行完毕再执行当
阅读全文
摘要:继承 Thread 类 实现 Runnable 接口 实现 Callable 接口 龟兔晒跑 停止线程 停止线程的方法被废弃了, 如果需要停止需要手动实现, 步骤如下: 1, 线程类中定义一个成员变量 2, 线程体中使用该变量 3, 对外提供方法改变标识
阅读全文
摘要:下面几点必须记住: 1, 默认情况下不能保证线程的执行顺序, 哪个线程先抢夺到 CPU 的使用权, 它就优先 2, Main 方法也是一个线程 3, 每个程序运行至少启动两个线程, 一个是 man 方法(主线程), 一个是垃圾收集线程 4, 处理器的核心数决定了并行执行的线程数, 一个核心对应一个线
阅读全文
摘要:Tomcat 能处理静态资源和动态资源,但是处理静态资源效率并不高,处于优化性能,提高访问效率,可以让 Tomcat 处理动态资源,让 Nginx 处理静态资源 1,配置虚拟主机 该配置的意思是:js、css、ico、png、jpg、eot、svg、ttf、woff 等文件都会到 /usr/loca
阅读全文
摘要:1,轮询 nginx 默认设置,每个服务器的访问几率一致,哪个服务器 down 了能自动剔除负载池 2,权重 使用 weight 指定权重,如下配置 192.168.0.15 这个服务器的访问几率是 192.168.0.14 的 5 倍 3,ip_hash 每个客户端访问同一台服务器,可以解决 se
阅读全文
摘要:准备多个服务器,使用 nginx 先做好代理(我这里只有一台服务器,就拷贝两个 tomcat 了,端口分别设置为 8081 和 8082) 1,复制 tomcat 2,修改端口,要修改 3 个地方 3,修改 tomcat 默认首页,这样才能知道 nginx 访问了哪个 tomcat(如果是集群,就知
阅读全文
摘要:目的:访问 nginx 其实访问的是 tomcat(访问 tomcat ,先访问 nginx) 1,启动 tomcat,确保 8080 端口能访问 2,配置虚拟主机(负载池名称不能出现下划线,血泪史啊!!!) 3,测试
阅读全文
摘要:文件服务器:后台如果是集群,每次请求都会到不同的服务器,所以每台服务器的图片文件等都要做同步处理,才能保证每次用户不管访问到哪台服务器都能获取一样的资源。这种做法开销会很大,专门使用 nginx 作为文件服务器,每次用户访问服务器后,再访问文件服务器获取资源,这种开销会更小。文件服务器也可以做集群配
阅读全文
摘要:1,创建 www 目录 2,在 www 目录下创建 test1 和 test2 目录,表示两个项目 3,test1 下创建 test1.html 4,test2 下创建 test2.html 5,配置虚拟主机(部署多个 web 项目) 6,测试 实现多个虚拟主机的方式,三种方式: 1)多个网卡,这样
阅读全文
摘要:#user nobody; ### 工作进程数,可以根据 CPU 核心数量来配置 worker_processes 1; ### 错误日志文件位置 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; ### pid 文件,即 nginx 的进程...
阅读全文
摘要:安装依赖 下载 安装 nginx 目录结构 常用命令 测试 nginx 默认是 80 端口,直接访问服务器 ip,出现 “Welcome to nginx!” 就算成功
阅读全文
摘要:创建目录 上传 tomcat rz、ftp 或者 wget 都可以 解压 环境变量 sudo vi /etc/profile,在末尾添加如下内容: 修改端口 启动与停止
阅读全文
摘要:切换目录 创建目录 下载 Mysql Yum 安装 Yum 安装 Mysql 运行 Mysql 获取初始密码 修改密码 远程和本地访问 设置字符集 一些文件的存放目录
阅读全文
摘要:切换目录 创建目录 下载 jdk rz 或者 ftp 都行,只要能成功上传 解压 配置环境变量 sudo vi /etc/profile,在末尾添加如下内容: 刷新配置 退出 vi ,键入 source /etc/profile 。安装完成
阅读全文
摘要:上传文件到服务器 rz 命令后会出现一个文件选择框,选择、确定即可 从服务器下载文件 sz 文件名即可
阅读全文
摘要:只能拦截方法,不能拦截页面,因为跳转页面在前端就做了,压根没走后台 步骤 1,继承 HandlerInterceptor 接口,实现拦截器 2,springMVC 配置文件配置拦截器,指明需要拦截和不需要拦截的方法,指明拦截器 3,控制层测试方法
阅读全文
摘要:简单示例: 1,spring 配置文件中配置事务,并开启 2,在方法上添加注解 @Transactional 事务的传播属性 REQUIRED:如果已经存在就使用当前事务,没有就新建,默认REQUIRES_NEW:如果已经存在事务就挂起,当前方法会新开一个事务 事务的隔离级别 参见 springbo
阅读全文
摘要:AOP 面向切面编程,是 OOP (面向对象编程)的补充 术语 横切关注点:方法中非主要业务逻辑部分 比如运算的模块:有验证参数、执行方法前的操作、执行方法、执行方法后的操作,验证参数、执行方法前后的操作是横切关注点 比如权限验证模块:在执行增删改查等方法前要进行验证,主要业务逻辑其实是增删改查,验
阅读全文
摘要:IOC:反转控制(资源获取),之前开发是要什么就 new 什么,现在只需创建 IOC 容器,你要什么 IOC 都会给你,你只管接收。反转控制的对象是 Bean,也就是对象 DI:依赖注入,依赖容器把资源进行注入。依赖容器注入 Bean IOC 和 DI 其实是一回事儿 通过注解创建 Bean 1,添
阅读全文
摘要:分类 创建 注:主键为自动创建唯一索引,主键本身不能重复,所以主键就唯一不重复了;外键会自动创建一个单列索引 MEMORY 引擎用 HASH,INNODB 用 BTREE 删除 DROP INDEX 索引名 ON 表名 查看 SHOW INDEX FROM 表名 示例:
阅读全文
摘要:DELIMITER 定义 sql 语句执行符号,系统默认是分号,系统看见分号就执行,使用 DELIMITER 可以修改 创建存储过程 in 表示输入参数;out 表示输出参数;inout 表示即可输入也可输出 创建变量 格式:DECLARE 变量名 变量类型 DEFAULT 默认值; 示例1(声明一
阅读全文
摘要:什么是视图 视图是一个虚拟表,其内容由查询语句定义和真实表一样,有行、列、字段等信息 视图特性 视图是对若干张基本表的引用不存储具体数据,基本表数据发生变化,视图也会跟着改变可以和基本表一样,进行 CRUD 操作,修改了视图基本表也会发生变化(有条件限制) 视图作用 安全性:让用户不具备基本表的权限
阅读全文
摘要:创建用户 CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码'; 删除用户 DROP USER '用户名'@'localhost'; 权限列表 分配权限 格式: GRANT <privileges> ON 数据库名.表名 TO '用户名'@'localho
阅读全文
摘要:什么是事务 不可分割的操作,比如一个事务要修改 A 表和删除 B 表的数据两个操作,这两个操作都成功,这个事务才 commit,不然 rollback 每条 SQL 语句都是一个事务 只对 DML 生效 CAID 一致性(Consistency):让数据保持一定程度的合理性,比如用户加入购物车,购物
阅读全文
摘要:一个 SELECT 语句中包含另一个或多个 SELECT 语句就是子查询 WHERE 后: 把 SELECT 查询出来的结果当做条件 # 查询和李四同性别的人 SELECT * FROM students WHERE gender = (SELECT gender FROM students WHE
阅读全文
摘要:合并结果集 UNION:去重 UNION ALL:不去重 要求两个结果集的列数和字段类型必须相同,不然会报错 连接查询 笛卡尔积 A={a,b},B={0,1,2} ==> {(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)} SELECT * FROM students,sc
阅读全文
摘要:格式: LIMIT index, size // index:从哪一行(第几条)开始查,size:多少条 分页: LIMIT (currentPage-1)*pageSize, pageSize // currentPage:页码,pageSize:每页条数
阅读全文
摘要:分类 DDL:数据定义语言,用于定义数据库对象,比如创建表,列,库等 DML:数据操作语言,用于添加、删除、修改数据 DQL:数据查询语言,用于查询(结果集是虚拟表,放在内存中) DCL:数据控制语言,用于定义访问权限和安全级别 DQL 顺序 书写顺序 SELECT > FROM > WHERE >
阅读全文
摘要:默认显示第一条,单独使用意义并不大 1,分组查询全部数据 SELECT 后面的字段一般 GROUP BY 后面也会出现,分组展示数据(会展示所有数据,而不是默认第一条) 2,GROUP BY + GROUP_CONCAT() GROUP_CONCAT(字段名)将作为输出字段,可以指定别名,值是每一组
阅读全文
摘要:double:浮点型,double(5,2) 表示最多5位,必须包含两位小数,最大值是 999.99 char:定长字符串类型,char(10) 表示必须放 10 的字节,没有就用空格补充 varchar:变长字符串类型,varchar(10),最多10个字节,如果不足10个,就自动改变长度 tex
阅读全文
摘要:MYISAM 不支持事务和外键,访问速度极快,如果不要求事务的完成性,可以优先选择。Mysql 5.5 默认存储引擎 每个该引擎的表在磁盘中对应3个文件: *.frm:建表语句 *.MYD:该表的数据 *.MYI:该表的索引 INNODB 支持事务,会占用更多的磁盘空间来保存数据和索引。Mysql
阅读全文
摘要:<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <title></title> <style type="text/css"> html{heig
阅读全文
摘要:1,先整合 redis 和 mybatis 2,启动类添加 @EnableCaching 注解,开启缓存 因为缓存获取不到数据要到数据库获取,所以还要扫描 mybatis 接口路径 3,增(获取)、删、改缓存注解 @Cacheable 获取缓存 该注解用于方法上,方法不一定执行 @Cacheable
阅读全文
摘要:不能相信前端传过来的任何数据 一定不能相信前端传过来的任何数据 绝对不能相信前端传过来的任何数据 @JsonFormat 时间必须是指定的格式(这里是接收参数格式,不是取数据来格式化) 注意:在 controller 层的方法接收参数时,使用 @Valid 注解表示当前方法的参数需要验证 每个验证注
阅读全文
摘要:1,用于插入语句 2,传入对象 3,使用下面的属性即可
阅读全文
摘要:添加注解就完事儿了 @Transactional 1,Propagation 事务的传播行为 2,Isolation 事务的隔离度,默认值采用 DEFAULT 3,timeout 事务的超时时间,默认值为 -1(表示永不超时)。如果超时还未完成,则回滚事务。只检测 sql 不检测 java 代码 4
阅读全文
摘要:1,添加依赖 2,数据源和 mybatis 配置 3,扫描接口,通过 @MapperScan 注解完成扫描
阅读全文
摘要:关键点: 1,使用 POST 请求2,consumes=MediaType.MULTIPART_FROM_DATA_VALUE3,@RequestParm 里面的字符串和前端 input 控件的 name 值一致 上传文件示例: 带返回值上传文件示例(返回二进制数据,让用户看到上传的图片长什么样):
阅读全文
摘要:1,导入依赖,可以在创建项目时导入该依赖,也可手动修改 pom 文件 2,配置文件,只是在 sec/main/java 目录下的文件发生修改会触发热部署,如果是别的文件比如 mybatis 等 xml 文件修改还是需要重新启动项目
阅读全文
摘要:返回日期格式化 1,每个实体属性添加 @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") 注解 2,可以在配置文件中全局指定 接受参数日期格式化
阅读全文
摘要:注意我们的代码要放在启动类所在包下面 idea new project > Spring initlallzr > 选中 Default(一个地址,这个默认也是选中) > next > 填写 Group、Artifact(公司域名和项目名) > next > Dependencies 搜索、勾选需要
阅读全文
摘要:1,首先检测是否安装了build-essential程序包 sudo apt-get install build-essential 2,安装 yum sudo apt-get yum 3,检测是否安装成功 yum
阅读全文
摘要:在 Ubuntu 和 deepin 安装 mysql 是很简单的,只需要几条简单的命令即可 1. sudo apt-get install mysql-server 2. sudo apt-get install mysql-client 3. sudo apt-get install libmys
阅读全文
摘要:默认 bind 127.0.0.1 即绑定本机 IP,只能本机访问,你也可以绑定别的 IP 地址,如果注释掉,表示不限制 IP,所有 IP 都能访问 验证, *:6379 表示任意 IP:6379 均可访问
阅读全文
摘要:默认 redis 启用了保护模式,即如果是远程链接不能进行 CRUD 等操作,如果进行该操作报错如下 关闭保护模式 设置口令 连接 redis 时,必须指定密码(添加一行) 然后重启 redis 即可
阅读全文

浙公网安备 33010602011771号