自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计原则

面向对象的六大设计原则(开单介意嘴里)1、开闭原则 对扩展开放,对修改关闭 解读:在生活中我们几乎不会想着往一个已经修好的高楼加一个地下室,但是在软件开发过程中,但凡有点研发经验的小伙伴们应该都有这有的经历,那就是在已经上线的代码中加入新的需求。当然这源于客户不断的更新自己的个性化需求。这个时候如何快速的满足当前的客户的个性化需求的同时不影响已有功能的正常运行成为了攻城狮们关心的主题。 这时开闭原则隆重的登上了面向对象设计的历史舞台。 在java中我们主要依赖...

2020-09-03 22:05:56 109

原创 Centos7上安装Redis5

前置条件:准备一台可以连网的虚拟机,我这里用的Centos7,没有的话先行安装,参考另一篇博客查看是否可以连网,如下:

2021-06-14 23:42:11 550 1

原创 虚拟机安装

【需求驱动】所有的学习从需求开始,才能事半功倍。背景:在实际的工作过程中,服务大多是部署在linux服务器上的,因此我们学习的过程中尽可能模拟真实的环境去操作,这样才有可能最大学以致用...

2021-06-14 23:07:58 206

原创 Arthas学习笔记

目录1、问题2、是什么3、为什么要学3.1、支持线上反编译3.2、支持热部署3.3、可视化监控系统运行情况、JVM的实时运行情况3.4、快速定位热点问题,生成火焰图4、怎么用4.1、安装4.2、启动4.3、常用命令官方教程【需求驱动】所有的学习从需求开始,学习任何知识要想事半功倍,一定要先搞清楚它存在的意义和价值。1、问题案发现场:前两天刚上线了一个新功能,由于业务相对复杂,提供的是全自动的功能,对于客户来说都是接口直接操作,一个指令来了...

2021-04-10 20:34:50 266

原创 JVM参数详解

1、标准参数如下图:所有以“-”开头的参数,都是标准参数,所有版本都支持2、 非标参数如下图:-X开头的参数都是非标准参数3、不稳定参数如下图:以-XX开头的参数称为不稳定参数,部分版本的JVM支持想查询具体参数的时候,在命令末尾加 | grep xxx...

2021-04-05 15:45:49 189

原创 Jvm的运行时数据区

1、程序计数器(Program Counter)每个线程都有自己的程序计数器,用来存储即将要执行的指令。2、java虚拟机栈 (JVM Stacks)一个栈帧集,每个方法都有一个独立的栈帧【Frame】,栈帧的结构如下2.1 局部变量表(Local Variable Table)2.2操作数栈 (Operand Stack)2.3 动态链接(Dynamic Linking)举例method1中调用了method2,执行都method2();这行代码的时候,会根据一...

2021-04-05 15:42:31 154 1

原创 JVM的垃圾回收机制

目录1、什么是垃圾2、怎么找到垃圾2.1 引用计数法2.2 可达性算法3、怎么回收3.1 、标记清除算法3.2、拷贝算法3.3、标记压缩法1、什么是垃圾在JVM中,如果一个对象没有任何有效引用引用它,它就是垃圾。【说人话:就是生活中一件衣服没有任何活人可以穿,那它就是垃圾】2、怎么找到垃圾2.1 引用计数法概念:记录引用当前对象的指针个数,如果这个值是0,那它就是垃圾。【说人话:我要扔一件衣服,突然我发现这件衣服我爸能穿、我弟弟也能穿,那这个引用数值...

2021-04-05 14:44:44 113

原创 Java对象详解

1、对象的创建过程1.1、class loading(将类的class加载到内存中)1.2、class linking (对class的校验,以及对静态变量赋默认值)1.3、class initilizing (对象的静态变量赋初始值)1.4、申请对象内存(就是new Object())1.5、成员变量赋初始值1.6、调用构造方法(成员变量顺序赋初始化值、执行构造方法语句)2、对象的存储布局2.1、 普通对象2.1.1对象头 markword 占8字节2.1...

2021-04-05 12:19:58 419

原创 存储结构-缓存行-乱序问题

JMM(Java Memory Mode)1、存储器的层次结构图其中L0 L1 L2是CPU独有的,L3以上对于多个CPU来说是共享的。读数据的时候是自上而下,就近原则。2、缓存行(Cache line)2.1 什么是缓存行问题计算机内部缓存的最小单位是行,一般是64字节(512为),那么比如我们定义了两个变量 int a,b;这两个变量一共占8字节,我们先假设他存储在同一行,当CPU执行指令用到这两个变量的时候,如上图,先回读取到自己的私有缓存L2或L1,缓存的单位是一行,同.

2021-04-04 01:17:54 460

原创 JVM类加载器-加载类过程

1、Loading这一步很简单,就是将硬盘上的某一个二进制的class文件加载到内存中。2、Linking2.1 Verification校验,比如class文件的格式是否正确、内容是否安全2.2 Prepatation给class文件的静态变量赋默认值2.3 Resolution常量池里的符号引用转换成内存地址3、Initializing调用静态代码块,静态变量赋初始化值类加载器的层次,如下图:这里解释一下,所谓双亲委派机制,就是比如要加载一个...

2021-04-01 00:48:58 76

原创 责任链模式

顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。下面是一个具体案例,需求:去除聊天记录当中的 脚本、联系方式、敏感关键字实体类代码:import java.io.Serializable;public class Msg implements Serializable{ /** * */ pri...

2021-03-29 23:52:00 185 3

原创 PLSQL 使用小技巧

1、自定义SQL模板1.1 设置过程如下图,第三步找到自己本地的安装目录,在PlugIns 目录下新建short.txt,在short.txt中自定义自己的sql模板(详见1.2)1.2 sql模板,插入模板后,在sql窗口输入 sf 空格或回车 就会出自定义的sql脚本。sf=SELECT rowid,t.* FROM t t order by id desc;tct=to_char(t.create_time,'yyyy-MM-dd hh24:mi:ss'),sc=SELE...

2021-03-26 14:04:02 388 1

原创 观察者模式

目录1、抽象主题2、具体主题3、抽象观察者4、具体观察者5、测试类6、运行结果1、抽象主题public interface Subject { /** * @desc 注册观察者 * @date 2021年3月21日 * @param ob * @return void * @auther Bruce * @version 1.0 */ public void registObserver(ObServer ob); /**...

2021-03-21 00:41:59 94 2

原创 反转单项列表

public class MyNode { private Long value; private MyNode nextNode; public static void main(String[] args) { MyNode myNode = getMyNode(); // 反转前:MyNode [value=3, nextNode=MyNode [value=2, nextNode=MyNode [value=1, nextNode=null]]] System.out.p.

2021-03-17 00:17:36 199

原创 插入排序

目录1、需求2、思路3、代码1、需求排序数组:int[] arr = {76,75,82,4,6,1,3,5,23,4,2,3,4,12,34,32};2、思路0~1 范围有序,往左边看,小了就换 和冒泡正好相反0~2 范围有序,往左边看,小了就换...0~n 范围有序,以此类推,周而复始3、代码时间复杂度O()import java.util.Arrays;public class InsertSortCase { public static

2021-03-13 17:01:38 74

原创 冒泡排序

目录1、需求2、冒泡排序的思路:3、代码1、需求排序数组int[] arr = {76,75,82,4,6,1,3,5,23,4,2,3,4,12,34,32};2、冒泡排序的思路:这里的n指的时数组的长度 下标从0 到 n-1 中两两比较,谁大谁去后面 下标从0到 n-2 中两两比较,谁大谁去后面以此类推,周而复始....3、代码时间复杂度O()import java.util....

2021-03-13 16:39:46 95

原创 选择排序

1、需求:将arr从小到大排序int[] arr = {76,75,82,4,6,1,3,5,23,4,2,3,4,12,34,32};2、选择排序的思路: 从0 到 n-1 种找到最小值,然后和0位置的数交换一下,最后最小的就到了最左边 n * 2(看+比)+ 1(交换位置) 从1到 n-1 种找到最小值,然后和1位置的数交换一下,最后最左边的两个数实现有序 (n-1)* 2(看+比)+ 1(交换位置) 以此类推,周...

2021-03-13 16:01:51 88

原创 初识算法-数据结构

【需求驱动】What why how所有的学习从需求开始,学习任何知识要想事半功倍,一定要先搞清楚它存在的意义和价值1、什么是算法?What:【总而言之:算法就是解决指定问题的方案】 微观或数学的角度:计算方法,解决一道题的步骤。 宏观:一个需求的解决方案,实现过程。Why: 降低成本,提高效率How:通过数据结构来实现,数据结构是我们玩算法的基础,使我们解决问题的方案。数据结构的概念:数据通过特定的规则分布,或者说有规律的一组数据,方便查找。举个例...

2021-03-13 14:52:34 102

原创 Hadoop-hdfs入门-01

概述:hdfs:Hadoop Distributed File System(文件系统)和其他文件系统最大的区别,更好的支持分布式计算。1、hdfs的存储模型:1、文件线性按 字节 切割成块(block)存储,具有offset和唯一标识id2、文件与文件的block大小可以不一样3、一个文件的除了最后一个block,其他的block大小一致4、block的大小根据硬件的I/O特性做对应的调整5、block分散存储在不同的集群节点上,具有location6、Block具有.

2021-03-12 00:03:19 103

原创 大数据入门01

【需求驱动】所有的学习从需求开始,学习任何知识要想事半功倍,一定要先搞清楚它存在的意义和价值为什么要学习大数据?单机的瓶颈是什么?单机的瓶颈:IO、内存 始于Java面向对象的思维,一直到微服务倡导的高内聚低耦合,为了让资源得到合理的使用,每个独立的小服务我们都会单独部署,服务器的配置会根据该服务的业务量去做相应的升级和降级。一般小公司单机的配置都不会太高,这就导致如果某个需求产生了大量的数据,我们需要对这些数据做及时的甚至是实时的处理,单机的瓶颈瞬间暴露,各种卡【IO】和内存泄...

2021-03-11 23:39:37 87 3

原创 Easyexcel学习总结

1、概述Easyexcel是阿里开源的基于java一个操作excel的组件,两个主要的特点:操作简单、节省内存导出不需要提供模板,会根据实体类动态生成。2、快速上手,下面是一个简单的导出案列// 实体类@HeadRowHeight(25)@ColumnWidth(15)// 设置全局列宽,也可以加在字段上,设置每一列的列宽public class User implements Serializable { private static final long seri...

2021-03-05 20:54:18 870 1

原创 User自定义排序

需求:根据用户名称字典序排序 List<User> us = new ArrayList<>(); us.add(new User(3L, "", 13, "org3")); us.add(new User(2L, "abc2", 12, "org2")); us.add(new User(4L, "", 14, "org4")); us.add(new User(1L, "abc1", 11, "org1")); Collections.sort(us,

2021-03-05 14:59:58 136

原创 ORA-14400: inserted partition key does not map to any partition

报错信息:ORA-14400: inserted partition key does not map to any partition报错原因:数据库创建的分区过期了,新增一个分区即可,新增分区的sql如下:alter table table_name add partition P2021 values less than (TO_DATE(' 2022-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'));

2021-03-01 18:11:00 2616 2

原创 SpringBoot复习笔记之Web-03

目录1、引入依赖2、SpringBoot中Servlet的使用2.1 Servlet2.1.1 自定义一个servlet,代码如下:2.2.2 在启动类上添加注解@ServletComponentScan,并注入到容器中2.2 Filter,一般urlPatterns = "/*"2.3 Listener3、静态资源的配置1、引入依赖 <dependency> <groupId>org.springfra

2021-02-28 15:13:48 82 3

原创 SpringBoot复习笔记之配置-02

1 配置文件1.1 配置文件的类型*.properties*.yml / yaml<YAML教程> 注意:属性后面一定要加空格,否则不识别如果两种格式的配置文件都存在,properties 会把yaml覆盖。1.2配置的动态绑定@Value注解,加在属性上,将配置文件的种的某一个属性的值和实体类中的属性绑定。@ConfigurationProperties,加在类上面,批量注入1.3 配置文件的优先级file(当前项目根目录): /config/ap...

2021-02-28 12:59:21 111

原创 SpringBoot复习笔记之入门-01

官网:spring.io 快速构建地址:start.spring.io1 是什么官网的解释,一个web应用的快速启动器。个人理解:举个例子,我们以前做饭的时候,我们需要准备各种调料(花椒粉、姜粉...)自从有了十三香、五香粉,我们再也不用准备那么多的调料了,放十三香就可以了。十三香五香粉就是调料里面的springboot2 为什么要学为spring的开发者提供了更快捷的入门,提供了大量的starter( 启动器)开箱即用,提供各种默认配置,简化了项目的配置(*properties)..

2021-02-28 09:35:14 160

原创 Jvm复习-01

java从编码到执行x.java 通过javac这个命令,会编译成一个x.class,最后通过ClassLoader加载到Jvm中,通过字节码解释器或者JIT(即时编译器)编译后,交给执行引擎,最后直接调用硬件执行。1 什么是JVMjvm是一套规范,不同的大公司有自己的实现,它其实和java本身没有太大关系,只与class文件有关系,所有的语言,只要可以转换成class文件,JVM都可以执行。所以说JVM其实是一个跨语言的平台。而Java是一门跨平台的语言(即同一段Java代码,在windo..

2021-02-28 08:46:02 86

原创 ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB

问题原因:之前数据库表中的字段为类型为varchar,后来因为长度不够问题修改为clob. 数据库字段类型修改以后,新增什么修改没有问题,之前页面有一个通过该字段唯一校验的接口,SQL: select * from TABLE_NAME t where t.field= 'value'; oracle数据库clob类型是不允许使用 “=”比较的,解决方案:将sql改为:select * from TABLE_NAME t where t.field like 'va...

2021-02-22 13:54:22 4459

转载 RabbitMq控制台详解

转载:原文链接https://blog.51cto.com/536410/2389877overview→Totals所有队列的阻塞情况Ready:待消费的消息总数Unacked:待应答的消息总数Total:总数 Ready+UnackedPublish:producter pub消息的速率。Publisher confirm:broker确认pub消息的速率。Deliver(manual ack):customer手动确认的速率。Deliver( auto ack):cust...

2020-12-18 15:55:57 3187 3

原创 经典收藏

《逆袭大学》《洛克菲勒给孩子的38封信》

2020-11-03 19:01:04 64

原创 Seata-入门

一、Seata是什么 Seata是一款由阿里开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。为用户提供了 AT 、TCC、 SAGA和XA事务模式,打造一站式分布式事务解决方案。二、Seata 术语TC(Transaction Coordinator) - 事务协调者,主要作用是 维护全局和分支事务的状态,驱动全局事务提交或回滚。TM(Transaction Manager) - 事务管理器,主要作用 定义全局事务的范围,开始全局事务、提交或回滚全局事务。...

2020-10-09 16:09:26 407

原创 分布式事务

概念 分布式事务是指事务的参与者【1个或多个】和事物管理器【一个或多个】分布在不同的服务器【或者说节点】,而一个事务关联的多个操作必须都成功或都失败,即满足【事务的四大特性】 用人话说:一项大的任务由多项小任务组成,而每个小任务又由不同的个体负责。分布式事务的主要工作就是保证这个大任务关联的所有小任务要么全部成功要么全部失败。实现方式一、AT【分布式事务Seata-AT模式】二、TCC【Try Confirm Cancel】两阶段提交三、SAGA...

2020-10-09 14:57:30 64

原创 事务的四个特性

事务的概念: 事务是一组不可分割的操作集合(比如:转账,A账号扣钱和B账户加钱是一个整体),一个事务关联的所有操作比如全部成功或全部失败。一、原子性 Atomicity 指的是一个事务中的所有操作要么全部提交成功,要么全部失败。不能出现部分成功、部分失败的情况。二、一致性 Consistency 事务的执行不能影响数据库数据的完整性和一致性,数据必须从一个一致性状态到另一个一致性状态。比如转账:A给B转100,那么转之前和转之后,A和B账户的总和必须...

2020-10-09 14:14:48 254

原创 今天,我开始新的生活

原文: 今天,我开始新的生活。 今天,我爬出满是失败创伤的老茧。 今天,我重新来到这个世上,我出生在葡萄园中,园中的葡萄任人享用。 今天...

2020-09-27 02:25:14 384

原创 《掌控习惯》

生活大部分的人都认为人是习惯的产物,可见习惯的重要性,而我们在打造习惯体系的过程,大部分的人往往高估了决定性的时刻而低估了每天微不足道的进步。导致在养成好习惯和戒掉坏习惯的路上越走越远却迟迟看不到希望。1、打造习惯的两大阶段、四大核心步骤:任何的习惯都可以拆解成这是个步骤,无论是养成好习惯还是戒掉坏习惯都从这四步下功夫。 系鞋带的习惯:感觉鞋要掉了(提示);希望走起路来更轻松,而不是被鞋拖着(渴求);弯腰开始系鞋带(反应);再走路的时候果然舒服了(奖赏) ...

2020-09-26 23:49:41 466

原创 使用gitee托管代码

1、注册Gitee账号,一键注册(输入用户名、邮箱或手机号进行注册,注册完成以后需要绑定手机号)2、设置SSH秘钥,用于和本地建立连接复制上图命令 ssh-keygen -t rsa -c "yourself@sina.com" (红色部分需要更改为自己的邮箱),在终端执行这条指令【终端安装】输入命令连续回车即可,如下图:会在C盘用户目录下生成一个 .pub文件,内容为秘钥复制公钥(任意编辑器打开均可复制)到第三步的位置,如下图:点击完确定,需要输入...

2020-09-25 12:00:17 1656

原创 快速创建SpringBoot项目

一键创建1、如下图:选择SpringBoot 版本,填写项目坐标,项目名称,选择JDK版本2、添加基础依赖,如下图:点击Add,如下图:搜索要添加的依赖,如下图:添加mybatis ,选择并添加依赖,单击Generate,即可生成项目代码,解压导入Eclipse或其他开发工具即可。...

2020-09-24 23:46:01 114

原创 SpringBoot项目debug启动默认断点

使用eclipse开发SpringBoot项目,Debug启动main方法会默认进一个断点,如下图:解决方法:Window -> Preferences -> Java -> Debug 将第一个对勾去掉,即可

2020-09-24 23:30:24 1151

原创 Linux常用命令

一、目录操作相关cd dirname 切换目录ls 现实文件或目录属性pwd 显示当前目录mkdir dirname 创建文件夹touch filename 创建文件cp 复制文件或文件夹mv 移动文件,如果是同一目录操作,就是重命名rm 删除命令 -r 递归 -f强制二、授权相关chown 更改文件拥有者chmod 更改文件权限 r=4 w=2 x=1 rwx表示可读可写可执行三、开机重启shutdown -r关机重启 -h关机不重启 n...

2020-09-14 23:43:36 87

原创 Maven实战

开发工具中的配置Eclipse配置Idea配置Maven工程的类型【1】POM工程 POM工程是逻辑工程。用在父级工程或聚合工程中。用来做jar包的版本控制。【2】JAR工程 该工程最后将会打包成jar,用作jar包使用,SpringBoot的工程有内置Tomcat,可以直接运行。 【3】WAR工程 ...

2020-09-09 22:46:17 534

空空如也

空空如也

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

TA关注的人

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