自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FutureTask的使用方法及实现原理,Java后端路线图

this.state = NEW; // ensure visibility of callable}在FutureTask的构造函数中,对声明为volatile的state变量进行赋值操作后,callable变量也会变得对于其他线程可见。2. 用一个Treiber栈保存等待线程Treiber栈是一个无锁数据结构,FutureTask中的waiters变量指向这个栈的栈顶。名字有点吓人,其实很简单,就是一个无锁的线程安全的栈。入栈操作只通过一步CAS操作实现,即修改栈顶指针waiters;出栈和在栈

2022-04-22 16:47:28 825

原创 C语言的三子棋,用22天总结了一份完美的SQL学习笔记

}else{printf(“该输入的坐标已经被占用\n”);}}else{printf(“输入坐标错误\n”);}}}[](()电脑下棋电脑设置两个随机值,再将进行条件判断void ComputerMove(char board[ROW][COL], int row, int col){printf(“电脑走>\n”);while (1){int x = rand() % row;int y = rand() % col;if (board[x][y] ==

2022-04-22 16:45:43 1408

原创 Ceph实战(一)-分布式存储介绍与原理架构概述

Libradio:为 Rados 提供库,因为 RADOS 是协议很难直接访问,因此上层的 RBD、RGW 和 CephFS 都是通过 librados 访问的,目前提供 PHP、Ruby、Java、Python、C和C++支持。CRUSH:Ceph 使用的数据分布算法,类似一致性哈希,让数据分配到预期的地方。RBD:全称 RADOS block device,是 Ceph 对外提供的块设备服务。RGW:全称 RADOS gateway,是 Ceph 对外提供的对象存储服务,接口与 S3 和 Swif

2022-04-21 13:04:29 374

原创 Alibaba内部流行的“Java突击宝典”

1.JVM基础调优2.常见框架源码(Spring+SpringMVC+Mybatis)3.消息中间件(MQ+Kafka)4.微服务5.Netty4-5年:提升技术广度与深度==============1.性能调优2.微服务3.分布式场景问题4.项目实战高仿小米商城项目Java开源项目【ali1024.coding.net/public/P7/Java/git】 Alibaba订单管理系统项目[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上

2022-04-21 13:00:25 602

原创 2021最新最全Java基础高频面试题汇总(1W字详细解析)

LinkList是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList.当然,这些对比都是指数据量很大或者操作很频繁。12、 HashMap和HashTable的区别(1)两者父类不同HashMap是继承自AbstractMap类,而Hashtable是继承自Dictionary类。不过它们都实现了同时实现了map、Cloneable(可复制)、Serializable(可序列化)这三个接口。(2)对外提供的接口不同Hashtable比

2022-04-21 12:51:54 159

原创 2020年4面美团(多线程+redis

[](()美团Java岗三面(技术面,约60分钟)=======================================================================================项目介绍。最有技术难度的项目,介绍下相关核心设计流程。分布式下redis如何保证线程安全?redis持久化的方式以及区别?zookeeper如何实现分布式锁、其他分布式锁怎么实现?kafka的架构,如何用kafka保证消息的有序性?数据库的优.

2022-04-21 12:49:42 1945

原创 Docker下,两分钟极速体验Nacos配置中心

下面是《Spring Cloud Alibaba实战系列》的所有文章地址:[《Docker下,两分钟极速体验Nacos》](();[《Docker下的Nacos环境开发》](();[《Docker下,两分钟极速体验Nacos配置中心》](();[《Docker下Nacos配置应用开发》](();[](()关于Nacos的动态配置服务动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置,Nacos 提供了一个简洁易用的UI 帮助您管理所有的服务和应

2022-04-20 13:47:54 152

原创 CDH+Kylin三部曲之三:Kylin官方demo

SSH登录CDH服务器切换到hdfs账号:su - hdfs执行导入命令:${KYLIN_HOME}/bin/sample.sh导入成功,控制台输出如下:[](()检查数据检查数据,执行beeline进入会话模式(hive官方推荐用beeline取代Hive CLI):在beeline会话模式输入链接URL:!connect jdbc:hive2://localhost:10000,按照提示输入账号hdfs,密码直接回车:用命令show tables查看当前..

2022-04-20 13:46:21 70

原创 CAT客户端如何从Apollo中读取配置?

JDK 8spring boot 2.0.7.RELEASEcat-client 3.0.0apollo-client 1.3.0[](()去除Apollo对CAT的依赖众所周知,Apollo对CAT是有依赖的,但不是强依赖,而是使用了SPI技术,只有项目里引用了cat-client才会生效。目前我们想把CAT客户端配置放在Apollo里,也就是在CAT客户端初始化之前从Apollo读取相应配置,这就形成了循环依赖,所以首先要去除A 《一线大厂Java面试题解析+后端开发学习笔..

2022-04-20 13:44:51 237

原创 BS-GX-016基于SSM实现教材管理系统

教材入库:付款记录管理:教材统计:教师角色登陆:教师领取教材:教师领取的教材:![](https://img-blog.csdnimg.cn/20210208130607134.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doaXJsd2luZDUyNg==,size_16, 《一线大厂Java面试题解析+后端开发学习笔记

2022-04-20 13:43:04 226

原创 Alibaba最新出品Java面试手册,号称金九银十面试“完美日记

JVM(87道)========MySQL(83道)==========Redis(50道)==========MongoDB(95道)============Spring(131道)============面试题实在太多了,如果您看到这里懒得往下看的话,需要免费获取这套面试的同学麻烦帮忙点赞+转发文章后,然后私信我【面试】获取!Spring Boot(92道)================Spring Cloud(135道)==================..

2022-04-20 13:41:23 1822

原创 985应届进大厂,后端开发两年被裁,对前路迷茫的我

后果可想而知,在这家公司待了2年,自身技术更新不及时,加上恰巧碰到互联网环境遇冷,被裁了。公司伙食很好,待遇也不错,行业内口碑也非常nice,公司以生产精品为荣,但最终还是败给了资本,连最值钱的电商业务也卖掉了。离开是新的开始?========被裁之后,算是对杭州心灰意冷,离开的那天,天也灰蒙蒙的,我非常清楚自己在这座城市生存的自信力已经被摧毁掉了,唯一的解决办法,就是换一个城市生活。没有太多犹豫的,毅然决然买了高铁票去了深圳,或许这座生命力旺盛的一线城市能够给我带来不一样的开始。..

2022-04-20 13:39:06 534

原创 2021年最新基于Spring Cloud的微服务架构分析

在客户端负载均衡中,所有客户端节点都维护着自己要访问的服务端清单,而这些服务端的清单来自于服务注册中心(比如Eureka)。在客户端负载均衡中也需要心跳去维护服务端清单的健康性,只是这个步骤需要与服务注册中心配合完成。通过Spring Cloud Ribbon的封装,我们在微服务架构中使用客户端负载均衡调用只需要如下两步:服务提供者只需要启动多个服务实例并且注册到一个注册中心或是多个相关联的服务注册中心服务消费者直接通过调用被@LoadBalanced注解修饰过的RestTemplate来实现

2022-04-20 13:32:56 214

原创 10年Java开发经验,超过500人面试阿里的同学,总结出这108道面试题

2. innodb和myisam存储引擎的区别3. 索引分类(主键、唯一索引、全文索引、覆盖索引等等),最左前缀原则,哪些条件无法使用索引4. B树、B+树区别,索引为何使用B+树5. 聚集索引与非聚集索引(使用非聚集索引的查询过程)6. 事务的ACID(原子性、一致性、隔离性、持久性)7. 事务隔离级别和各自存在的问题(脏读、不可重复读、幻读)和解决方式(间隙锁及MVCC)8. 乐观锁和悲观锁、行锁与表锁、共享锁与排他锁(inndob如何手动加共享锁与排他锁)9. MVCC(增加两个版本号)

2022-04-20 13:30:41 862

原创 10 个冷门但又非常实用的 Docker 使用技巧

5. docker update当你 docker run 了之后却发现里面有一些参数并不是你想要的状态比如你设置的 nginx 容器 cpu 或者内存太小,这个时候你就可以使用 docker update 去修改这些参数。~ docker update nginx --cpus 26. docker history当你修改了一个镜像,但是忘记了每一层的修改命令,或者你想查看一个镜像是怎么构建的时候就可以使用这个命令,比如:~ docke

2022-04-20 13:28:30 283

原创 69-个经典-Spring-面试题和答案详解(下)

类型用于注入一组值,不允许有相同的值。 类型用于注入一组键值对,键和值都可以为任意类型。类型用于注入一组键值对,键和值都只能为String类型。31. 什么是bean装配?装配,或bean 装配是指在Spring 容器中把bean组装到一起,前提是容器需要知道bean的依赖关系,如何通过依赖注入来把它们装配到一起。32. 什么是bean的自动装配?Spring 容器能够自动装配相互合作的bean,这意味着容器不需要和配置,能通过Bean工厂自动处理bean之间的协作。33. ...

2022-04-19 12:54:55 390

原创 30 网站架构师职场攻略

是公司里如果有个吃人的怪兽,悄悄地把此类架构师都吃光了,也没人会发现。[](()3 按职责角色划分架构师产品架构师负责具体互联网产品的技术架构。当产品业务规划确定后,产品架构师就要开始产 品的架构设计了,和运营团队确定pv数、用户数、商品数等产品运营目标、发展规划、 非功能指标;和产品经理确定功能需求、模块划分等功能目标;和项目经理确定各种开 发资源。获得必要的信息后进行整体架构设计,参与项目开发。产品架构师一般会参与 产品的整个生命周期。基础服务架构师 有时候也被称为平台架构师,负责开发基

2022-04-19 12:51:14 104

原创 2021最新最全Java基础高频面试题汇总(1W字详细解析)

}public void sayHello() {System.out.println(“Hello”);}}class Son extends Father{@Overridepublic void sayHello() {// TODO Auto-generated method stubSystem.out.println("hello by ");}}复制代码重写 总结:( 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 1)发生在

2022-04-19 12:48:53 391

原创 2021最新Spring Boot 面试题

public void setConnectionRequestTimeout(Integer connectionRequestTimeout) {this.connectionRequestTimeout = connectionRequestTimeout;}public Integer getSocketTimeout() {return socketTimeout;}public void setSocketTimeout(Integer socketTimeout) {this.s

2022-04-19 12:46:38 92

原创 eclispe的快捷键大全

全局 恢复上一个选择 Alt+Shift+↓全局 剪切 Ctrl+X全局 快速修正 Ctrl1+1全局 内容辅助 Alt+/全局 全部选中 C 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 trl+A全局 删除 Delete全局 上下文信息 Alt+?Alt+Shift+?Ctrl+Shift+SpaceJava编辑器 显示工具提示描述 F2Java编辑器 选择封装元素 Alt+Shift+↑Java编辑器 选择上一个元素 Alt+Shift

2022-04-18 13:21:51 90

原创 echart之全国地图切换省级地图

这是在基础地图地图的基础上结合echarts2的改进版本,echarts2中的版本只有左上角的全国地图的比较简单的实例代码。 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 现在的比较完善(点击全国地图上的省显示对应省内各市的热力分布,对应的全国地图和省级地图的位置大小都会相应的变化,然后再点击右上角的返回全国按钮的时候,隐藏省级地图,全国地图回复原来的大小的位置。)首先定义几个数据变量:province_data:全国地图对应的各省的地图数据。city_d.

2022-04-18 13:19:55 2148

原创 Docker系列(2)--容器和镜像的使用

我们可以通过运行 exit 命令或者使用 CTRL+D 来退出容器。[](()三、启动容器(后台模式)docker run -d ubuntu:15.10 /bin/sh -c “while true; do echo hello world; sleep 1; done”2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什

2022-04-18 13:17:33 80

原创 Docker入门简介

一次构建,随处运行更快速的应用交付和部署更便捷的升级和扩缩容更简单的系统运维更高效的计算资源利用[](()3.相关资源=====================================================================官网: http://www.docker.com仓库: https://hub.docker.com[](()4.docker安装的前提环境=====================================

2022-04-18 13:15:18 237

原创 HashMap + 软引用进行缓存

二、软引用(SoftReference)与弱引用(WeakReference)软引用:如果一个对象只具有软引用,而当前虚拟机堆内存空间足够,那么垃圾回收器就不会回收它,反之就会回收这些软引用指向的对象。弱引用:垃圾回收器一旦发现某块内存上只有弱引用(一定请注意只有弱引用,没强引用),不管当前内存空间是否足够,那么都会回收这块内存。三、代码实例(强引用VS软引用)现在的管理系统里,为了提升性能,往往会加入缓存,将部分常用的数据缓存到内存中,这样用于在访问时,会直接从内存中取出,降低数据库的访问量,

2022-04-17 12:43:47 473

原创 git(7)自定义 Git

这里举一个简单的例子:在暂存前,用indent(缩进)程序过滤所有C源代码。在.gitattributes文件中设置"indent"过滤器过滤*.c文件:*.c filter=indent然后,通过以下配置,让 Git 知道"indent"过滤器在遇到"smudge"和"clean"时分别该做什么:$ git config --global filter.indent.clean indent$ git config --global filter.indent.smudge cat于是,当你..

2022-04-17 12:42:17 860

原创 Flink处理函数实战之三:KeyedProcessFunction类

最后是整个逻辑功能的主体:ProcessTime.java,这里面有自定义的KeyedProcessFunction子类,还有程序入口的main方法,代码在下面列出来之后,还会对关键部分做介绍:package com.bolingcavalry.keyedprocessfunction;import com.bolingcavalry.Splitter;import org.apache.flink.api.common.state.ValueState;import org.apache.fl.

2022-04-17 12:40:39 324

原创 ELK + Filebeat + Kafka 分布式日志管理平台搭建

log_source: authorizationtype: logenabled: truepaths:/var/logs/springboot/sparksys-gateway.logfields:log_source: gatewaytype: logenabled: truepaths:/var/logs/springboot/sparksys-file.logfields:log_source: filetype: logenabled: true

2022-04-17 12:39:01 1880

原创 Elasticsearch Query DSL概述与查询、过滤上下文

从本节开始,先详细介绍Elasticsearch Query DSL语法,该部分是SearchAPI的核心基础之一。Elasticsearch提供了一个基于JSON的完整查询DSL(领域特定语言)来定义查询。把查询DSL看作是查询的AST(抽象语法树),由两种类型的子句组成:Leaf query clauses(叶查询字句)叶子查询子句指在特定的字段中寻找特定的值,例如匹配、范围查询或term(完全匹配)。这些查询 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义

2022-04-17 12:36:44 155

原创 DDD领域驱动设计实战-分层架构及代码目录结构

[](()1.1 分层架构的基本原则每层只与位于其下方的层发生耦合。[](()1.2 分层架构的分类严格分层架构(Strict Layers Architecture)某层只能与其直接下层耦合,即我的奴隶的奴隶,不是我的奴隶。松散分层架构(Relaxed Layers Architecture)允许任意上层与任意下层耦合。由于用户接口层和应用服务通常需要与基础设施打交道,许多系统都是该架构。较低层有时也可与较高层耦合,但只限于采用观察者 (Observer)模式或者调停者(Med

2022-04-17 12:33:35 3798 1

原创 Canal 如何实现数据库库事务的一致性

在 Canal 中关于事务 Event 的环形缓存区实现类为 EventTransactionBuffer。[](()1.1 类图EventTransactionBuffer 的类图如下:根据类图我们可以到其存储结构还是比较简单的。int bufferSize环形缓存区的长度,默认为 1024,该长度必须为 2 的幂次方,因为对位运算非常友好。int indexMask环形缓存区下标掩码,其值为 bufferSize - 1 ,sequence * indexMask 能快速定位序号 s

2022-04-17 12:31:47 721

原创 ActiveMQ详细入门教程系列(一)

可以使用消息优先级来指示JMS Provider首先提交紧急的消息。优先级分10个级别,从0(最低)到9(最高)。如果不指定优先级,默认级别是4。需要注意的是,JMS Pro 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 vider并不一定保证按照优先级的顺序提交消息。[](()6.2 消息过期可以设置消息在一定时间后过期,默认是永不过期。[](()6.3 临时目的地可以通过会话上的createTemporaryQueue方法和createTemporar

2022-04-17 12:27:14 496

原创 SpringBoot+WebSocket实时监控异常

项目结构是这样子的,后面的代码关键注释都有,就不重复描述了1、新建SpringBoot工程,选择web和WebSocket依赖2、配置application.yml1 2 3 4 5 实时监控6 7 8 .item {9 display: flex;10 border-bottom: 1px solid #000000;11 justif

2022-04-15 16:56:11 638

原创 Spring Cloud入门教程-使用Hystrix Dashboard 监控熔断器的状态

注意:这里用到的项目都是在之前几篇文章讲解用到的项目工程基础上进行的,在这一系列博客写完后会提供源码地址。项目源码及相关说明请查看此文:[Spring Cloud入门教程-简介](()在微服务架构中,为了保证服务实例的可用性,防止服务实例出现故障导致线程阻塞,而出现了熔断器模型。熔断器的状况反映了一个程序的可用性和健壮性,它是一个重要指标Hystrix Dashboard是监控 Hystriⅸx的熔断器状况的一个组件,提供了数据监控和友好的图形化展示界面。本节在上一节的基础上,以案例的形式讲述如何使用

2022-04-15 16:54:42 589

原创 Spring Cloud Gateway过滤器精确控制异常返回(实战,控制http返回码和message字段)

| git仓库地址(ssh) | git@github.com:zq2599/blog_demos.git | 该项目源码的仓库地址,ssh协议 |这个git项目中有多个文件夹,本篇的源码在spring-cloud-tutorials文件夹下,如下图红框所示:spring-cloud-tutorials文件夹下有多个子工程,本篇的代码是gateway-change-body,如下图红框所示:[](()第一种:抛出ResponseStatusException异常打开gateway-ch

2022-04-15 16:52:53 676

原创 Redis高可用之主从复制实践

如果master有密码masterauth 2021启动从服务器时开启redis-server启动命令后加入参数 --slaveof ,如果master有密码,则需要加入密码参数。 --requirepass 最终的启动命令如下:redis-server.exe ./redis.conf --slaveof 127.0.0.1 6379 --masterauth 2021客户端处执行命令开启 在Redis客户端如redis-cli 中执行命令 slaveof 来指定主服务器,如果m

2022-04-15 16:51:15 147

原创 Redis开发常用规范

[](()3.规范Key的格式合适的key,便于查看,统计,排错。 比如:| 网关 | GW || :-- | :-- || 平台名 | 平台缩写 |“平台缩写“+“:”+“项目名”+“:”+“业务含义” 例如:GW:TRADE:USERID GW是新网关,TRADE是交易项目,USERID为业务ID。“:”-作为key分隔符,方便客户端工具作为目录分级[](()4.存储的Key一定要设置超时时间如果应用将Redis定位为缓存Cache使用,对于存放的Key一定要设置超时时间!因为若不设

2022-04-15 16:48:59 222

原创 Nginx主要功能及使用

location / {proxy_pass http://localhost:8080;proxy_set_header Host host:host:host:server_port;}}保存配置文件后启动 Nginx,这样当我们访问 localhost 的时候,就相当于访问 localhost:8080 了。[](()二、负载均衡负载均衡也是 Nginx 常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行,例如:Web服务器、[FTP服务器](()、企业关键应用服务器和其

2022-04-15 16:47:16 912

原创 MySQL最全整理(面试题+笔记

1.3 MySQL 面试题(高级进阶部分):请解释关系型数据库概念及主要特点?请说出关系型数据库的典型产品、特点及应用场景?请解释非关系型数据库概念及主要特点?《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 请说出非关系型数据库的典型产品、特点及应用场景?请详细描述 SQL 语句分类及对应代表性关键字。请详细描述 char(4)和 varchar(4)的差别。如何授权 oldboy 用户从 172.16.1.0/24

2022-04-15 16:45:21 679

原创 mysql sql语句大全

12、说明:使用外连接A、left (outer) join:左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.cB:right (outer) join:右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。C:full/cross (outer) join:全外连接:不仅包括符号连接表的匹配行,还包

2022-04-15 16:43:01 465

原创 MyCat教程【简单介绍】

Mycat 是阿里原应用 corba 转型而来的.[](()3.3 市场应用MyCat 在互联网应用中占比非常高.[](()二、MyCat中的概念介绍============================================================================[](()1. 切分逻辑上的切分. 在物理层面,是使用多库[database],多表[table]实现的切分.[](()1.1 纵向切分/垂直切分就是把原本存储于一个库的数据存储到多个库上.

2022-04-15 16:40:47 68

空空如也

空空如也

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

TA关注的人

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