GT

SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页

烈酒焚心 提交于 2020-04-05 15:49:19
前言 本篇文章主要讲述的是 SpringBoot 整合 Mybatis 、 Druid 和 PageHelper 并实现多数据源和分页。其中SpringBoot整合Mybatis这块,在之前的的 一篇文章 中已经讲述了,这里就不过多说明了。重点是讲述在多数据源下的如何配置使用Druid和PageHelper 。 Druid介绍和使用 在使用 Druid 之前,先来简单的了解下Druid。 Druid是一个数据库连接池。Druid可以说是目前最好的数据库连接池!因其优秀的功能、性能和扩展性方面,深受开发人员的青睐。 Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是阿里巴巴开发的号称为监控而生的数据库连接池! 同时Druid不仅仅是一个数据库连接池,Druid 核心主要包括三部分: 基于Filter-Chain模式的插件体系。 DruidDataSource 高效可管理的数据库连接池。 SQLParser Druid的主要功能如下: 是一个高效、功能强大、可扩展性好的数据库连接池。 可以监控数据库访问性能。 数据库密码加密 获得SQL执行日志 扩展JDBC 介绍方面这块就不再多说,具体的可以看官方文档。 那么开始介绍Druid如何使用。 首先是Maven依赖,只需要添加druid这一个jar就行了。 <dependency>

Linux的磁盘管理详解

纵然是瞬间 提交于 2020-04-05 15:48:57
原文转载自: https://www.cnblogs.com/xiaoxiangyucuo/p/5573662.html 硬盘:几个盘片,双面,磁性颗粒, 处理速率不同步:借助于一个中间层 文件系统(FileSystem) 可以实现对磁盘行的文件进行读写 文件系统其实就是一个特殊软件,是直接安装到硬盘上的 硬盘分类 机械硬盘: 盘片组,磁头,磁头臂 马达、空气过滤片 固态硬盘 类似与内存的结构 机械硬盘简介 磁道(Track):磁盘旋转时候的同心圆,磁道编号从外向内,从0开始编号。 扇区(Sector):将每个磁道分割成等大小的空间,每个扇区大小都是512字节 柱面(Cylinder):不同盘片的相同扇区。磁盘分区的时候,是以柱面为单位进行分区的。 寻道时间: 移动磁道到目标磁道 旋转磁盘 PS:外侧磁道的读写性能,优于内侧磁道,所以系统一般安装在C盘 (C盘靠外) 保存分区信息 0号扇区:MBR:Master(main) Boot Record,主引导记录,512字节 第一部分:前446字节,存放程序bootloader,作用完成系统的开机启动 第二部分:中间64字节,Disk Patration Table,磁盘分区表,作用是记录磁盘分区 16字节标识一个分区,64字节可标识4个分区 第三部分:最后的2字节,Magic Number,标记当前MBR是否生效 分区类型 主分区

C/C++ 第四周线性表(二)--链表 项目二 建设”单链表“算法库

帅比萌擦擦* 提交于 2020-04-05 15:45:40
/* *Copyright(c)2017,烟台大学计算机学院 *All right reserved. *文件名:main.cpp list.h list.cpp *作者:黄士胜 *完成日期:2017年9月21日 *版本号:v1.0 * *问题描述:单链表算法库 *输入描述:无 *程序输出:见窗口 */ 主函数代码: #include <stdio.h> #include <malloc.h> #include "../linklist.h" int main() { LinkList *L; InitList(L); ListInsert(L, 1, 15); ListInsert(L, 1, 10); ListInsert(L, 1, 5); ListInsert(L, 1, 20); DispList(L); DestroyList(L); return 0; } linklist.cpp #include <stdio.h> #include <malloc.h> #include "../linklist.h" void CreateListF(LinkList *&L,ElemType a[],int n)//头插法建立单链表 { LinkList *s; int i; L=(LinkList *)malloc(sizeof(LinkList)); //创建头结点 L-

C/C++ 第七周栈和队列 (二)队列 项目一

核能气质少年 提交于 2020-04-05 15:34:22
/* *Copyright(c)2017,烟台大学计算机学院 *All right reserved. *文件名:main.cpp sqqueue.h sqqueue.cpp *作者:黄士胜 *完成日期:2017年10月11日 *版本号:v1.0 * *问题描述:顺序环形队列算法库的建立及测试 *输入描述:无 *程序输出:见运行结果截图 */ 定义顺序环形队列存储结构,实现其基本的运算,并完成测试。 主函数: #include <stdio.h> #include "../sqqueue.h" int main() { ElemType e; SqQueue *q; printf("(1)初始化队列q\n"); InitQueue(q); printf("(2)依次进队列元素a,b,c\n"); if (enQueue(q,'a')==0) printf("队满,不能进队\n"); if (enQueue(q,'b')==0) printf("队满,不能进队\n"); if (enQueue(q,'c')==0) printf("队满,不能进队\n"); printf("(3)队列为%s\n",(QueueEmpty(q)?"空":"非空")); if (deQueue(q,e)==0) printf("队空,不能出队\n"); else printf("(4)出队一个元素%c\n

第8周 【项目3-顺序串算法】

蹲街弑〆低调 提交于 2020-04-05 15:07:05
/* *Copyright (c)2017,烟台大学计算机与控制工程学院 *All rights reservrd. *作者:李欣豪 *完成时间:2017年12月14日 *版本号:v1.0 *问题描述:采用顺序存储方式存储串,实现下列算法并测试: (1)试编写算法实现将字符串S中所有值为c1的字符换成值为c2的字符: void Trans(SqString *&s, char c1, char c2); (2)试编写算法,实现将已知字符串所有字符倒过来重新排列。如ABCDEF改为FEDCBA。 void Invert(SqString &s) 一、以顺序串算法库为基础,建立头文件sqString.h #ifndef SqString_H_INCLUDED #define SqString_H_INCLUDED #define MaxSize 100 //最多的字符个数 typedef struct { char data[MaxSize]; //定义可容纳MaxSize个字符的空间 int length; //标记当前实际串长 } SqString; void StrAssign(SqString &s,char cstr[]); //字符串常量cstr赋给串s void StrCopy(SqString &s,SqString t); //串t复制给串s bool

SpringBoot整合Jsp和Thymeleaf (附工程)

北战南征 提交于 2020-04-05 14:52:16
前言 本篇文章主要讲述 SpringBoot 整合 Jsp 以及 SpringBoot 整合 Thymeleaf ,实现一个简单的用户增删改查示例工程。事先说明,有三个项目,两个是单独整合的,一个是将它们整合在一起的。如需其中一个,只需看相应部分的介绍即可。若需工程源代码,可以直接跳到底部,通过链接下载工程代码。 SpringBoot整合Jsp 开发准备 环境要求 JDK : 1.7或以上 SQL : MySql 这里我们需要在mysql中建立一张用户表,用于存储用户的信息。 数据库脚本如下: CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id', `name` varchar(10) DEFAULT NULL COMMENT '姓名', `age` int(2) DEFAULT NULL COMMENT '年龄', `password` varchar(24) NOT NULL COMMENT '密码', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 新建好表之后,我们再来创建工程。 我们的这个工程是通过maven创建一个普通的web工程。 创建好工程之后,我们需要下载相应的jar包

二进制转换为八进制-栈方式实现

核能气质少年 提交于 2020-04-05 14:51:53
文章目录 二进制转换为八进制 二进制转换为八进制 ​ 二进制转换为八进制,需要使用两个栈,一个栈用于存储二进制数据,另一个栈用于存储八进制数据。 ​ 每三个二进制数据代表一个八进制数据。因此,需要弹出三个二进制数据并将其转换为对应的八进制,然后在将八进制数据压栈。 /********************************************************** * @ 二进制转换为八进制 * 二进制转换为八进制,需要两个栈来实现,一个栈用于存储二进制数, * 另一个用于存储八进制数,二进制的每三位代表八进制的一位,弹出二进制 * 的三位将其转换为八进制放入到八进制的栈中 *********************************************************/ # include <stdio.h> # include <stdlib.h> # include <math.h> # define STACK_INIT_SIZE 20 # define STACKINCREMENT 10 typedef char ElemType ; typedef struct { ElemType * base ; ElemType * top ; int stackSize ; } sqStack ; /** * @brief 初始化栈 *

AAAI 2020 | 反向R?削弱显著特征为细粒度分类带来提升

孤街浪徒 提交于 2020-03-27 11:35:09
3 月,跳不动了?>>> > 论文提出了类似于dropout作用的diversification block,通过抑制特征图的高响应区域来反向提高模型的特征提取能力,在损失函数方面,提出专注于top-k类别的gradient-boosting loss来优化训练过程,模型在ResNet-50上提升3.2%,算法思路巧妙,结构易移植且效果也不错,值得学习 论文:Fine-grained Recognition: Accounting for Subtle Differences between Similar Classes 论文地址: https://arxiv.org/abs/1912.06842 Introduction   在FGVC(fine-grained visual categorization)上,一般的深度学习模型都是通过学习输入图片到输出标签的映射,这样会导致模型倾向于专注少部分显著区域来同时区分模糊的种群内(inter-class)相似性和种群间(intra-class)的变化   如图1所示,一般的深度学习模型的attention经常密集地集中在小部分区域,因此只会提出有限的特征。因此,论文建议分散attention来构建多样的分布在特征图上的特征。因为在特征层面进行attention分散,在预测时则需要反过来,例如只关注最相似的类别来提高模型的辨别能力

目标检测 | RetinaNet:Focal Loss for Dense Object Detection

拜拜、爱过 提交于 2020-03-26 18:43:20
3 月,跳不动了?>>> > 论文分析了one-stage网络训练存在的类别不平衡问题,提出能根据loss大小自动调节权重的focal loss,使得模型的训练更专注于困难样本。同时,基于FPN设计了RetinaNet,在精度和速度上都有不俗的表现 论文:Focal Loss for Dense Object Detection 论文地址: https://arxiv.org/abs/1708.02002 论文代码: https://github.com/facebookresearch/Detectron Introduction   目前state-of-the-art的目标检测算法大都是two-stage、proposal-driven的网络,如R-CNN架构。而one-stage检测器一直以速度为特色,在精度上始终不及two-stage检测器。因此,论文希望研究出一个精度能与two-stage检测器媲美的one-stage检测器 通过分析, 论文认为阻碍one-stage精度主要障碍是类别不平衡问题(class imbalance) : 在R-CNN架构检测器中,通过two-stage级联和抽样探索法(sampling heuristics)来解决类别不平衡问题。proposal阶段能迅速地将bndbox的数量缩小到很小的范围(1-2k),过滤了大部分背景。而第二阶段

linux进程管理 & 计划任务

柔情痞子 提交于 2020-03-25 12:15:20
3 月,跳不动了?>>> 程序是静态的概念,而进程是程序启动后动态的概念。 一个程序启动后,可以有多个进程, 同样可以多个程序启动一个进程 ; ; ; ; 进程管理的三种处理方式 standalone 独立运行的方式 xinetd 进程托管(互联网超级守护进程) atd、crond计划任务 (休眠 每分钟唤醒一次)所以没法精确到秒 前台进程: 运行命令,shell等待命令退出,然后返回到对用户给出的提示符,命令与shell异步运行,所以 用户在它完成之前不能执行另一条命令 。 Ctrl+C 终止 Ctrl+Z 挂起(暂停) jobs查看被挂起的程序 fg 恢复到前台运行 bg 恢复到后台运行 后台进程: 在shell打入命令,并随后一个 & shell创建子进程运行此命令,而不用等待命令退出 这条命令与shell同步运行,即在后台运行。 后台进程最好是非交互式的 不然在shell看不到也没什么意义 这些通常可以为一些长期运行的服务程序、或者一些记录之类的,不需要我们实时盯着它 常用命令 w 查看用户信息 ps 查看系统中的进程 -a 所有用户进程 -u 指定用户 ps - uU 指定用户 ps -le | grep cmd-name 指定程序 kill [PID]结束指定进程 top/htop 更友好的进程查看方式 d 刷新时间 c 查看/隐藏详细命令 u 查看某个用户的进程 k