- 博客(68)
- 收藏
- 关注
原创 简单的搭建nginx服务器
简单的搭建图片服务器下载 Nginxwget http://nginx.org/download/nginx-1.17.0.tar.gz解压tar –zxvf nginx-1.17.0.tar.gz进入解压目录中,在编译安装之前,需要安装两个依赖yum -y install pcre-develyum -y install openssl openssl-devel编译安装...
2019-08-29 12:14:38 179
原创 SpringBoot__通过配置文件进行属性注入
关于properties 配置文件的启动时加载位置和命名前面博客写了https://blog.csdn.net/qq_37432174/article/details/98530525这里记录一下,不在启动时就加载配置和通过配置文件进行属性注入等相关普通的属性注入Spring 中存在的属性注入,在 Spring Boot 中一样也存在,由于 Spring Boot 中,默认会自动加载 ap...
2019-08-28 16:27:44 369
原创 SpringBoot的创建
其实 Spring Boot 工程本质上就是一个 Maven 工程,这里可以有三种创建springboot的项目方式。1.在线创建既然是在线,那就去网页输入网址https://start.spring.io它会让你下载一个压缩包,下载解压导入你编程开发工具里。2.使用Maven来创建注意这里不用选择项目骨架,这里大概有十来个 Spring Boot 相关的项目骨架。如果你不需要就...
2019-08-28 11:03:14 119
原创 HASH索引&&B-树&&B+树&&B*树
HASH索引哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可立刻定位到相应的位置,速度非常快。*1、hash索引是基于hash表实现的,只有查询条件精确匹配hash索引中的所有列的时候,才能用到hash索引。2、对于hash索引中的所有列,存储引擎都会为每一行计算一个hash码,hash索引中存储的就是has...
2019-08-26 23:03:23 171
原创 SQL优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is nul...
2019-08-26 20:04:50 122 1
原创 索引的创建,删除
什么是索引索引是一种存储结构;是数据库表中一列或若干列值的集合,或者是指向表中数据页物理标识的逻辑指针清单。这里百度百科给出的解释。类似一本书的目录,通过目录我们可以快速找到相应的内容。索引的优点索引的最明显的优点就是减少查询的速度,提高数据库的效率。o 通过索引查询可以缩短数据检索的时间o 通过索引可以加快表与表之间的关联查询时间为排序或者分组的字段增加索引,可以提升排序和分组的...
2019-08-26 18:03:42 236
原创 分级分组显示数据
年纪轻轻的,老爱忘东西,现在再把一年前的东西看看,没有记录的记录一下,简单的东西,别又给忘了。MySQL数据库中的分级分组显示,数据少的时候可以在数据表中这样设计这样了可以在给出父节点时,可以通过模糊查询,把子类都给带出来,用于树节点和级联操作。代码:建表CREATE TABLE `表名` ( `id` int(11) NOT NULL AUTO_INCREMENT COMM...
2019-08-26 13:06:32 290
原创 MySQL架构__查询执行过程简单分析
MySQL逻辑架构MySQL逻辑架构整体分为三层 :1.客户端 : 并非MySQL所独有,诸如 : 连接处理、授权认证、安全等功能均在这一层处理2.核心服务 : 包括查询解析、分析、优化、缓存、内置函数(比如 : 时间、数学、加密等函数),所有的跨存储引擎的功能也在这一层实现 : 存储过程、触发器、视图等3.存储引擎 : 负责 MySQL 中的数据存储和提取,和 Linux 下的文件系统...
2019-08-25 16:55:20 203 1
原创 fail-fast和fail-safe区别
快速失败和安全失败是对迭代器而言的。快速失败:当在迭代一个集合的时候,如果有另外一个线程在修改这个集合,就会抛出ConcurrentModificationException异常,java.util下都是快速失败。安全失败:在迭代时候会在集合二层做一个拷贝,所以在修改集合上层元素不会影响下层。在java.util.concurrent下都是安全失败。1.fail—fast(快速失败)在用迭...
2019-08-24 10:29:25 398 1
原创 单点登陆的原理和流程思路
首先骂骂自己,不长记性,这个东西本来很简单东西,理清思路了,后来又给绕进去了,不应该。单看思路很抽象,最好自己多写几遍相关代码,这是我给自己搞懂它的办法。明确问题我们在做SSO之前首先要明白为什么要有单点登录,即SSO在解决什么问题?那么我们先来看一下传统的登录实现方式:以上就是传统的登录实现方式,但是在并发量高的情况下呢?比如现在有 2000~3000 的并发,这时一个tomcat 不...
2019-08-24 00:24:34 195
原创 简单的使用ResponseEntity的方式导出HSSFWorkbook的EXCEL
用于个人记录。之前有写过两个使用HSSFWorkbook导出excel,但是都是基于servlet流的形式。https://blog.csdn.net/qq_37432174/article/details/98475349https://blog.csdn.net/qq_37432174/article/details/98475330我们知道在SpringMVC中文件下载还可以使用注解...
2019-08-23 19:24:58 2333
原创 简单总结一下HashMap和Hashtable的7个区别
前世今生Hashtable是java一开始发布时就提供的键值映射的数据结构,而HashMap产生于JDK1.2。虽然Hashtable比HashMap出现的早一些,但是现在Hashtable基本上已经被弃用了。而HashMap已经成为应用最为广泛的一种数据类型了。而Hashtable是线程安全的,效率比较低。取而代之的是ConcurrentHashMap。ConcurrentHashMap虽然...
2019-08-23 11:41:02 420 1
原创 MySQL存储引擎MyISAM与InnoDB区别简单收集
在MySQL 5.5之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为InnoDB。MyISAM与InnoDB存储引擎的主要特点InnoDB:行级锁、事务安全(ACID兼容)、支持外键、不支持FULLTEXT类型的索引(5.6.4以后版本开始支持FULLTEXT类型的索引)。InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版...
2019-08-22 21:43:06 144
原创 读锁、写锁、乐观锁、悲观锁、行锁、表锁
读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。某回话给某个表加了读锁,所有的回话都能对该表进行读操作,不能进行写操作,除非该会话释放读锁。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。在执行语句后面加上lock in share mode就代表对某些资源加上共享锁命令行窗口1:SELECT ...
2019-08-22 19:24:30 451
原创 UNION和UNION ALL用法和效率比较、exists和in效率比较
union和union all的用法union all是将连接的两个查询结果表连接起来;union是将连接的两个查询结果表连接起来并做去重处理;UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复1、UNION 的语法如下:[SQL 语句 1]UNION[SQL 语句 2]2、UNION ALL 的语法如下:[...
2019-08-21 17:17:42 3056
原创 线程休眠&&中断线程&&stop和interrupt的区别
线程休眠 public static void sleep(long millis)public class ThreadDemo { public static void main(String[] args) { MyRunnable mr = new MyRunnable(); Thread t1 = new Thread(mr, "时钟"); t1.start();...
2019-08-18 22:05:32 467
原创 获取和设置当前线程名称&&获取和线程优先级
Java是如何对线程进行调度的?Java虚拟机采用抢占式调度模型:优先让可运行池中处于就绪态的线程中优先级高的占用CPU,如果可运行池中线程的优先级相同,那么就随机选择一个线程,使其占用CPU,处于运行状态的线程会一直执行,直至它不得不放弃CPU,一个线程会因为以下原因放弃CPU:(1)Java虚拟机让当前线程暂时放弃CPU,转到就绪态,使其他线程获得运行机会(2)当前线程因为某些原因而处...
2019-08-18 20:48:26 699
原创 线程开启的三种方式
什么是进程?正在执行的程序什么是线程?具有完成独立任务的一条执行路径什么是多进程?多个应用程序的集合什么是多线程?一个进程可以有一条线程,一个进程也可以有多条线程多进程的好处?能够合理的提高CPU的使用率 提高CPU的使用率多线程的好处?提高了进程和CPU的使用率为什么需要开启多线程?什么时候开启线程?1.能够让多个进程看上去像同时执行2.防止单线程出现线程阻塞3.用...
2019-08-18 20:20:56 417
原创 Final和finally、finalize区别
finalfinal可以用来修饰类,方法和变量(成员变量或局部变量)。final修饰的类不能被其他类所继承。final类中所有的成员方法都会隐式的定义为final方法。final修饰的方法不能在其他类中进行重写。若父类中final方法的访问权限为private,将导致子类中不能直接继承该方法,因此,此时可以在子类中定义相同方法名的函数,此时不会与重写final的矛盾,而是在子类中重新地定...
2019-08-18 10:58:57 142 1
原创 docter+WordPress在云服务器上搭建简单的个人博客
使用docter+WordPress在云服务器上搭建简单的个人博客,熟练了的话只需5分钟,快动手复制起来吧!首先,我们得装docter,说到docter,我就只有一句话就证明我对它的爱了,“妈妈再不也用太过度担心,我的头发”。安装docker容器yum -y install dockerservice docker start//启动docker服务service docker sto...
2019-08-17 20:07:25 425
原创 mybatis中#跟$有什么区别
动态 SQL 是 mybatis 的强大特性之一,mybatis 在对 sql 语句预编译前,会对 sql 进行动态解析,解析为一个 BoundSql 对象,在动态 SQL 解析阶段,#和$的不同:#可以防止sql注入.先把sql中使用#的地方变成?占位符,再设置参数值insert into students id = #{id};//id=2#{}在动态解析后insert into s...
2019-08-16 11:47:44 148
原创 SpringBoot__ AMQ中间件点对点发邮件
Producer依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </...
2019-08-15 20:12:31 287
原创 SpingBoot+Freemarker实现5种发送邮件
这里使用的是qq邮箱,先去你的qq邮箱开启SMIP和POP3。然后它会叫你发短信拿授权码,那个授权码需要记住,后面有用。SpingBoot___5种简单的发生邮件的小demo。mail.ftl用于做Freemarker的模板的。mail.html用于做Thymeleaf的模板的。在resources下新建templates。
2019-08-15 19:29:27 400
原创 关于在Centos6.5静态IP联网失败&&Centos7动态IP联网失败的解决办法,本人亲测可用
前些天有朋友问我,为什么他的Centos6.5突然虚拟机不能联网了,我说你拔过网线或者其他操作吗?他说断过电,我们是在局域网的,那得,问题的原因马上找到了。我把我一直用的方法分享一下,这个方法是我在搞虚拟机的时候一直用的手段,屡试不爽。当然代价是你的虚拟机的ip不是原先的了。这里提前说明一点,这里根据我个原因配置的静态IP,所以这么改,但是前面的操作动态IP也是可以用的,因为我开始拿来练手的C...
2019-08-14 23:09:05 387
原创 SpringBoot____使用SpringCache实现Ehcache缓存
说到在项目中使用缓存,相信很多人会到redis,当然这根据需求和整体项目的情况而定,但是有一个缓存在叫Ehcache,在我的一篇博客中已使用过Ehcache作为Mybatis的二级缓存使用过了https://blog.csdn.net/qq_37432174/article/details/95796577这里在SpringBoot使用SpringCache实现Ehcache缓存。依赖&l...
2019-08-14 22:17:45 449
原创 SpringBoot__使用 Spring Session实现Session共享
SpringBoot__使用 Spring Session实现Session共享什么是Session共享?在传单体架构中,只有一台服务端,所以它的session无需共享;但是在分布式/集群的项目中,客户端发送请求,代理服务器转发请求到上游服务器A上,上游服务器A保存了session,而这时上游服务器B需要用到这个session,而这个session在上游A里保存的,所以这时就会需要Sessi...
2019-08-14 21:20:31 178
原创 SpringBoot___使用Spring Cache实现Redis缓存
SpringBoot___使用Spring Cache实现Redis缓存依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web<...
2019-08-14 20:34:12 226
原创 SpringBoot___多种数据源JdbcTemplate
SpringBoot___多种数据源JdbcTemplate依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</ar...
2019-08-14 16:32:26 212
原创 SpringBoot___整合多数据源Mybaits
SpringBoot___整合多数据源Mybaits结构依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifa...
2019-08-14 15:37:44 127
原创 SpringBoot__JWT无状态服务和Spring Security登入认证
JWT(Java Web Token):是一种没有和任何语言绑定的可以实现无状态、分布式的web应用授权和身份认证的JSON风格轻量级规范。JWT的数据格式三部分:Header头部:头部进行Base64Url编码(可解码),得到第一部分数据。Payload载荷:也会用Base64Url编码,得到第二部分数据。Signature签名:签名,是整个数据的认证信息。再来聊聊什么是有状态服务和...
2019-08-14 13:18:47 1124
原创 DelegatingFilterProxy相关源码解析
今天在用SpringBoot整合Shiro时,发现一个有趣的问题,算是对以前的知识点疏忽的补充吧。是的,你没看错,我先出SSM整合Shiro里该知识点记录起,因为SSM权限倾向于使用Shiro,而SpringBoot的权限倾向于使用Spring Security。看看SSM中使用Shiro的知识点:我们知道在配置SSM整合Shiro时,web.xml中的shiro过滤器的要配置一个代理对象D...
2019-08-14 00:16:23 198
原创 SpringBoot整合Shiro的两种方式
我们知道在SSM整合shiro时,需要在web.xml中配置<!-- shiro过虑器,DelegatingFilterProxy通过代理模式将spring容器中的bean和filter关联起来 --> <filter> <filter-name>shiroFilter</filter-name> <filter-class>...
2019-08-13 21:37:31 676
原创 SpringBoot___ Spring Security简单使用
依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </depend...
2019-08-13 16:24:28 124
原创 SpringBoot__整合多数据源JPA
我们来看看SpringBoot如何整合多数据源的JPA。话不多说,直接放代码。项目结构依赖这值得一提的是这里使用数据库连接池,使用的是Druid,这里是Druid是使用的是com.alibaba.druid-spring-boot-starter,该starter是由第三方提供的,MyBatis和Druid依赖的命名和其他库的命名不太一样,但是它所支持的mysql是mysql8,这由于...
2019-08-12 23:49:36 284
原创 SpringBoot__整合 Jpa简单使用
关于Jpa,具体的详细我也不是很了解,但是关于Jpa的简介,我会在后续学习后专门写一篇博客进行记录。这篇主要讲SpringBoot整合Jpa。依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifact...
2019-08-12 22:28:28 193
原创 SpringBoot__整合JdbcTemplate的简单使用
我们都知道JdbcTemplate是Spring自带的,那么我们来看看如何整合SpringBoot和JdbcTemplate吧。依赖这里使用的数据库连接池Druid,是SpringBoot中带有的druid-spring-boot-starter,和以前在SSM中所用的Druid不是一模一样的依赖,但是作用都一样。<dependencies> <dependenc...
2019-08-12 21:01:44 241
原创 SpringBoot__简单整合Mybatis的两种方式
依赖注意这里使用数据库连接池,使用的是Druid,这里是Druid是使用的是com.alibaba.druid-spring-boot-starter,该starter是由第三方提供的,MyBatis和Druid依赖的命名和其他库的命名不太一样,但是它所支持的mysql是mysql8,这由于数据库版本的问题,所以我们需要锁定数据库版本。这里我们所需要的依赖<dependency&g...
2019-08-12 16:19:37 269
原创 SpringBoot__Spring Data Redis的简单使用
SpringBoot中整合Redis有好几种方式,这里简单的记录一下使用SpringData整合Redis,进行简单的操作。我们还需要手动添加commos-pool2 的依赖。<dependencies> <dependency> <groupId>org.springframework.boot</groupId> ...
2019-08-12 12:12:49 302
原创 SpringBoot整合Swagger2
Swagger2在前端还没写好时,我们想进行后台测试数据时,比如传入值到后台或者显示后台的结果到页面,这时我们可以使用 Postman或者Swagger2来进行测试。swagger是什么1、是一款让你更好的书写API文档的规范且完整框架。2、提供描述、生产、消费和可视化RESTful Web Service。3、是由庞大工具集合支撑的形式化规范。这个集合涵盖了从终端用户接口、底层代码库到...
2019-08-10 20:44:33 261
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人