自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一套仿阿里完整版Spring Boot电商项目,前后端分离+权限管理系统

项目简介1、项目背景2、 B2B 模式3、 B2C 模式 ==(商城模式)*==4、 C2B 模式5、 C2C 模式6、 O2O 模式2、商城架构图2.1、前后端分离 基础版2.3、微服务三高架构版3、前置知识1、项目背景5中常见的电商模式 ==B2B== 、==B2C==、==C2B==、==C2C==、==O2O== ;2、 B2B 模式Business to Business, 是指商家与商家建立的商业关系, 如:阿里巴巴3、 B2C 模式 ==(商城模式)*==Business to Consume

2022-06-20 14:21:12 203

原创 为什么大厂前端监控都在用GIF做埋点?

一般来讲一个成熟的产品,运营与产品团队需要关注用户在产品内的行为记录,通过用户的行为记录来优化产品,研发与测试团队则需要关注产品的性能以及异常,确保产品的性能体验以及安全迭代。如果这篇文章有帮助到你,❤️关注+点赞❤️鼓励一下作者一般来讲一个成熟的产品,运营与产品团队需要关注用户在产品内的行为记录,通过用户的行为记录来优化产品,研发与测试团队则需要关注产品的性能以及异常,确保产品的性能体验以及安全迭代。所以前端监控一般也分为三大类:统计这些数据是有意义的,比如我们知道了用户来源的渠道,可以促进产品的推广,知

2022-06-18 20:25:33 125

原创 MySQL夺命16问,你能坚持到第几问?

MySQL在面试中经常被问到,本文总结了面试中的经典问题。

2022-06-18 20:23:20 88

原创 完整版来了!阿里Dubbo技术负责人准备的源码教程,很有大厂风格

Dubbo因为良好的设计和扩展性受到许多开发者的欢迎,然而当开发者需要深入了解Dubbo底层的架构设计和实现的时候,往往会有些不知所措。网上也有很多爱好者撰写的源码分析等文章,虽有所有启发和裨益,但总觉得不够成体系。令人遗憾的是,市面上始终缺乏完整的、体系化的对Dubbo进行深入原理剖析的教程;今天给大家带来一份阿里Dubbo框架技术负责人亲笔的学习教程,这份教程从Dubbo的入门,一直到开发第一款应用程序,再扩展到Dubbo的技术生态,完整且体系的将Dubbo进行一个全面的讲解,下面我们来看看教程的内容:

2022-06-18 20:17:25 110

原创 简历应该怎么写?HR看一篇简历仅需要5秒吗?简历模板大全分享

1、2、3、4、5、6、7、8、9、私信面试免费获取

2022-06-18 20:03:34 196

原创 底层技术揭秘:java调试工具实现原理与使用技巧

相信每一个程序员应该都有一个大厂梦,但是不知道如何进入大厂,或者说是技术栈和项目经验达不到大厂的要求!那就有人问了,那怎么样才能进入大厂呢?进入大厂的话都有哪些要求呢?小编,就给大家简单介绍一下,要想进入大厂需要达到的要求!总结起来一共有四点:1.学历;2.技术栈+项目经验;3.心理素质+思维转变;4.面试技巧;很多人会比较关心大厂招聘对学历有没有要求,一般的要求都是怎样的。今天就简单说一说。其实目前对于很多大厂来说,对学历都是有要求的,毕竟现在大厂有一定的竞争优势,通过学历可以筛选掉一部分人。虽然学历不好

2022-06-18 19:44:58 154

原创 10 个牛逼的单行代码编程技巧,你会用吗?

本文列举了十个使用一行代码即可独立完成(不依赖其他代码)的业务逻辑,主要依赖的是Java8中的Lambda和Stream等新特性以及try-with-resources、JAXB等。1、对列表/数组中的每个元素都乘以22、计算集合/数组中的数字之和3、验证字符串是否包含集合中的某一字符串4、读取文件内容原作者认为try with resources也是一种单行代码编程。5、输出歌曲《Happy Birthday to You!》 - 根据集合中不同的元素输出不同的字符串6、过滤

2022-06-17 21:45:54 596

原创 MySQL中length()、char_length()的区别和用法

在MySQL中length(str)、char_length(str)都属于判断长度的内置函数,根据其得到字符串的长度。这两个方法的区别是我们面向SQL编程时容易采坑的地方,本文带你通俗易懂的了解这两个知识点。1.计算单位:字符2.不管汉字还是数字或者是字母都算是一个字符1.计算单位:字节2.utf8编码:一个汉字三个字节,一个数字或字母一个字节。3.gbk编码:一个汉字两个字节,一个数字或字母一个字节。(1)查看某字符串的长度(比如本站网址)(2)查询应用表(app_info)中标题(appName

2022-06-17 21:43:25 1383

原创 一文搞懂 Spring JPA

大家好,今天我和大家聊一下关于Spring JPA 的相关知识,我们先来了解下什么是 JPA ?JPA (Java Persistence API) 是 Sun 官方提出的 Java 持久化规范。它为 Java 开发人员提供了一种对象/关联映射工具来管理 Java 应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合 ORM 技术,结束现在 Hibernate,TopLink,JDO 等 ORM 框架各自为营的凌乱局面。JPA 在充分吸收了现有 Hibernate,TopLink,JDO 等O

2022-06-17 21:33:45 103

原创 阿里后端优化这么恐怖?看完这20W字Java性能实战经验手册,最少P7

之前有朋友说,“我们公司的系统从来都没有经过性能调优,集成测试没问题后就上线了,上线后也几乎没出现过性能问题。”其实没遇到性能问题不代表程序不存在性能问题,只能说明系统的访问量有点小。微博瘫痪不就是因为短时间内访问量暴增后,系统扛不住,就出现性能瓶颈了吗!性能优化是个系统性工程,对工程师的技术广度和深度都有要求。它不仅需要你精通编程语言,还需要深刻理解操作系统、JVM 以及框架原理的相互作用关系,需要你多维度、全方面地去分析排查。此外,很多人能够遇到问题解决问题,但救火式治理只能临时补救表面问题,无法真正找

2022-06-17 21:23:46 67

原创 Java反射是什么?相信你看这篇绝对会了

反射就是把Java的各种成分映射成相应的Java类。Class类的构造方法是private,由JVM创建。反射是java语言的一个特性,它允程序在运行时(注意不是编译的时候)来进行自我检查并且对内部的成员进行操作。例如它允许一个java的类获取他所有的成员变量和方法并且显示出来。Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息。(来自Sun)JavaBean 是 reflecti

2022-06-17 21:18:07 108

原创 4年Java经验,五面阿里艰苦经历(定薪45K),回馈一波心得体会

准备跳槽,先后面试了各大小公司,拿了一些offer,有阿里,滴滴,快手,达达,得物等公司。面试的公司大部分都能过,所以这里给大家分享下自己的经验,也给自己做个归档,希望能给正在准备跳槽,找工作的朋友一点帮助,这里主要分享下阿里面试的经历!​编辑切换为居中添加图片注释,不超过 140 字(可选)阿里一面自我介绍,聊项目, 这边挺常规的,从项目入手。解析Excel为什么用POI ? POI存在的问题?还知道哪些解析Excel的工具吗?你们项目中用过MQ,平时都用MQ来做什么?你处理过MQ得幂等问题,当时是怎么做

2022-06-16 21:54:19 317

原创 这个牛逼了,基于 SpringBoot + Vue 实现的可视化拖拽编辑的大屏项目

这个是一个开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。    多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,支持17种大屏组件,不会开发,照着设计稿也可以制作大屏。    三步轻松完成大屏设计:配置数据源---->写SQL配置数据集---->拖拽配置大屏---->保存发布。欢迎体验。   大屏设计是一个可视化拖拽编辑的,直观,酷炫,具有科技感的图表工具全开源项目。内置的基础功能包括数据源,数据集,报表管理,

2022-06-16 21:46:41 649

原创 一文读懂什么是MySQL索引下推(ICP)

ICP(Index Condition Pushdown)是在MySQL 5.6版本上推出的查询优化策略,把本来由Server层做的索引条件检查下推给存储引擎层来做,以降低回表和访问存储引擎的次数,提高查询效率。为了理解ICP是如何工作的,我们先了解下没有使用ICP的情况下,MySQL是如何查询的:使用ICP的情况下,查询过程如下:先创建一张表,并插入记录查看一下表记录注意,这张表里创建了联合索引(name, city),假设我们想查询如下语句:3.1 不使用索引下推在不使用索引下推的

2022-06-16 21:41:28 90

原创 互联网架构设计:高可用

大多数情况,在测试自己电脑能否上网时,我们都会用浏览器打开百度首页,如果不能打开百度首页,那就是我们电脑的网络没有连通,如果能够打开百度首页,那说明我们电脑的网络是连通的。之所以我们会拿百度首页来测试网络的连通性,是因为百度网站做到了高可用,我们相信只要网络正常就一定能打开百度首页。同时,对于百度来说, 每次搜索查询都可以创造广告收入,服务不可用就意味着金钱的损失,意味着用户的流失。同理,服务不可用对于其他网站而言,也是公司的损失。网站的可用性这么重要,那我们怎么来衡量网站的可用性呢?有哪些措施可以用来提高

2022-06-16 21:34:47 232

原创 盘点今年上半年碰到的大厂Java面试题(学习、复习、面试均可)

最近一个粉丝发出了灵魂拷问,类似的问题我收到过很多次,身边也确实有认识的同事、朋友们有非常成功的跳槽经历和收益,先说一个典型例子: 大学学弟小A,工作一年半,薪资9K出头,最开始目标是跳槽到货拉拉、唯品会这样规模的中厂,顶多冲刺一下网易、有赞这样的中大厂,如果成功就是爆赚。 从开始策划跳槽,到让我帮忙修改简历,后面跨城市面试……好几次和我说快崩溃了,幸好后面没有放弃。 最终,拿到了多个中大厂和大厂的Offer,薪资都是原来的2倍或者3倍,比如携程给到27K,最终他选择去了标准大厂字节,薪资一年算下来是原来的

2022-06-16 21:31:48 84

原创 硕士程序员入职发现带自己的师傅竟是自己学弟

在如今的时代越来越多的人经历过高等教育,大学几乎是想上就能上,再也不是以前的能考上大学就是天之骄子了,选择继续深造的人也越来越多。毕竟人是对比出来的,当所有人都在进步的时候你就算没退步,你还是在原地,慢慢地你也会落后。 一网友大学本科毕业之后选择了继续深造读研,等到研究生毕业出来找工作,发现公司给自己一个安排带自己的师傅竟然是自己的学弟,一时尴尬不已,是一个比我低一级没考研的学弟,顿时心情就不好了。 不少网友认为带自己的师傅是学弟就很尴尬了,纷纷调侃上班喊师傅下班喊师弟。大多数网民认为没什么大不了的。此外,

2022-06-15 20:45:54 72

原创 传输层通信协议 TCP 的经典问题:建连接与断连接

大家好,今天聊聊传输层通信协议 TCP 的经典问题:建连接与断连接。网络上的传输是没有连接的,包括 TCP 也是一样的。而 TCP 所谓的“连接”,其实只不过是在通讯的双方维护一个“连接状态”,让它看上去好像有连接一样。所以,TCP 状态变换是非常重要的。 很多人会问,为什么建链接要 3 次握手,断链接需要 4 次挥手?对于建链接的 3 握手,主要是要初始化 Sequence Number 的初始值。通信的双方要互相通知对方自己的初始化的 Sequence Number(缩写为 ISN:Inital Seq

2022-06-15 20:42:44 366

原创 如何保证消息的可靠性投递?即如何确定消息是否发送成功?如果失败如何处理(补偿机制)?如何保证消息不被重复消费?或者说,如何保证消息消费时的幂等性?

先看这么几个面试题:消息确认包括主要 生产者发送确认 和 消费者接受确认 ,因为发送消息的过程中我们是无法确认消息是否能路由等,一旦消息丢失我们就无法处理,所以需要确认消息,避免消息丢失。我们知道生产者与消费者是完全隔离的,不做任何配置的情况下,生产者是不知道消息是否真正到达 RabbitMQ,也就是说消息发布操作不返回任何消息给生产者。那么怎么保证我们消息发布的 可靠性投递 ?有以下几种常用机制。正在上传…重新上传取消由于之前的文章对上面都有过介绍,所以这里不一一介绍,而一般采用的方式就是 发布者确认模式

2022-06-14 15:45:51 154

原创 如何用Redis 做接口限流?

Redis 除了做缓存,还能干很多很多事情:分布式锁、限流、处理请求接口幂等性。。。太多太多了~今天想和小伙伴们聊聊用 Redis 处理接口限流,这也是最近的 TienChin 项目涉及到这个知识点了,我就拎出来和大家聊聊这个话题,后面视频也会讲。首先我们创建一个 Spring Boot 工程,引入 Web 和 Redis 依赖,同时考虑到接口限流一般是通过注解来标记,而注解是通过 AOP 来解析的,所以我们还需要加上 AOP 的依赖,最终的依赖如下:<dependency> <grou

2022-06-14 14:17:16 195

原创 EnvironmentAware 接口的作用

我們在搞新的配置中心Nacos的時候,为了获取新的配置中心的配置文件中配置的 dataId,以及配置 serverAddr、nacosGroup 等信息,所以才研究 EnvironmentAware 接口的如果写死话那岂不是太不像话了,那就太多的魔法值了,所以我们可以通过 environmentAware 这个接口进行从配置文件中【application.properties】获取配置的配置中心的信息详情nacos.config.server-addr=IP地址nacos.config.data-id=

2022-06-14 14:14:19 242

原创 Spring Bean注入/单例理解/循环依赖

理解循环依赖问题,首先明白spring有四种注入方式。a类中持有b类的引用,并且a类有b的set方法。在bean中添加标签即可注入。实质上是将b实例化,然后调用set方法注入。第二种,构造器注入a类中持有b类的引用,并且a的构造函数参数中有b。实质上就是通过构造函数注入,创建a对象时要把b对象传进去。第三种,静态工厂如果有需要静态工厂实例化的类,不能通过静态工厂.方法实现。在bean属性中对应类指向静态工厂,对应方法指向返回实例的方法如果工厂不是静态,需要实例化,就实例化对应工厂,设定factory

2022-06-13 17:32:15 125

原创 Spring安全角色和特权以及如何使用此功能来构建您的应用程序?

在本文中,我们将研究Spring安全角色和特权以及如何使用此功能来构建您的应用程序。企业应用程序包含多个部分,它不允许所有用户访问整个应用程序。我们可能会提出一些要求,即我们希望根据用户角色和特权提供对应用程序的访问。让我们以管理电子商务商店的简单后端应用程序为例。Spring安全性使使用角色和特权来构建这些类型的规则变得更加容易。我们可以在注册/创建过程中为用户分配角色和特权以及这些角色。在本文中,我们将了解如何使用Spring安全角色和特权功能来处理此类用例。为了确保我们有共同的理解,让我们看几个重要的

2022-06-13 17:25:50 85

原创 InnoDB锁类型及其详细分析

2021-05-24 20:09·马士兵老师首先回顾一下事务相关的基础概念。在默认情况下,InnoDB 开启自动提交,每一个 SQL 语句会形成其独立的事务,在语句执行完毕后自动提交,如果语句执行失败,则自动回滚。用户可以通过 START TRANSACTION 或 BEGIN 命令显式开启事务,通过 COMMIT 或 ROLLBACK 显示提交或回滚事务。用户可以通过 SET AUTO_COMMIT=0 显式关闭自动提交。隔离级别方面,InnoDB 支持标准的: READ UNCOMMITTED , RE

2022-06-13 17:20:18 110

原创 Lombok和MapStruct整合

可以自行在classes里看生成的代码因为他们他们都是编译时通过AnnotationProcessor生成的class文件,然后MapStruct会用到对象中的get、set方法,然后get、set方法又需要lombok来生成。所以我们需要空着这两者工作顺序。lombok 1.18.16之前,添加pathlombok 1.18.16之后,添加path,必须使用 lombok-mapstruct-binding 插件。本着用新不用旧的想法我选了第二种...

2022-06-13 13:59:57 182

原创 什么是循环依赖?Spring使用三级缓存解决循环依赖

Spring 中使用了三级缓存的设计,来解决单例模式下的属性循环依赖问题。这句话有两点需要注意Spring Bean 的生命周期可以简单概括为 4 个阶段如上代码所示,即 A 里面注入 B,B 里面又注入 A。此时,就发生了「循环依赖」。单例模式下,在第一次使用 Bean 时,会创建一个 Bean 对象,并放入 IoC 容器的缓存池中。后续再使用该 Bean 对象时,会直接从缓存池中获取。保存单例模式 Bean 的缓存池,采用了三级缓存设计,如下代码所示。 缓存层级 名称

2022-06-09 20:45:06 122

原创 什么是SPI机制,SPI机制解决了什么问题?SPI是如何实现的?

为了更好的理解Dubbo SPI机制,我们首先应该去了解下Java本身自带的SPI机制到底是个什么东西。明白了这个之后,那么Dubbo自己实现的SPI机制无非就是提供了更好的解决方案,以及一些额外的功能而已。其核心目的都是大同小异的。先粘一段官方点的描述:SPI全称Service Provider Interface,从Java6开始被引入,是一种基于ClassLoader来发现并加载服务的机制。这里我来简单描述下,SPI实际上就是JDK提供一个抽象规范,这里可以简单理解为接口。之后用户可以根据自己的需要来

2022-06-09 16:17:52 524

原创 疫情过后,Java开发者如何应对多线程与高并发面试题目?

发某粉丝年前参加某个NB企业的面试题列表:聊聊synchronized的CPU原语级别实现有一千万个数,写一个程序进行高效求和已知2开平方为1.414,如何不用数学库,求开平方的值,精确到小数点儿后面10位编码实现两个线程,线程A不断打印1-10的数字,要求在打印到第五个数字的时候通知线程B自定义线程池需要指定哪7个参数,为什么不建议使用JUC内置线程池?高并发、任务执行时间短的业务怎样使用线程池?并发不高、任务执行时间长的业务怎样使用线程池?并发高、业务执行时间长的业务怎样使用线程池?设计一个12306网

2022-06-09 16:10:11 83

原创 JVM体验之内存溢出问题的定位方法

测试代码如下:1234567891011121314151617 运行过程如下所示我们在这里可以看到内存在不断地上涨,而Java在到一定时候会爆出OOM异常。如下:Exception in thread "main" java.lang.OutOfMemoryError: Java heap spaceat java.util.Arrays.copyOf(Arrays.java:3210)at java.util.Arrays.copyOf(Arrays.java:3181)at java.ut

2022-06-06 15:05:36 365

原创 如何用Java代码打印Hadoop中DataNode中的数据?

我们先创建一个Maven工程,导入以下依赖(注意要和自己的hadoop版本对应,我的是2版本):123456789101112131415161718192021接着编写代码:1234567891011121314151617181920212223242526272829303132333435363738 这样执行通常会报一个错:下载地址现在我们来安装一下(两种方式)我这里采用方式二1所以需要在代码中添加这一行,完整代码为:123456789101112131

2022-06-06 15:01:44 134

原创 java并发编程的学习 ——java并发编程具体在哪些领域和公司用到比较多? web开发要用到吗?

如何学习好java并发编程是不是总有一种感觉,在项目开发遇到问题时,打比方在了解一些并发工具类的使用时,会查阅相关资料,但过段时间又忘了,总感觉我已经学习了好多知识,但还是搞不懂,有时候好不容易解决这个问题,但又不知道这样做是不是对的或者是最优方案,那怎么样才能学习好并发编程? 其实在之前我也遇到过这样的问题,其实就2点,一个是从现象看本质,深入源码学习,二个是对整体并发工具类有个大体了解,最起码能知道有哪些工具类,在解决实际问题中,他们的优缺点是什么。有些人会问,那我已经知道这些并发工具类的使用用途,源码

2022-06-05 14:54:17 143

原创 适用于自学的Java后端学习路线

首先,先问大家一个问题,零基础学编程会遇到哪些问题?大多数人是不是都会遇到以下这两点:1.不知道怎么学?2.没有好的学习方法?那么,怎么解决?一个系统的学习路线正是你最需要的,这也是为什么很多前期自学的小白们到处找寻学习路线的原因!什么是学习路线,说白了,就是告诉你要学习什么,以及应该先学什么后学什么!对于很多新手来说,有一个学习路线,心里似乎会更加有谱了,可以说是精神力量和动力!Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 oop 特性:封装、继承、多态。此外还

2022-06-05 14:37:35 324

原创 【java基础】——方法 和 重载

b站视频课(封面图)

2022-06-04 19:45:46 91

原创 Spring 学习笔记【1】第一个Spring程序与IoC思想

Spring 是 Java EE 编程领域的一款轻量级的开源框架,由Rod Johnson 于 2002 年提出并创立,它的目标就是要替换以 EJB 为核心的开发方式(EJB的诟病:使用复杂、代码臃肿、代码侵入性强、开发周期长、移植难度大等),简化开发。所以Spring的出现又被喻为程序员的春天,哈哈😁之后Spring不断发展,2004 年,Spring 1.0 版本正式发布。2017年,Spring 步入到了第 5 个大版本,也就是我们常说的 Spring 5,本教程就是基于讲解。2.1狭义的Sprin.

2022-06-04 15:14:18 99

原创 【C语言】科学计数法——复习总结

摘要:C Primer Plus(第6版)中文版p56

2022-01-20 13:28:41 5292

空空如也

空空如也

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

TA关注的人

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