自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

六道

没有本人,只有懒人

  • 博客(38)
  • 收藏
  • 关注

原创 JUC-04-常用辅助类

CountDownLatch减法计数器// 计数器public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedException { // 计数器总数是6(传递参数定义总数) // 必须要执行任务的时候使用 CountDownLatch countDownLatch = new CountDownLatch(6);

2020-06-18 20:58:09 179

原创 JUC-03-集合不安全

List不安全解决方法:1、List list = new Vector<>();2、List list = Collections.synchronizedList(new ArrayList<>());3、List list = new CopyOnWriteArrayList<>();CopyOnWriteArrayList写入时复制(CopyOnWrite)思想写入时复制(CopyOnWrite,简称COW)思想是计算机程序设计领域中的一种优化策略

2020-06-18 20:04:51 131

原创 JUC-02-8锁现象

现象一多个线程使用一把锁,也就是调用同一个对象,谁先调用谁先执行被 synchronized 修饰的方法、锁的对象是方法的调用者public class Test { public static void main(String[] args) throws InterruptedException { // 两个线程使用同一个对象(同一把锁) Phone phone = new Phone(); new Thread(()-&g

2020-06-18 10:09:52 181

原创 JUC-01-Lock锁

线程的状态public enum State { // 新建 NEW, // 运行 RUNNABLE, // 阻塞 BLOCKED, // 等待 WAITING, // 超时等待 TIMED_WAITING, // 终止 TERMINATED; }Lock锁传统的Synchronized

2020-06-18 09:03:56 158

原创 JavaSE--多线程(基础篇)

1.多线程简述Process 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。Thread 线程:是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的 资源。虽然系统是把资源分给进程,但是CPU很特殊,是被分配到线程的,所以线程是CPU分配的基本单位。简单来说:一个程序就是一个进程,而一个程序中的多个任务则被称为线程。举例:电脑运行爱奇艺观...

2020-06-17 08:12:24 201

原创 Redis-缓存穿透和雪崩

文章摘抄狂神说Redis课堂笔记缓存穿透概念缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中(秒杀!),于是都去请求了持久层数据库。这会给持久层数据库造成很大的压力,这时候就相当于出现了缓存穿透。解决方案布隆过滤器布隆过滤器是一种数据结构,对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃,从而避免了对底层存储系统的查询压力;缓存空对象当

2020-06-16 22:57:36 89

原创 Redis-主从复制

概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。 Master以写为主,Slave 以读为主。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。作用1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。2、故障恢复:当主节点出现问题时,可以由从

2020-06-16 22:17:22 96

原创 Redis-发布订阅

下图来源于菜鸟教程Redis发布订阅Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了三个client客户端订阅了一个频道 channel当有新消息PUBLISH的时候,这个消息就会被client客户端接收到命令命令描述PSUBSCRIBE pattern [pattern …]订阅一个或多个符合给定模式的频道。PUBSUB subcommand [

2020-06-16 09:24:32 132

原创 Redis-持久化

Redis持久化Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以 Redis 提供了持久化功能!RDB(Redis DataBase)简介RDB是Redis用来进行持久化的一种方式,是把当前内存中的数据集快照写入磁盘,也就是 Snapshot 快照(数据库中所有键值对数据)。恢复时是将快照文件直接读到内存里。在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到

2020-06-16 08:40:23 86

原创 Redis-redis.conf配置文件

Redis.conf配置详解单位配置文件单位,对大小写不敏感包含 INCLUDES就比如我们学习的Spring 中的import 可以包含多个配置文件网络 NETWORKbind 127.0.0.1 # 绑定的ipprotected-mode yes # 保护模式port 6379 # 端口设置通用 GENERALdaemonize yes # 以守护进程的方式运行,默认是 no,我们需要自己开启为yes!pidfile /var/run/redi

2020-06-14 18:17:30 175

原创 Redis-SpringBoot整合

SpringBoot操作数据: Spring-Data 、JDBC、jpa 、redis、mo’ngodb注意:在SpringBoot 2.x 之后,原来的Jedis被替换成了lettuce源码分析SpringBoot的每个配置类都会有一个自动配置类(xxxAutoConfiguration)↓Redis的自动配置类:RedisAutoConfiguration自动配置类会绑定一个Properties配置文件类Redis的配置文件 RedisPropertiesRedis自动配置类:↓

2020-06-14 17:40:45 115

原创 Redis-Jedis

Jedis1. 导入对应的依赖 <!--Jedis包--> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.3.0<

2020-06-14 11:16:54 112

原创 Redis-事务

Redis 事务本质Redis 事务本质:一组命令的集合 ,一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行。一次性 、 顺序性 、 排他性Redis事务没有隔离级别的概念所有命令事务中,并没有直接被执行,只有发起执行命令后才会被执行Redis单条命令保证原子性,但是事务不保证原子性Redis事务开启事务(multi)命令入列执行事务(exec)| 放弃事务(discard)正常执行事务(exec):# 开启事务127.0.0.1:6379> mult

2020-06-14 10:04:09 100

原创 Redis-数据类型+命令

Redis支持的数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合) 及 zset(sorted set:有序集合)。与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。==KeyRedis 键命令用于管理 redis 的键命令命令描述DEL key删除key(key必须存在才可以)EXISTS key检查给定key是否存在EXPIRE key s

2020-06-14 09:15:53 135

原创 Redis-入门

NoSQLNoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储关系型数据库和NoSQL区别NoSQL四

2020-06-13 15:41:54 109

原创 Linux

安装环境安装Centos7 + Xshell + Xftp详情参考博客:https://blog.csdn.net/qq_39135287/article/details/83993574关于LinuxLinux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。基

2020-06-13 10:35:33 454

原创 Git

Git(分布式版本控制系统)Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git的功能特性:从一般开发者的角度来看,git有以下功能:1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。2、在自己的机器上根据不同的开发目的,创建分支,修改代码。3、

2020-06-12 07:20:10 119

原创 SpringBoot-Dubbo、Zookeeper

一、分布式应用在分布式系统中,国内常用zookeeper+dubbo组合,而Spring Boot推荐使用全栈的Spring,Spring Boot+Spring Cloud。单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。分

2020-05-15 17:22:42 198

原创 SpringBoot-异步、定时、邮件任务

1. 异步任务1.创建一个AsyncService类我们利用线程睡眠来模拟处理数据的等待现象@Servicepublic class AsyncService { public void hello(){ try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } Syst

2020-05-14 20:28:22 432

原创 SpringBoot-Swagger集成

初识Swagger1. 环境搭建创建SpringBoot-web项目1. 导入依赖<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> &

2020-05-14 16:39:27 175 1

原创 SpringBoot-Cache(缓存)

JSR107Java Caching定义了5个核心接口,分别是CachingProvider, CacheManager, Cache, Entry和 Expiry。• CachingProvider定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期访问多个CachingProvider。• CacheManager定义了创建、配置、获取、管理和控制多个唯一命名的Cache,这些Cache存在于CacheManager的上下文中。一个CacheManager仅被一个C

2020-05-12 10:50:33 409

原创 Docker

1. Docker简介Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。2. 核心概念docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);docker客户端(Client):连接docker主机进行操作;docker仓库(Registry):用来保存各种打包好的软件镜像;d

2020-05-12 10:38:38 113

原创 Spring-Security

根据“狂神说”教学视频+“狂神说”公众号内容 进行的笔记记录简介Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它实际上是保护基于spring的应用程序的标准。Spring Security是一个框架,侧重于为Java应用程序提供身份验证和授权。与所有Spring项目一样,Spring安全性的真正强大之处在于它可以轻松地扩展以满足定制需求实战1. 创建一个SpringBoot项目导入web、thymeleaf依赖2. 引入静态资源index.html|vi

2020-05-09 15:19:10 94

原创 SpringBoot-自定义Starter

启动器模块是一个 空 jar 文件,仅提供辅助性依赖管理,这些依赖可能用于自动装配或者其他类库;命名规范:官方命名:前缀:spring-boot-starter-xxx例如:spring-boot-starter-web自定义命名:前缀:xxx-spring-boot-starter例如:mybatis-spring-boot-starter步骤编写启动器1. 在IDE...

2020-05-07 16:26:26 147

原创 SpringBoot-整合Mybatis

整合Mybatis官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/1.导入依赖pom.xml文件 <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot...

2020-05-06 17:36:32 314

原创 SpringBoot-整合Druid

1.DruidDruid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。com.alibaba.druid.pool.DruidDataSource 基本配置参数:参考博文:https://www.cnblogs.com/kingsonfu/p/10343947.html2. 整合Druid1. 导入Druid依赖 ...

2020-05-06 13:17:34 260

原创 SpringBoot-整合JDBC

SpringBoot数据访问1. SpringDataSpring Boot 底层都是采用 Spring Data 的方式进行统一处理各种数据库,Spring Data 也是 Spring 中与 Spring Boot、Spring Cloud 等齐名的知名项目Sping Data 官网:https://spring.io/projects/spring-data数据库启动器官方文档:ht...

2020-05-06 12:56:30 97

原创 SpringBoot-开发Web应用

1、简介使用SpringBoot;1)、创建SpringBoot应用,选中我们需要的模块;2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3)、自己编写业务代码;自动配置原理?这个场景SpringBoot帮我们配置了什么?能不能修改?能修改哪些配置?能不能扩展?xxxxxxxAutoConfiguration:帮我们给容器中自动配置组...

2020-05-06 09:24:05 247

原创 /* 和 /**

/* 是拦截所有的文件夹,不包含子文件夹/** 是拦截所有的文件夹及里面的子文件夹

2020-05-03 11:14:57 122

原创 SpringBoot-入门+配置

Spring Boot 入门1.Spring Boot简介官方文档:https://spring.io/projects/spring-boot简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;2.微服务微服务文档:https://martinfowler.com/articles/microservices.html#Micr...

2020-04-29 18:32:33 185

原创 SSM整合--IDEA版

Spring SpringMVC Mybatis整合基础环境搭建1.创建maven工程,添加web支持创建普通maven项目,右击项目-->Add Frameworks Support勾选java web我这里的项目路径为:ssmbuild总项目下的模块:ssm_crud2.引入依赖(jar包) <!--导入依赖--> <depende...

2020-04-26 09:21:44 159

原创 SpringMVC-框架技术

SpringMVCMVCM : Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。V:View(视图):负责进行模型的展示,一般就是我们见到的用...

2020-04-23 17:27:48 441

原创 jQuery.Ajax回调函数返回字符串中文乱码问题

$.post请求到 /a3 成功后获取返回的中文字符串 data 结果在浏览器输出 出现乱码jsp页面代码function f1(){ $.post({ url:"${pageContext.request.contextPath}/a3", data:{"name":$("#name").val()},...

2020-04-23 09:18:57 571

原创 Spring-MVC学习笔记

MVC三层架构MVCModel:模型View:视图Controller:控制器1.初识MVCspringMVC官方文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html项目:springMVC_study导入依赖<?xml version="1.0" encodi...

2020-04-21 10:38:23 318

原创 JavaSE -- 注解+反射

注解在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在JavaEE/Android中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗代码和XML配置等。未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是...

2020-04-17 15:44:29 283

原创 Spring5学习笔记

1.SpringSpring官网:https://spring.io/projects/spring-frameworkSpring下载地址:https://repo.spring.io/release/org/springframework/spring/GitHub:https://github.com/spring-projects/spring-frameworkMaven依赖&...

2020-04-15 17:51:34 291

原创 maven环境搭建(Idea版)

mavenMaven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。maven官网:https://maven.apache.org/maven下载地址:https://maven.apache.org/download.cgi1.maven下载下载完成并解压以后(下载和解压路径自己定义 我的在:D:\apache-maven-3.6....

2020-04-13 11:31:18 306

原创 Mybatis学习笔记

Mybatis 笔记创建第一个mybatis程序第一步:创建(maven)项目 删除src 创建模块 (mybatis_01)父项目中的pom.xml文件中配置以下信息<?xml version="1.0" encoding="utf8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xml...

2020-04-08 13:42:56 234

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除