自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 sharding-jdbc分库分表(一)

sharding-jdbc 分库分表

2022-12-05 16:51:37 1661

原创 java异步调用处理高并发web应用性能问题

异步调用

2022-09-04 00:13:40 347

原创 oracle 锁表处理

oracle

2022-09-02 11:40:53 223

原创 easyexcel 导出excal文件名乱码解决

导出excal文件名乱码解决

2022-08-09 15:05:38 6077 1

原创 缓存与数据库双写不一致的问题及解决方式

一般而言,我们在更新数据库时会把redis的值删除掉,然后第一次查询时从数据库查询并且更新到redis中。但从数据库查询然后更新到redis中这并不是原子操作,可能出现并发问题。问题描述:当线程1正常更新数据库并删除redis的数据 ,在线程2第一次查询时,线程3更新数据并删除redis的数据,这时线程2才执行到更新redis,就会出现数据库与缓存双写不一致的问题。使用redisson读写锁来解决@RequestMapping("/getStock") public Strin

2021-10-15 15:59:12 384

原创 redis与redisson实现分布锁的两种方式

redis实现方式:package cn.ping.redislock.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.web.bind.annotation.GetMapping;import org.springf

2021-10-13 18:00:42 202

原创 shiro使用md5加盐加密认证与授权

数据表user:maven配置:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apa

2021-10-07 23:50:30 275

原创 引用别人的sql优化总结

https://www.cnblogs.com/yunfeifei/p/3850440.html

2021-07-02 10:58:14 122

原创 高并发编程学习笔记(一)之线程基础

基础概念CPU核心数和线程数的关系核心数:线程数=1:1 ;使用了超线程技术后—> 1:2CPU时间片轮转机制(RR调度)由操作系统控制,会导致上下文切换,花费5~2万时钟周期。什么是进程和线程进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源线程:CPU调度的最小单位,必须依赖进程而存在。澄清并行和并发并行:同一时刻,可以同时处理事情的能力并发:与单位时间相关,在单位时间内可以处理事情的能力高并发编程的意义、好处和注意事项好处:充分利用cpu的资源、

2020-07-14 09:08:40 174

原创 springMVC上传文件名乱码解决

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="UTF-8" 因为默认是iso编码 p:maxUploadSize="5400000"></bean>

2020-07-05 13:16:31 634

原创 通过Spring Data ElasticSearch 来使用ElasticSearch

通过一个小案例来学习Spring Data ElasticSearch创建一个Spring Boot工程pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.

2020-06-30 15:02:16 7090

原创 使用kibana来操作ElasticSearch(二)

聚合aggregations聚合可以让我们极其方便的实现对数据的统计、分析。例如:什么品牌的手机最受欢迎?这些手机的平均价格、最高价格、最低价格?这些手机每月的销售情况如何?实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现实时搜索效果。基本概念Elasticsearch中的聚合,包含多种类型,最常用的两种,一个叫桶,一个叫度量:桶(bucket)桶的作用,是按照某种方式对数据进行分组,每一组数据在ES中称为一个桶,例如我们根据国籍对人划分,可以得到中国桶、

2020-06-29 18:26:21 293

原创 使用kibana来操作ElasticSearch(一)

.基本概念Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。对比关系:索引(indices)--------------------------------Databases 数据库类型(type)-----------------------------Table 数据表 文档(Document)----------------Row 行 字段(Field)-------------------Columns 列 概念说明:索

2020-06-29 17:42:01 2980

原创 使用poi工具类导出数据到excel表(解决ajax提交无法下载的问题)

maven: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency>

2020-06-28 18:05:42 1584

原创 分布式事务解决方案之2PC协议的两种方案

什么是2PC?2pc即是两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),2是指两个阶段,p是指准备阶段,C是指提交阶段。在计算机部分关系数据库如Oracle、Mysql支持两阶段提交协议1,准备阶段:事务管理器给每个参与都发送Prepared消息,每个数据库参与者在本地执行事务,并写本地的Undo/Redo日志,此时事务没有提交。(Undo日志是记录修改前的数据,用于数据库回滚,Redo日志是记录修改后的数据,用于提交事务后

2020-05-14 14:17:18 1046

原创 分布式事务之CAP理论与Base理论

分布式事务的基础概念,与本地事务不同的是,分布式系统之所以叫分布式,是因为提供服务的各个节点分布在不同的机器上,相互之间通过网络交互。不能因为有一点网络问题就导致整个系统无法提供服务,网络因素成为了分布式事务的考量标准之一,因此,分布式事务需要更进一步的理论支持。CAP理论理解capcap是 Consistency、Availability、Partition tolerance三个词语的缩写。分别表示 一致性、可用性、分区容忍性。如下图,是商品信息管理的执行流程:整体执行流程如下:1、商品服

2020-05-13 12:26:51 376

原创 centos7.x 下Elasticsearch的单机安装

centos7下安装ElasticSearch 需要先安装jdk1.8以上,jdk1.8在centos7的安装注意:出于安全考虑,elasticsearch默认不允许以root账号运行。创建一个用户:useradd ping设置密码:passwd ping上传安装包,并解压:更改elasticsearch所属用户和用户组 chown -R ping:ping elasticsea...

2020-04-28 17:07:09 282

原创 fastDFS整合Spring Boot的使用

什么是FastDFSFastDFS是由淘宝的余庆先生所开发的一个轻量级、高性能的开源分布式文件系统。用纯C语言开发,功能丰富:文件存储文件同步文件访问(上传、下载)存取负载均衡在线扩容适合有大容量存储需求的应用或系统。同类的分布式文件系统有谷歌的GFS、HDFS(Hadoop)、TFS(淘宝)等。FastDFS的工作架构图FastDFS两个主要的角色:Tracker Ser...

2020-04-28 14:48:06 531

原创 centos7.x 静态IP的配置

vi /etc/sysconfig/network-scripts/ifcfg-ens33修改bootproto=staticonboot=yes在最后加上几行,IP地址、子网掩码、网关、dns服务器IPADDR=192.168.227.136GATEWAY=192.168.227.2NETMASK=255.255.255.0DNS1=119.29.29.29D...

2020-04-27 23:40:32 154

原创 fastDFS在centos7x上安装 踩坑过程与解决方法与使用nginx访问FastDFS

安装gcc(编译时需要)FastDFS是C语言开发,安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gccyum install -y gcc gcc-c++后面会用到解压命令(unzip),所以这里可以用yum把unzip 也装一下yum install -y unzip zip安装libeventyum -y install l...

2020-04-27 23:28:50 709

原创 spring boot 与spring mvc 整合的文件上传以及绕过网关

pom.xml:<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> ...

2020-04-27 15:38:45 655

原创 三种解决ajax 的跨域问题的方式

什么是跨域跨域是指跨域名的访问,以下情况都属于跨域:跨域原因说明示例域名不同www.jd.com 与 www.taobao.com域名相同,端口不同www.jd.com:8080 与 www.jd.com:8081二级域名不同item.jd.com 与 `miaosha.jd.com为什么有跨域问题?跨域不一定会有跨域问题。因为跨域问题是浏览器对于...

2020-04-27 13:03:29 397

原创 spring aop 基本理解

什么是AOP?与OOP(面向对象)对比。传统的OOP开发中的代码逻辑是自上而下的,而在这个过程会产生写横切性的问题。而这些问题又与我们主业务逻辑关系不大,会散落在代码的各个地方,造成难以维护的问题。AOP编程思想就是把这些横切性的问题和主业务逻辑进行分离,从而直到解耦的目的。AOP 的作用及优势作用:在程序运行期间,不修改源码对已有方法进行增强。优势:减少重复代码提高开发效率维护...

2020-04-22 18:16:00 180

原创 SpringMVC 源码解析(SpringMVC 中三大组件详解)(二)

SpringMVC 源码解析(一)SpringMVC 中三大组件详解:1,处理器映射器2,处理器适配器3,视图解析器处理器映射器:它指的是:RequestMappingHandlerMapping 是在 Spring 的 3.1 版本之后加入的。它的出现,可以让使用者更加轻松的去配置 SpringMVC 的请求路径映射。去掉了早期繁琐的 xml 的配置它的配置有两种方式:都是在 s...

2020-04-16 15:00:02 301

原创 SpringMVC 源码解析(深入理解springmvc)(一)

SpringMVC 的执行过程分析:首先,我们先来看一下 springmvc 官方文档中提供的执行过程图通过此图,我们可以看到其实都是由前端控制器负责找到要执行的控制器方法。这个前端控制器就是SpringMVC 的核心控制器 DispatcherServlet搭建基于SpringMVC简单的web应用web.xml<?xml version="1.0" encoding="UTF...

2020-04-15 20:50:00 883

原创 redis持久化的两种方式RDB与AOF

如何实现Redis数据持久化(redis默认开启RDB模型)如果我们redis服务器宕机了,就会导致原来访问redis的请求全部到了mysql数据库,这个时候mysql数据库离崩溃就不远了确保我们重启redis服务器还能将绝大部分的数据恢复进内存,怎么办?是不是就要把内存数据保存到硬盘中便于恢复RDB模型:就是每隔一段时间,定时保存,有点像mysql中进程用到的mysqldump优势:...

2020-04-13 17:05:18 153

原创 redis常用数据结构与安装使用

概念: redis是一款高性能的NOSQL系列的非关系型数据库redis的安装与使用:1、准备工作(安装gcc依赖)yum -y install gcc-c++ 2、下载并解压源码包cd /usr/local #进入/usr/local目录wget http://download.redis.io/releases/redis-5.0.0.tar.gz #下载redistar -...

2020-04-13 16:03:55 140

原创 MYSQL数据库设计规范与结构优化

一、MYSQL数据库设计规范1、数据库命名规范a、采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’_'组成;b、命名简洁明确(长度不能超过30个字符);c、例如:user, stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个前缀;d、除非是备份数据库可以加0-9的自然数:user_db_20151210;2、数...

2020-04-11 15:16:40 284

原创 mysql 的 sql语句与索引优化(二)

索引是什么?MySQL官方对索引的定义为:索引(index)是帮助mysql高效获取数据的数据结构。可以得到索引的本质:索引是数据结构MySQL默认存储引擎innoDB只显式支持B-tree(从技术上来说是B+Tree)索引索引分类 :普通索引:即一个索引只包含单个列,一个表可以有多个单列索引唯一索引:索引列的值必须唯一,但允许有空值(主键索引是不能有空值)复合索引:即一个索引包含多...

2020-04-11 13:42:37 376

原创 mysql 的 sql语句与索引优化(一)

这里写自定义目录标题MYSQL可以从哪几个方面进行数据库的优化?如下图所示:​SQL及索引优化: 根据需求写出良好的SQL,并创建有效的索引,实现某一种需求可以多种写法,这时候我们就要选择一种效率最高的写法。这个时候就要了解sql优化数据库表结构优化: 根据数据库的范式,设计表结构,表结构设计的好直接关系到写SQL语句。 (反范式设计,允许存在少量的冗余,来提升查询...

2020-04-10 20:34:09 202

原创 JAVA GC学习笔记

什么是垃圾回收?程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存资源,最终将导致内存溢出,所以对内存资源的管理是非常重要了。java有自己的自动垃圾回收机制,学习GC之前先了解常用的GC的算法常见的垃圾回收算法有:引用计数法、标记清除法、标记压缩法、复制算法、分代算法 等1.1引用计数法:引用计数是历史最悠久的一种算法,最早George...

2020-04-03 22:59:16 142

原创 spring boot 与quartz整合(一)

springboot本身可以使用@EnableScheduling注解进行定时任务沿用的springboot少xml配置的优良传统,本身支持表达式等多种定时任务@Component //加入spring容器@EnableScheduling //开启对定时任务的支持public class Myjob { @Scheduled(cron = "*/5 * * * * ?")...

2020-04-01 20:14:18 290

原创 Quartz 学习笔记

Quartz是什么?Quartz能干什么?Quartz是一个任务调度的框架。它可以是你设置的某个时间点执行你设置的任务。如果应用程序需要在给定时间执行任务,或者系统有需要连续维护作业,那么Quartz是理想的解决方案任务持久化: Quartz入门案例:任务类:/** * 执行器,即需要定时执行的“某件事” */public class HolleJob i...

2020-03-31 23:16:59 301

原创 centos7 安装 jenkins 及下载插件失败 踩过的坑

第一步: 因为从jenkins官网下载太慢了,所以选择国内可以下载jenkins的。尽量不要安装老版本jenkins,不然装好后,发现很多插件不支持老版 本的jinkins,就只能被迫选择更新jenkins(更新jenkins也是从国外网址下载安装,我多次更新失败) 先从国内的清华源中下载jenkis :https://mirrors.tuna.tsinghua.edu.cn/jen...

2020-03-30 12:11:14 2429

原创 android 蓝牙学习笔记(三)

BluetoothAdapter类BluetoothAdapter代表本地的蓝牙适配器设备,通过此类可以让用户能执行基本的蓝牙任务。例如初始化设备的搜索,查询可匹配的设备集,使用一个已知的MAC地址来初始化一个BluetoothDevice类,创建一个BluetoothServerSocket类以监听其他设备对本机的连接请求。 为了得到这个代表本地蓝牙适配器的Bluetooth...

2019-10-28 15:41:30 233

原创 Android 蓝牙学习笔记(二:)

Android中蓝牙离不开的类:1.BluetoothSocket类   android的蓝牙系统和Socket套接字密切相关,蓝牙端的监听接口和TCP的端口类似,都使用了Socket和serverSocket类。在服务端,使用BluetoothServerSocket类来创建一个监听服务端口,当一个连接被BluetoothServerSocket所接受,它会返回一个新的Blu

2015-12-04 15:58:11 518

原创 android 蓝牙学习笔记(一)

android包含了对蓝牙网络协议栈的支持,这使得蓝牙设备能够无线连接其他蓝牙设备交换数据。Android的应用程序框架提供了访问蓝牙功能的API,这些API让应用程序能够无线连接其他蓝牙设备,实现点对点或点对多的无线交互功能。使用蓝牙API,一个android应用程序能够实现下列功能:1.扫描其他蓝牙设备2.查询本地蓝牙适配器(local Bluetooth Adapter)

2015-12-04 11:59:47 440

wifi流量零撸grass详细教程

扩展程序

2024-01-16

helloShiro.zip

helloShiro.zip

2021-10-08

空空如也

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

TA关注的人

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