自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 java读取Excel文件并各方案对比

导入excel方法及对比

2022-11-02 10:08:07 2063 1

原创 java并发编程 BlockingQueue-阻塞队列(七)

阻塞队列介绍及常用实现

2022-09-22 12:02:35 411

原创 RabbitMQ (二)--路由模式实战及常用概念

Rabbit mq基本概念,四种路由模式使用

2022-07-21 16:32:39 910

原创 RabbitMQ (一)--基本概念及简单使用

mq简单介绍及spring boot集成简单使用

2022-07-16 17:46:03 473

原创 基于dynamic-datasource多数据源自由切换--多租户

前面做了一个基于dynamic-datasource实现读写分离的实现,基于dynamic-datasource实现多数据源的读写分离_邋遢道的博客-CSDN博客最近公司遇到一个多租户的的需求,刚好就继续使用dynamic-datasource来做多数据源的切换多租户多租户就是说多个租户共用一个实例,租户的数据既有隔离又有共享,从而解决数据存储的问题,其实我们常用的权限那种也可以理解为多租户多租户的三种实现方案: 1.独立数据库 即一个租户...

2022-05-07 13:48:09 2764 2

原创 java并发编程 深入理解AQS及相关实现(六)

AbstractQueuedSynchronizer先对AQS的各种特点有个印象,后面执行流程讲解完了再回来对应一下就能理解了什么是AQS?字面意思理解:抽象队列同步器,是一个抽象同步框架java中大多数同步器如Lock,Latch,Barrier等,都是基于AQS框架来实现的共同行为如:等待队列、条件队列、独占获取、共享获取等,也都是基于AQS实现实现方式:1.维护一...

2022-04-12 13:22:10 602

原创 基于dynamic-datasource实现多数据源的读写分离

接上一章的内容 mysql单机搭建及主从复制环境搭建_邋遢道的博客-CSDN博客,当我们把数据库的主从复制搭建好了,可以用读写分离的方式来分担数据库的压力,至于dynamic-datasource是什么,可以自行百度,本文只做使用演练,话不多说,开干1.基本的spring boot + mybatis plus 的环境,可以参考我前面的spring cloud alibaba系列进行操作2.引入dynamic-datasource的依赖,这个版本不宜过低,前面我用2.4.2,还会有启动报错的情况

2022-04-06 15:10:03 1824

原创 mysql单机搭建及主从复制环境搭建

目录单机环境搭建环境准备环境搭建1.如果不想用我的版本可以在官网上去找其他版本 :MySQL :: Download MySQL Community Server2.下载并解压文件主从复制搭建1.先在原来单机的基础上把现有的mysql先停掉2.然后修改删除 /data/mysql/data 文件夹下的所有文件,再创建两个文件夹分别放两个实例的数据3.将my.cnf复制到conf下分别修改4.初始化3306、3307的数据库实例5.分别启动两个实例6.登..

2022-04-01 14:38:21 1438 2

原创 MongoDB使用及基础语法记录

目录安装常用操作命令插入数据insert()save()js循环插入查询条件查询:模糊查询-正则表达式排序和分页更新数据更新单个示例更新多个示例findAndModify 查询更新删除数据remove()delete()安装官网下载地址:官网下载地址: MongoDB Community Download | MongoDB我下载的一个windows版本的zip文件解压后在该目录下新增...

2022-03-18 17:24:59 725

原创 java并发编程 synchronized深入理解及锁升级过程(五)

内存模型的安全性问题在并发安全第一章我们就聊到过并发的三大特性,可见,有序及原子性,今天我们还是继续来聊聊关于原子性及其中的一种解决方案 synchronized先看一个例子,使用两个线程对一个数分别进行自增自减操作 private static int counter = 0; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread((..

2022-03-17 15:17:20 244

原创 数字转换成金额

玄学的事情,以前读书的时候做过这个处理,我当时应该是做了一天,没有搞定,后来睡了一觉,晚上做梦给解出来了,当然那个方法我也忘了,鬼知道当时自己咋想的。前段时间突然想到了这个事情,然后尝试自己再写一下看看package com.andy.util;public class NumToMoney { public static void main(String[] args) { String num = "12212312346789123.123";//一京二千二百一十

2022-03-15 17:31:22 138

原创 spring cloud alibaba 完整实现(六)redis实现分布式锁

redis实现分布式锁及缓存常见问题的理解与解决方案

2022-03-15 17:17:00 2549 1

原创 spring cloud alibaba 完整实现(五)整合swagger2

忙着找工作,所以这段时间博客就搁置了,多线程也还没有继续往下,慢慢来吧,不断学习的过程才是快乐充实的。本章主要整合swagger2,话不多说,开始搞事情swagger2首先说明下什么是swagger2,作用是什么?我们现在做java开发,由于前端的出现,导致我们越来越专注于后端(依稀还记得曾经前后端不分离,啥都干的情况)前后端分离,我们所做的事情更加专注。只需要提供数据接口,由前端调用就好了,但是有个问题是,当我们开发了接口,接口需要的参数,请求方式,返回值等等这些东西我们如何告...

2022-03-14 17:37:31 1239

原创 Redis集群环境搭建

redis 集群环境搭建完整,包含使用示例

2022-02-24 17:19:33 877

原创 java并发编程 原子类Atomic及CAS详解(四)

原子类Atomic前面我们提到过,多线程的数据操作,如i++是不具备原子性的如:我也提到过 volatile特性可见,原子,有序性那么我们看下面的代码发现即使使用了volatile,结果依然是没有达到我们的预期。那么肯定有同学就说了,volatile不保证原子性,这个说法其实并不准确,我在并发编程第一章也提到过:对任意单个volatile变量的读/写具有原子性,但类似于volatile++这种复合操作不具有原子性要解决这个问题的方法有很多,如synchroni...

2022-01-25 16:20:21 564

原创 spring cloud alibaba 完整实现(四)gateway网关集成

前面的内容就不过多的回顾了,可以翻阅一下前面的spring cloud alibaba 完整实现系列,本章我们需要在原有基础上加入gateway网关的使用,以及常见的断言及过滤器设置,至于网关是什么,为什么要使用本章也不会详解,可自行百度,我们暂时还是以搭建为主,文末有源码链接1.新建一个项目,并加入启动类及yml文件2.引入gateway的依赖(因为在父pom中引入了spring cloud的版本,所以此次不需要指定具体版本,版本问题可以参考第一篇,注意gateway是...

2022-01-24 15:50:42 1891

原创 spring cloud alibaba 完整实现(三)参数传递详解及seata执行过程

前言这是spring cloud alibaba完整实现的第三章,在前面两章,我们已经将nacos,open feign,以及seata集成了。因为是以搭建环境为主,所以有很多代码写得相对比较简单,更多的是配置,那么实际使用的时候可能还是有很多疑问,这一章我就暂时把各类参数传递问题及seata执行时如何操作的进行记录与解释,方便使用,后续也是一样,一边集成各个组件,一边解决相关使用问题。参数传递上一章我们简单的添加用户及日志,参数传递并没有进行演示与说明,那么我们一起来看一下...

2022-01-18 15:35:17 526

原创 java并发编程 线程池理解及使用(三)

线程池定义 上一章我们了解了线程的定义及使用,java使用的是内核级线程,线程的创建,销毁及上下文切换是非常消耗内核资源,如果是一个简单的dome,那么我们使用线程只需要使用 new Thread创建线程使用没有问题,但是如果是生产环境,要保证我们的程序能够长期稳定运行就需要线程池,线程池其实就可以理解为多个线程的组合管理,设计理念和我们数据库的连接池一样的我们通过一个场景来了解:一个web应用,服务器会接收请求并处理响应到客户端,要保证各个请求之间独立访问,我们...

2022-01-13 17:57:16 560

原创 spring cloud alibaba 完整实现(二)集成openfeign 和分布式事务seata

spring cloud alibaba集成 openfeign 及seata实现微服务相互调用及分布式事务管理

2022-01-07 16:46:30 1898

原创 spring cloud alibaba 完整实现(一) 基础结构及nacos配置

spring cloud alibaba 最新项目搭建,本章基本框架搭建,集成nacos+mybatis plus等。

2022-01-05 11:11:07 2308 8

原创 java并发编程- java线程深入理解(二)

线程线程和进程进程:1.当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程2.进程可以理解为一个程序的实例,可以又多个(比如记事本,浏览器多开)也可以只有一个(比如360,电脑管家)3.操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源),进程是 资源分配的最小单位。 线程...

2021-12-30 14:57:08 338

原创 java并发编程-JMM及并发特性(一)

前言 前面已经把mysql 和 jvm相关知识做了一遍复习与梳理。这一章开始就开始java并发编程的知识记录与讲解,并发编程相对前面的内容,会更复杂,更难一些。我也梳理了很久的一个顺序以及需要说明的内容。不过没关系,付出总是有回报的,学习能够让自己更加强大。希望在学习完整个java并发编程后,能在工作和学习中有所帮助

2021-12-28 16:23:28 388

原创 spring cloud alibaba集成sentinel及版本问题处理

spring cloud alibaba实例及版本问题解决

2021-12-23 17:23:02 5108 2

原创 jvm常用参数设置

参数分类 标准参数 以 - 开头所有的JVM实现都必须实现这些参数的功能,且向后兼容 控制台 java -help 可以列出标准参数非标准参数以-X开头默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足 且不保证向后兼容 控制台 java -X 列出非标准参数 非稳...

2021-12-17 18:03:44 462 2

原创 jvm调优工具

调优命令 当我们的程序有卡顿,oom,死锁等等各种情况我们如果是自己写的代码,还能大概清楚出问题的代码在哪儿,如果你作为项目经理,具体业务代码并不清楚,要查找这些问题就需要jvm调优工具,当然也可以用以装逼。。。好了,那么我们一起来看下如何使用jvm的这些命令前置条件,本地开启一个java项目,什么项目都可以JPS jps命令语法:jps [options ] [ hostid ] 参数可以不写[options]参数:...

2021-12-15 16:59:40 720

原创 垃圾回收器详解

垃圾回收算法及垃圾回收器

2021-12-08 17:48:21 333

原创 jvm虚拟机及创建对象流程

JVMJVM是Java Virtual Machine(Java虚拟机)的缩写, 经常聊到 java 都会有几个名词:jdk,jre,jvm。 简单说一说他们的区别 jre java运行环境,java程序需要运行,就必须要jre jdk 程序编译调试的工具包,JDK的工具也是Java程序,也需要JRE才能运行 jvm java 虚拟机,也是jre 下面的一部分,一个虚拟的计算机,有完善的硬件架构。Java跨平台的特性就是通过 jv...

2021-12-03 17:20:08 644 2

原创 java 类的加载机制详解

类加载 java程序运行时类加载的方式和流程是: 编译 》加载 》验证 》准备 》解析 》初始化编译:将java代码编译为字节码文件加载:查找并通过io读入字节码文件,在内存中生出一个代表类的class对象,作为访问方法区的 输入入口,使用到类的时候才会加载验证:字节码的校验,是否正确准备:给类的静态变量分配内存,并赋予默认值解析:将符号引用替换为直接引用,静态链接过程初始化:对类的静态遍历,初始化指定值,执...

2021-11-29 17:35:48 1623

原创 java 位运算符

前言 做java那么多年,基础运算符,三目运算符,逻辑运算符等等都是用得很多,第一次听说位运算符还是看面试题了解的,当然也没有详细去了解,其实用得比较少吧,不过看到了还是有必要记录一下。位运算符: 一个七个 &(与) |(或) ^(异或) ~(取反) >>(右移) <<(左移) >>>(无符号右移) java中的位运算符只针对二进制,所以也可称为二进制运算符,也就...

2021-11-08 20:23:27 230 1

原创 MVCC 及Buffer Pool缓存机制详解

mvcc 首先我们来做一个实验,用实验结果来分析问题1.同时开启了五个事务开始执行,称为1,2,3,4,5事务吧2.修改第三个事务,将employees id=1的数据修改为333并提交3.第四个事务去查询刚才提交的第三个事务的结果,这个比较简单无异议4.我们再回到第一个事务,操作一下employees表id = 1的数据(刚才第三个事务提交过的请求)5 此时我们再用第四个事务查询下结果:没有提交,所以还是3336.提交第一个事务,再用第...

2021-11-05 09:15:20 139

原创 mysql 事务隔离级别与锁机制

事务 什么是事务? 事务是将一系列sql语句组合成一个逻辑处理单元,那么这一系列得sql语句需要满足事务的ACID属性: 1.原子性(因为事务是组合在一起的,期望应该是同时执行,要么全成功,要么都不成功) 2.一致性(事务开始到结束数据值一致,如开始获取a为1,在修改之前不能变成其他值,否则不满足事务一致性) 3.隔离性(事务操作期间内部数据对于外部是不可见的,不受外部影响) 4.持久性(事务的数据提...

2021-10-31 10:56:24 171

原创 mysql 索引优化实战

下面有一个示例的数据库,用示例来记录优化的一些点:create table employees( id int not null AUTO_INCREMENT, name varchar(20) not null default '' comment '姓名', age int not null default 0 comment '年龄', position varchar(20) not null default '' comment '职位', hire_t...

2021-10-20 15:36:37 335

原创 mysql explain 使用说明

explain 使用 explain 查询计划,MySQL用来分析查询语句使用。可以通过explain来分析sql是否需要优化。使用方式毕竟简单: explain 查询sql语句 如: explay select * from table参数说明(常用) id顺序(有可能重复,关联语句,如left join等)越大越先执行,可以观察sql的执行顺序 sel...

2021-10-18 17:38:07 188

原创 mysql 索引分类及使用原则详解

上一篇详细分析了mysql innerDB引擎索引得数据结构,本章我们来了解一下mysql的索引分类以及使用的情况及注意事项根据划分不同,可能平常经常听到各种各样的索引名称,每次搜索索引类型可能看到的都不一样(概念容易混淆),下面详细分析一下:索引分类:这个是网上找到的一篇比较完整的索引划分,可以参考一下(从数据结构角度划分)Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE...

2021-10-13 18:24:39 217

原创 深入理解mysql 底层索引数据结构

索引的定义 官网定义:索引是帮助MySQL高效获取数据的数据结构。说明其本质也是一种数据结构。(个人理解:可以把索引看成一本书的目录。把书中的内容按照某种方式排列,方便查找书中内容)注意,索引本身就是按某种方式(数据结构)排好序的 为什么要建立索引?首先理解一下为什么需要索引:mysql存储数据最终是存放再磁盘中,写入时间不一样,在磁盘中内存地址也各不相同,可能两条连着的数据,最后存放的位置相差特别远。正常去查询的时候,需要去磁盘中找出该数据,没有顺序...

2021-10-11 11:31:48 202

原创 技术之路第一篇---前言

蓄谋已久的技术文档,不光是分享自己的学习心得,方便自己记录,也希望能够帮助一些学习中的朋友们。首先谈谈感想吧..... 本人工作5,6年多一点,这五年混过,努力过,迷惘过,放弃过,java入门到放弃吧。。。。。曾经我也感觉作为一个程序员,每天写写bug,混混工资,看不到未来,想走管理却没有机会。总是认为别人都是机会主义获得的(不要看别人,说的就是你)。现在回想一下,一个好的程序员,应该是不断学习,不断进取才能达到更高的位置,得到更好的机会与待遇。毕竟是金子总会发光的嘛。...

2021-10-08 10:10:32 365

空空如也

空空如也

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

TA关注的人

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