自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式锁的学习笔记

分布式锁1.1什么是锁?– 多个线程运行的时候,共享了同一块资源(临界资源),为了解决多个线程同时访问临界资源的过程中,加上了一把锁,只允许一个线程访问资源。1.2常见的锁– 1.互斥锁:互斥,只允许一个线程进入(有你没我,有我没你)– 2.自旋锁(很常用)2.什么是分布式锁– 讨论分布式锁前,先假设一个业务场景2.1 业务场景–先假设一个电商业务场景,在电商中,用户购买商品需要扣减商品库存,一般有两种扣减库存方式:下单减库存优点:用户体验好,下单成功,库存直接扣除,用户支付不会

2020-08-03 20:56:48 343

原创 SpringCloud(二)

springCloud学习笔记(二)1.学历经历– 去年工作之余,决定系统学习一下springCloud知识,由于公司框架也是微服务,加深springCloud知识理解,一方面有利于提高工作效率,另一方面也是增强自己知识储备。在最后学习springCloud组件的过程中,写了个订单服务案例,综合练习负载均衡、自定义负载均衡、超时设置等等。代码仓库:springCloud-demo仓库学习笔记world文档如下:文档前半部分是简单地springBoot总结,后半部分是SpringCloud学习笔记

2020-05-27 10:41:07 750

原创 Docker -minio安装使用

docker - minio安装使用1. 查找Minio镜像docker search minio2.拉取镜像docker pull minio/minio3. 启动miniodocker run -it -p 9000:9000 -d minio/minio server /data4. 查看logs 获取minio账号密码docker ps -adoc ker l...

2019-11-08 11:45:26 6497 4

原创 SpringCloud学习笔记(一)

SpringCloud学习笔记(一)1.Eureka– springCloud Eureka 主要负责完成微服务架构中的服务治理功能。springCloud为Eureka增加了springBoot风格的自动化配置,我们只需通过简单的引入依赖和注解配置就能让springBoot构建的微服务应用轻松的与Eureka服务治理体系进行整合。话不多说,上代码:pom.xml依赖<depend...

2019-07-26 16:16:41 234

原创 snakeyaml1.x升级2.x导致项目启动报错

snakeyaml1.x升级2.x导致项目启动报错

2024-02-29 17:12:16 2699 1

原创 ElasticSearch(一)

ElasticSearch 基础知识点与安装部署1.ES是什么ElasticSearch,简称ES,是一个开源的、高扩展的、分布式全文搜索引擎,是整个ElasticStack技术栈的核心,它可以近乎实时的存储、检索数据。它具有非常优秀的扩展性,可以扩展到上百台服务器,处理PB级别的数据。一句话总结:是一个分布式、RESTful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。2.全文索引Google,百度类的网站搜索,它们都是根据网页中的关键字生成索引,我们在搜索的时候输入关键字,它们

2022-03-29 14:57:01 2267

原创 oracle/PG库死锁问题处理

oracle表死锁导致接口超时问题处理今天遇到个生产环境问题,线上系统工资表死锁,导致修改工资表的接口504超时经排查确实工资表死锁了。oralce数据库查询死锁的表:select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session s where l.object_id = o.object_id and l.session_id=s.sid;杀掉死锁会话:取上一步sql中的

2022-01-14 10:41:37 864

原创 shell脚本学习笔记

shell 脚本入门shell介绍shell 是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核shell 还是一个功能相当强大的编程语言,易编写,易调试,灵活性强shell 在开发生产中随处可见,例如服务启动脚本,自动化部署脚本等等,在这些场景中经常可以看到shell的身影Linus提供的Shell解析器有:bash 和 sh 的关系sh是bash的一种特殊的模式,也就是 /bin/sh 相当于 /bin/bash --posix。说白了sh就是 开启了POSIX(可移植

2021-12-24 16:15:23 848

转载 SpringCloud(四) Gateway网关

Gateway网关1.背景说明:SpringCloud Gateway 是SpringCloud的一个全新项目,基于Spring5.0+Spring Boot 2.0和Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的API路由管理方式。SpringCloud Gateway 作为SpringCloud生态系统中的网关,目标是替代Zuul,在Spring Cloud 2.0以上版本中,没有对新版本Zuul2.0以上最高性能版进行集成,仍然耗时使用Zuul1.x

2021-07-21 16:38:18 307

原创 SpringCloud(三)服务降级、熔断

服务降级、熔断1.服务降级1.1 什么是服务降级服务提供方由于网络原因,服务器原因,程序问题等等,导致服务不可用,响应缓慢,服务崩溃宕机。这时,为了较好的用户体验,需要进行服务降级,在出现问题时,返回又好消息,如返回一个提示信息:当期网络波动,请稍后再试。从而避免程序报错返回500,影响体验。1.2 怎么解决1.yml增加配置feign: hystrix: enabled: true2. 启动类增加注解@EnableHystrix3. 编写服务降级接口,实现类

2021-07-20 16:57:07 407

原创 正则校验手机号是否存在3位以上豹子号或升降连号

需求背景需求近期开发了一个需求,校验工资表中的人员手机号是否存在3位以上连号,或者3位以上豹子号,网上的文章有点搞人,正则可以用,但各种案例的方法根本不行。现自己结合需求,写出这篇文章。先上正则://匹配3位以上豹子号String pattern1 = "([\\d])\\1{2,}";//匹配3位或以上顺增或顺降String pattern2 = "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2

2021-07-02 11:59:29 1290 1

原创 SpringCloud(三) 自定义Ribbon轮询算法

前言在日常的项目中,负载均衡基本上都是采用默认的loadBalance,今天便根据源码,手写轮询算法去实现负载均衡。先上loadBalance源码:new AtomicInteger (0) 便于后面原子操作reachableServers 表示有心跳的服务,即在注册中心正常的服务。allServers 表示所有的服务。nextServerIndex: 通过自旋获取实际请求服务的下标server:实际调用的服务自旋锁实现CAS,获取请求次数,用于服务集合下标改造,手撸代码实现轮询:

2021-05-06 16:53:43 313 1

原创 源码篇-JDK9对String类的优化改进

JDK9对String类做了优化改进,具体如下:JDK8源码:当我们new一个String对象时,对应的字符串其实是以char数组的形式存储在String对象内部。而这个char数组是final的,也就是说不可变的。这也就是为什么我们说String字符串拥有不可变的特性,当字符串改变了,char数组不可变,就只能创建一个新的对象,新的char数组了。JDK9源码:可以看到JDK9将char数组改成了byte数组。在程序中,绝大多数字符串只包含英文字母数字等字符,使用Latin-1编码,一个字符

2021-04-28 18:43:56 388

原创 JAVA开发常用工具整理

JAVA 开发常用工具整理天翼云盘自取链接:https://cloud.189.cn/t/BZrYjuyU3uu2(访问码:7w5y)

2021-04-08 20:48:04 219

原创 大数据学习笔记(四)-Hadoop集群脚本分发和群起

前面,已经搭建好了三台服务器,并实现了单机器启动,现在,将要实现集群启动,并使用xsync.sh煎熬本实现集群之间的配置分发,集群群起,这样就只需在一台机器上操作,就可以配置集群了。直接开干:1.配置集群分发脚本scp(secure copy)安全拷贝scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称将hadoop1

2021-03-10 16:46:04 452 1

原创 大数据学习笔记(三)-yarn&日志

大数据学习笔记(三)-yarn配置yarn并允许MapReduce## 配置yarn-env.sh 修改JAVA_HOMEexport JAVA_HOME=/opt/module/jdk1.8.0_51## 配置yarn-site.xml<!-- Reducer获取数据的方式 --><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_s

2021-01-04 15:40:22 247

原创 大数据学习笔记(三)-hdfs

单台服务器启动HDFS1.修改配置文件1.1.hadoop-env.shLinux系统中获取JDK的安装路径:[atguigu@ hadoop101 ~]# echo $JAVA_HOME/opt/module/jdk1.8.0_144修改JAVA_HOME 路径:export JAVA_HOME=/opt/module/jdk1.8.0_1441.2.core-site.xml<!-- 指定HDFS中NameNode的地址 --><property><

2020-12-31 16:05:31 153

原创 大数据学习笔记(二)-官方案例-Grep/WordCount

1、官方Grep案例1.首先,在hadoop-2.7.2文件夹下创建一个input目录然后,将etc/hadoop/*.xml复制到input目录中cp etc/hadoop/*.xml input/2.然后启动hadoop中的examples包中的grep案例,知道input路径和output路径,注意:此时若output文件夹存在,则会报output已存在错误hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.

2020-12-31 15:16:22 322

原创 大数据学习笔记(二)

环境搭建java环境1.在/opt 下创建两个文件夹,一个module,一个softwaresoftware放安装包,module放安装包解压后的文件将准备好的jdk和hadoop2.7.2tar包放入software文件夹中hadoop2.7.2下载地址:http://archive.apache.org/dist/hadoop/common/hadoop-2.7.2///解压至/opt/module文件夹下tar -zxvf jdk-tar包 -C /opt/module修改 /

2020-12-29 15:06:28 253

原创 事务回滚与手动回滚

前提一般我们在开发时,在方法或者类上加了@Transactional事务注解,然后会用 try catch 将可能会出问题的代码块包起来,在catch里面处理捕获的异常,但是,如果在catch里面没有把异常抛出去,此时事务是不会自动回滚的异常模拟比如这种情况:这里既没有抛出异常,也没有手动回滚,在插入流水表之后,模拟报错,下面更新总支出和总缴存不会执行,但上面的流水已经插入了,看结果这种情况显然不可取手动回滚在catch里面将手动回滚代码加上//手动回滚TransactionAsp

2020-12-04 16:21:58 1300

原创 大数据学习笔记(一)

概念大数据:指无法在一定时间范围内用常规软件工具进行捕捉、关联和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察力和流程优化能力的海量、高增长率和多样化的信息资产。特点大量高速多样低价值密度应用场景物流仓储:大数据分析助力商家精细化运营、提升销量、节约成本零售:分析用户消费习惯,为用户购买商品提供方便,从而提升商品销量。旅游:深度结合大数据能力与旅游行业的需求,共建旅游产业智慧管理、智慧服务和智慧营销的未来。商品广告推荐:给用户推荐可能喜欢的商品保险:海量数据挖掘及风

2020-12-04 09:49:11 253

原创 idea导入项目后启动报错,关于org.spring.xxx.xxx不存在

关于idea导入项目启动报错:xxxx不存在前几天导入公司项目,启动报错,检查了配置,maven本地仓库都配置好了,jdk版本和编译都设置的是好的,就是启动报错,如下图:报错不存在的包也有:到网上找了很多帖子,都不解决不了,后来发现有一个地方没有勾选:File–Settings–maven–Runner授权IDE去build/run maven项目,勾上之后完美解决...

2020-09-28 19:50:32 418

原创 以程序员的方式解决武汉公积金用户注册页面无法点击下一步问题

以程序员的方式解决武汉公积金注册页面无法点击下一步问题1.问题背景如图:当我们银行卡身份认证和发送验证码之后,页脚信息下移将返回和下一步的button覆盖掉了,所以点击无效,并没有触发点击按钮事件。2.解决方法1.当我们到达这个页面之后,发送完短信验证码,按快捷键F12(ps:有些电脑键盘需要配合Fn一起使用)打开信息如图:2.找到图中红色框标注的一行,并点击左侧头部三角形展开此...

2019-10-10 19:40:04 4727 8

原创 SpringData jpa(一)

orm思想和hibernate以及jpa的概述和jpd的基本操作1.orm思想主要目的:操作实体类就相当于操作数据库表 建立两个映射关系: 实体类和表的映射关系 实体类中属性和表中字段的映射关系 不在关注的重点: sql语句实现了ORM思想的框架:mybatis 、 hibernate2.hibernate框架介绍Hibernate是一个开放源代...

2018-12-28 21:01:18 423

原创 com.alibaba.dubbo.remoting.TimeoutException异常的解决方法

今天写商品分类和规格使用redis进行缓存的时候碰到一个头疼的BUG,早上刚开机的时候运行没有任何问题,电脑运行的东西多了之后,突然就给我报了个bug,头疼了一下午,后来找到个大牛解决了,原来是调用SpringDataRedis对数据进行存储到redis的时间过长,结果页面请求的超时时间过了,报了这个BUG ....  解决方法:在@Service注解这里设置timeout@Serv...

2018-12-11 21:02:59 6347

原创 Oracle

 Oracle 视图---视图的概念:视图就是提供一个查询的窗口,所有数据来自于原表。---视图就是封装了一条查询的语句1.简化查询 2.提高数据的安全性 3.保证总部和分布数据即使统一例句:---查询语句创建表create table emp as select * from scott.emp;select * from emp;---创建视图【必须有db...

2018-11-21 19:50:36 185

原创 maven高级之SSM框架依赖jar包管理

maven高级之SSM框架依赖jar包管理 解决jar包冲突的三种方式:声明优先原则:---- 哪个jar包的坐标在靠上的位置,这个jar包就是先声明的。 先声明的jar包坐标下的依赖包,可以优先进入项目中。---- maven导入jar包中的一些概念: 直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包。 传递依赖:项目中没有直接导入的jar包,可以通过项目直接依赖j...

2018-11-21 19:42:58 583

原创 SSM框架执行流程及底层源码讲解【本文持续更新...】

 SSM框架执行流程及底层源码讲解---- 本篇文章主要讲解市面流行的项目框架:SpringMVC+Spring+MyBatis (简称SSM) 的执行流程以及执行过程中各个关键技术的底层实现原理。(博主接触java编程语言近两年时间,一直对框架实现原理懵懵懂懂,终于下定决心研究一番底层源码,本文为原创作品,原文出自本人hexo+github个人博客,地址: https:lhbit.to...

2018-11-21 19:38:35 8797 3

原创 【Servlet登录案例】

 登录案例 --------- 分析   a) 建工程, 建数据库, 建表,      b) 准备好 连接数据库的 代码.       德鲁伊 (druid) , mysql驱动jar包, spring的jdbcTemplate       建包     com.itheima.web           放servlet类     com.itheima.dao      ...

2018-09-21 21:52:33 645 2

原创 【MySQL多表、事物】

本文内容介绍1. 多表查询​2. 事务​3. DCL多表查询:* 查询语法: select 列名列表 from 表名列表 where....* 准备sql # 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, ...

2018-09-07 22:35:54 252

原创 【MySQL简单查询语句与约束】

1. 简单查询语句与约束1.1. 本文目录1. 简单查询语句与约束1.1. 本文内容介绍1.2. DQL:查询表中的记录(掌握)1.2.1. 基本语法1.2.2. 简单查询语句1.2.3. 条件查询1.2.4. 排序查询1.2.5. 聚合函数1.2.6. 分组查询1.2.7. 分页查询1.3. 约束(理解约束的作用)1.3.1. 概念: 对表...

2018-09-07 22:25:02 711

原创 【MySQL基础】

数据库的基本概念1. 数据库的英文单词: DataBase 简称 : DB2. 什么数据库? * 用于存储和管理数据的仓库。​3. 数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQL 4. 常见的数据库软件 * 参见《MySQL基础.pdf》M...

2018-09-07 22:20:12 241

原创 【基础加强,Junit单元测试、反射、注解】

今日内容1. Junit单元测试2. 反射3. 注解Junit单元测试:* 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。​* Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: ...

2018-08-30 10:44:29 230

原创 【函数式接口】

函数式接口:有且仅有一个抽象方法的接口(允许有其他的方法)    @FunctionalInterface 用来标记一个函数式接口    函数式接口的使用:一般结合Lambda表达式使用    使用Lambda表达式的前提,就你是必须要有一个函数式接口。使用场景有下面两种    1. 函数式接口作为方法的参数使用        调用这个方法时,可以传递Lambda表达式。      ...

2018-08-25 21:33:17 264

原创 【网络编程、图片上传案例】

网络编程:编写基于网络的应用程序,实现网络之间的数据传输。网络编程的三要素    1. 通信协议: 网络中数据传输的规则        UDP协议:面向无连接,不可靠(有可能丢失数据包)        TCP协议:面向有连接,可靠(比较安全)        2. ip地址:网络中主机的一个唯一标识        ipv4: 占4个字节  127.0.0.1 本机的地址      ...

2018-08-25 21:28:38 324

原创 【缓冲流、转换流、序列化流,打印流、Properties集合】

缓冲流:缓冲流其实是一个包装流,基于基本输入和输出流,提供程序读写的效率。    字节缓冲流:底层的读和写还是依赖于InputStream和OutputStream    字符缓冲流:底层的渡河写还是依赖于Reader和Writer    字节缓冲流    //把a.flv内容复制到b.flv中    //使用BufferedInputStream 对InputStream进行包装...

2018-08-25 21:26:36 280

原创 【I/O流】

IO流概述:IO流是用来处理设备之间的数据传输(内存、硬盘)    输入流(读数据): 硬盘--&gt;内存    输出流(存数据): 内存--&gt;硬盘    记忆小技巧:以内存(程序)为基准,从内存(程序)中出去【输出流】,进入内存(程序)【输入流】。IO流的按照读写数据分类    字节流: 读写任何类型的文件        字节输出流(写字节)            Out...

2018-08-25 21:17:51 214

原创 【File类、递归】

File类:表示一个文件或者文件夹(目录)的路径    路径分为相对路径和绝对路径    绝对路径:从盘符开始的路径        举例:"C:\\IdeaProjects\\javajob\\day08-code\\a.bmp"    相对路径:相对于项目的根目录(省略了项目的根目录)        //假设项目的根目录为:"C:\\IdeaProjects\\javajob"   ...

2018-08-25 21:12:03 176

原创 【线程池、Lambda表达式】

【线程池、Lambda表达式】今日主要内容*   等待与唤醒案例*   线程池*   Lambda表达式(JDK1.8新特性)今日目标-[1 ] 能够理解线程通信概念-[ 2] 能够理解等待唤醒机制-[ 3] 能够描述Java中线程池运行原理-[4] 能够理解函数式编程相对于面向对象的优点-[5 ] 能够掌握Lambda表达式的标准格式-[ 6] 能够使用Lambda...

2018-08-18 10:52:27 996

原创 【异常、线程】

今日内容    异常    多线程异常    什么是异常        异常就是不正常的情况,在Java中的异常指的是程序在运行过程中出现的错误        Java是面向对象的语言,所有的东西都可以封装对象,异常也照样被封装成了对象,方便我们对这些错误        进行研究和解决,这些对象肯定有对应的类,这些类就是异常类,在程序中可能出现各种各样的错误,所以定义了    ...

2018-08-17 08:54:57 227

【snakeyaml升级2.x重写类源文件】

snakeyaml升级2.x重写类源文件

2024-02-29

SpringCloud学习笔记

去年工作之余,系统学习整理了一遍springBoot,SpringCloud,文档中有学习的代码仓库,springCloud的每一个组件整理,组件使用案例等等,1积分意思一下啦

2020-12-08

空空如也

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

TA关注的人

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