自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

公众号【Java大蜗牛】

公众号【Java大蜗牛】,关注 领取硬核Java学习资料!

  • 博客(85)
  • 收藏
  • 关注

原创 好家伙1403页,又一份牛逼笔记面世了

如题

2022-03-21 14:11:47 264

原创 四月初再不跳,就晚了

如题

2022-03-08 15:33:15 4624 7

原创 别学了,这 5 种即将消亡的编程语言

每个编码的人都有自己喜欢的语言。拥有一种首选语言有很多原因,但是,我们的语言有时会变得很单调,它不再由制造它的公司维护,或者人们出于某种无法解释的原因放弃使用它。但是,也有的编程语言例外,比如C语言,它就经受住了时间的考验,在许多情况下仍然是最流行的编程语言。编程语言都有自己的生命周期,对某些语言来说,属于它们的时代似乎已经结束了,今天,我们就来盘下一下目前前景最黯淡的5种语言:1. Visual Basic .NETMicrosoft Visual Basic.NET 是 Micr

2022-01-17 20:45:00 698

原创 从零讲JAVA,给你一条清晰地学习道路,该学什么就学什么

Java就该这么学!

2022-01-15 20:15:00 207

原创 阿里宣布扩招,这次38K妥妥的。。。

据阿里HR部门1月11日发布的最新信息,2022年春招Java岗位数将扩招3000+。但就2021年就业形势来看,大厂缩招裁员导致优质岗位竞争变得更加激烈,除了对面试者技术的要求变高,面试的深度和难度较去年也有所加大。很多想进阿里的同学都在问,该怎么备战2022年春招?为了让大家能够在2022金三银四跳槽黄金期升职加薪进大厂,特意找了大厂的面经和相关的面试干货,一份最新阿里Java面经+笔记带给大家。不管大家最近要不要去面试,推荐大家先保存起来,后面自己肯定是能够用得上的!下面是部分资料展示

2022-01-14 20:15:00 264

原创 拿去吧,基于SpringBoot 的CMS系统(附源码)

推荐关注|Java大蜗牛编辑:蜗牛|来源:铭飞项目介绍大家好,我是蜗牛。今天推荐的是基于SpringBoot 2架构,前端基于vue、element ui。每月定期更新版本,为开发者提供上百套免费模板,同时提供适用的插件(文章、商城、微信、论坛、会员、评论、支付、积分、工作流、任务调度等...),一套简单好用的开源系统、一整套优质的开源生态内容体系。铭飞的使命就是降低开发成本提高开发效率,提供全方位的企业级开发解决方案。系统特点 免费完整开源:基于MIT协议,源代码完全开源,无商业限制

2022-01-13 14:50:46 457

原创 手把手,从零开始搭建个人博客网站(附源码)

从零开始搭建个人博客网站(附源码)

2022-01-12 20:52:37 4740 5

原创 【建议收藏】由浅入深,说说HashMap的底层原理,你学废了吗?

HashMap定义说的专业一点,HashMap是常用的用于存储key-value键值对数据的一个集合,底层是基于对Map的接口实现。每一个键值对又叫Entry,这些Entry分散的存储在一个由数组和链表组成的集合中。当然在Java8中,Entry变成了Node。说的通俗一点,就像你去住酒店,你下单提供了你的手机号,然后到酒店了给你一个房卡,你知道了你的房号之后再根据这个房号去找对应的房间一样。房号就是key,房间里就是value。你通过手机号下单到酒店给你房号可以理解为对key哈希的过...

2021-07-06 22:26:07 202 3

原创 Springboot之线程池ThreadPoolTaskExecutor以及@Async异步注解

前言最近项目当中有需求,要进行异步的处理,需要使用到线程池,很久没有使用到线程池了,一来是做JAVAweb开发基本上很少用到异步处理,二来是发现有的老项目里面,线程和线程池的使用比较混乱,有好几个线程池,有的线程池是通过spring管理的,有的是自己创建的,然后有的地方是直接创建的线程。所以这里记录下自己在项目当中如何优雅的使用线程池!避免项目当中到处都是线程池!!!【白嫖资料】SpringBoot整合ThreadPoolTaskExecutor线程池ThreadPoolExecutor:这个是JA.

2021-07-05 17:24:29 632 4

原创 不能用常理的角度!来理解这篇SpringBoot自动装配原理,真独特啊~

前言看了标题后,你应该能猜到我不是要从源码角度分析 SpringBoot 自动装配原理。再分析源码那也太没劲了,写文章很麻烦的,写一个很多人写过的文章更麻烦(但我依旧建议先了解原理,再找机会应用到项目中)【白嫖资料】我想记录的其实是:我在项目中无意间使用了SpringBoot的自动装配,做了一个 SpringBoot 自动装配的实战案例。先说一下这个“无意间”的事件发生背景吧!作为一个后端程序员,对于接口入参的字段校验那是家常便饭,所以对校验非空的注解常用 @NotNull,字段为空会抛出 Meth.

2021-07-05 16:58:55 135

原创 用架构师的角度来分析:Redis客户端如何实现高可用读写分离?

背景(1) redis单机的读写性能轻松上大几万,不过线上环境不会只部署光秃秃的一个节点,还是会配合 sentinel 再部署一个 slave作为高可用节点的;但是standby的slave节点是不对外提供服务端的,一定程度上造成了浪费资源(2) 当业务不断发展,原来单节点缓存的数据(如,商品信息缓存、配置信息等)的查询qps不断升高(写qps增长不多),突破十几万、几十万的的时候,此时一个节点就扛不住了,我们就需要增加几个redis slaves节点来分担这些查询的压力 也就是读写分离但..

2021-07-03 21:48:15 147 3

原创 新来的同事问我,什么是SpringAOP面向切面编程?我一波操作后他说请我吃饭!

SpringAOP面向切面编程Spring中三大核心思想之一AOP(面向切面编程):在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。通过预编译方式..

2021-06-30 14:03:06 198 14

原创 面试官看了都佩服我!深入了解Spring IoC,这也太详细了吧!

1. 什么是 Spring Framework ?官方文档:【资料获取】Spring makes it easy to create Java enterprise applications. It provides everything you need to embrace the Java language in an enterprise environment, with support for Groovy and Kotlin as alternative languages o..

2021-06-30 13:56:33 163 5

原创 Spring注解原来可以这么写,早知道的话咱们团队协作效率至少提升1倍 !!!

掌握这些Spring注解,可谓是掌握了spring神器啊!@SpringBootApplication包含@Configuration、@EnableAutoConfiguration、@ComponentScan,通常放在主类上。@Controller标志是一个控制器类,需要与@RequestMapping配合使用。通常做前后端分离的项目用这个注解比较少,因为后端只返回json数据结构,而不是页面。@RestController该注解是@Controller和@ResponseBo.

2021-06-29 14:42:06 115 3

原创 我吐了!MySQL 批量插入:如何不插入重复数据呢?

知识这个东西,看来真的要温故而知新,一直不用,都要忘记了 【获取资料】业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入。那么问题来了,是不是每次插入之前都要查一遍,看看重不重复,在代码里筛选一下数据,重复的就过滤掉呢?向大数据数据库中插入值时,还要判断插入是否重复,然后插入。如何提高效率?看来这个问题不止我一个人苦恼过。解决的办法有很多种,不同的场景解决方案也不一样,数据量很小的情况下,怎么搞都行,但是数据量很大的时候,这就不是一个简单的问题了。.

2021-06-28 23:26:50 135

原创 定个小目标!挑战100天进大厂之每日10道Java面试题!(3)持续更新中...

定个小目标!挑战100天进大厂之每日10道Java面试题!(3)持续更新中…养成阅读好习惯,从关注开始!更多Java相关资料可以关注公众号【Java大蜗牛】发送:621.HashMap 和 Hashtable 有什么区别?hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高。hashMap允许空键值,而hashTable不允.

2021-06-24 19:11:51 114 1

原创 定个小目标!挑战100天进大厂之每日10道Java面试题!(2)持续更新中...

定个小目标!挑战100天进大厂之每日10道Java面试题!(2)持续更新中…养成阅读好习惯,从关注开始!更多Java相关资料可以关注公众号【Java大蜗牛】发送:611.抽象类必须要有抽象方法吗?  不需要,抽象类不一定非要有抽象方法。示例代码:abstract class Cat { public static void sayHi() { System.out.println("hi~"); }}上面代码,抽象类并没有抽象方法但完全可以正常运行。12.

2021-06-23 15:07:26 138 1

原创 定个小目标!挑战100天进大厂之每日10道Java面试题!(1)持续更新中...

定个小目标!挑战100天进大厂之每日10道Java面试题!(1)持续更新中…养成阅读好习惯,从关注开始!更多Java相关资料可以关注公众号【Java大蜗牛】发送:61.JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编.

2021-06-22 22:53:13 179

原创 听说字节面试官比较友好,于是我去面试了...

一面、自我介绍实习时间挺长?数组和 链表 的区别?ArrayList的扩容是怎么实现?介绍一下hashmap,介绍一下put操作做了哪些步骤?(问了细节)hashmap判定重复是==还是equalshashmap1.7和1.8?hashMap是线程安全吗?介绍一下concurrentHashMap?如何保证线程安全的同时保证吞吐量?synchronized在jdk1.8做了哪些优化?synchronized为什么要设计成可重入?volatile的原理?解决什么问题?介绍一下JMM.

2021-06-04 22:20:25 164 2

原创 看完这篇还不懂 MySQL 主从复制?那就回家葛优躺吧!

前言我们在平时工作中,使用最多的数据库就是 MySQL 了,随着业务的增加,如果单单靠一台服务器的话,负载过重,就容易造成宕机。这样我们保存在 MySQL 数据库的数据就会丢失,那么该怎么解决呢?其实在 MySQL 本身就自带有一个主从复制的功能,可以帮助我们实现负载均衡和读写分离。对于主服务器(Master)来说,主要负责写,从服务器(Slave)主要负责读,这样的话,就会大大减轻压力,从而提高效率。接下来,一起来看看它都有哪些核心知识点:简介随着业务的增长,一台数据服务器已经满足不了需求了

2021-05-28 16:10:43 1666 6

原创 肝了这篇入门Spring框架(注解)超详细

养成阅读好习惯,从关注开始!1. 常用注解xml配置spring<bean id="accountService" class="cn.bruce.service.impl.AccountServiceImpl" scope="" init-method="" destroy-method=""> <property name="" value="" | ref=""></property></bean>...

2021-05-20 15:28:21 118

转载 SQL查询语句总是先执行SELECT?你们都错了。。。

很多 SQL 查询都是以 SELECT 开始的。不过,最近我跟别人解释什么是窗口函数,我在网上搜索”是否可以对窗口函数返回的结果进行过滤“这个问题,得出的结论是”窗口函数必须在 WHERE 和 GROUP BY 之后,所以不能”。于是我又想到了另一个问题:SQL 查询的执行顺序是怎样的?好像这个问题应该很好回答,毕竟自己已经写了上万个 SQL 查询了,有一些还很复杂。但事实是,我仍然很难确切地说出它的顺序是怎样的。SQL 查询的执行顺序于是我研究了一下,发现顺序大概是这样的。SELECT 并不是

2021-01-19 21:23:31 119

原创 Spring 和 SpringBoot 之间到底有啥区别?

概述对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,相信对于用了 SpringBoot很久的同学来说,还不是很理解 SpringBoot到底和 Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!什么是Spring作为 Java开发人员,大家都 Spring都不陌生,简而言之, Spring框架为开发 Java应用程序提供了全面的基础架构支持。.

2021-01-19 15:19:20 258

原创 头秃了,Spring Boot 自动配置源码解析了解一波

大家好,我是Java大蜗牛,一个渴望在互联网行业做到很牛的蜗牛。可柔可刚,点赞则柔,白嫖则刚!死鬼~~~看完记得给我来个三连哦!目录前言 源码版本 @SpringBootApplication干了什么? @EnableAutoConfiguration干了什么? 总结前言为什么Spring Boot这么火?因为便捷,开箱即用,但是你思考过为什么会这么便捷吗?传统的SSM架构配置文件至少要写半天,而使用Spring Boot之后只需要引入一个starter之后就能直接使.

2020-11-24 13:55:29 138

原创 《SpringMVC 进阶版》

请求限制一些情况下我们可能需要对请求进行限制,比如仅允许POST,GET等...RequestMapping注解中提供了多个参数用于添加请求的限制条件value 请求地址 path 请求地址 method 请求方法 headers 请求头中必须包含指定字段 params 必须包含某个请求参数 consumes 接受的数据媒体类型 (与请求中的contentType匹配才处理)...

2020-02-13 23:39:04 295

原创 【2020面试必备】聊聊高性能延时队列应用

延时队列的应用场景:下单后,30分钟内未付款就自动取消订单等;支付后,24小时未评论自动好评;在我们实际开发过程中,应用场景很多...基于Redis Zset 实现实现原理Redis由于其自身的Zset数据结构,也同样可以实现延时的操作。Zset本质就是Set结构上加了个排序的功能,除了添加数据value之外,还提供另一属性score,这一属性在添加元素时候可以指定,每次指定...

2020-02-11 23:34:02 321

原创 目前最系统的程序员未来职业规划路线,请收藏

1. 什么是程序员上面图片真实的反应了一些程序员的生活常态,那么首先来说一下什么是:程序员吧,所谓程序员就是从事程序开发,程序维护的工作者。说到底就是一个普通的打工仔,一个"搬砖工",程序员也叫做码农。2. 关于职业规划很程序员每天都在写代码,每天都很忙,而当面试官问他:“你的职业规划是什么?”程序员答:“没有”。那如果让你选择一个角色你会选择什么?比如...

2020-02-10 22:09:58 5750 1

原创 《分享几道高频 Redis 高频面试题,面试不用愁》

1、说说 Redis 都有哪些应用场景?缓存:这应该是 Redis 最主要的功能了,也是大型网站必备机制,合理地使用缓存不仅可以加 快数据的访问速度,而且能够有效地降低后端数据源的压力。 共享Session:对于一些依赖 session 功能的服务来说,如果需要从单机变成集群的话,可以选择 redis 来统一管理 session。 消息队列系统:消息队列系统可以说是一个大型网站的...

2019-12-27 22:10:19 131

原创 JVM内存区域与垃圾回收

1、JAVA内存区域与内存溢出1.1、概述Java中JVM提供了内存管理机制,Java虚拟机在执行Java程序的过程中会把内分分为不同的数据区,如图:1.2、程序计数器程序计数器是当前线程所执行的字节码的行号指示器,作用就是根据计数器的值获取下一条要执行的字节码指令。当执行的是java方法,则记录的是正在执行的虚拟机字节码指令的地址,如果是Native方法,则这个计数器的...

2019-12-24 22:26:40 144

原创 线程安全之Synchronized关键字

1 多线程下为什么会存在线程安全问题线程的合理使用能够提升程序的处理性能,一是能够利用多核 CPU 来实现线程的并行执行,二是线程的异步化执行能够提高系统的吞吐量。虽然线程有这些优点,但同时也带来了很多问题。比如说:1.1 共享变量带来的安全性问题先来看个图:一个变量 i ,如果线程 A 或者线程 B 单独访问并且修改变量 i 的值没有任何问题,那如果并行的...

2019-12-20 21:49:28 164

原创 《初步了解JVM》第1章

大家都知道,Java中JVM的重要性,学习了JVM你对Java的运行机制、编译过程和如何对Java程序进行调优相信都会有一个很好的认知。废话不多说,直接带大家来初步认识一下JVM。什么是JVM?JVM(Java Virtual Machine)是一个抽象的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区域,它负责执行指令,还要管理数据、内存和寄存器。看到这里,可能不懂JVM...

2019-12-19 15:48:40 113

原创 MySQL高频面试题的灵魂拷问

唯一索引比普通索引快吗, 为什么?唯一索引不一定比普通索引快, 还可能慢。查询时, 在未使用limit 1的情况下, 在匹配到一条数据后, 唯一索引即返回, 普通索引会继续匹配下一条数据, 发现不匹配后返回. 如此看来唯一索引少了一次匹配, 但实际上这个消耗微乎其微. 更新时, 这个情况就比较复杂了. 普通索引将记录放到change buffer中语句就执行完毕了. 而对唯一索引而言, ...

2019-12-18 22:08:44 88

原创 看看MQ?必须告诉你为什么要使用MQ消息中间件(图解版)

作者:Ccww链接: https://juejin.im/post/5dd3b5e0e51d453fd16b1994场景一:系统解耦假设你有个系统A,这个系统A会产出一个核心数据,现在下游有系统B和系统C需要使用这个数据。首先想到最简单,系统A就是直接调用系统B和系统C的接口发送数据给他们就好了但是现在要是来了系统D、系统E、系统F、系统G,等等,十来个...

2019-11-20 21:36:53 257

原创 《关于MySQL的一些骚操作》

概要回顾以前写的项目,发现在规范的时候,还是可以做点骚操作的。假使以后还有新的项目用到了MySQL,那么肯定是要实践一番的。为了准备,创建测试数据表(建表语句中默认使用utf8mb4以及utf8mb4_unicode_ci,感兴趣的读者可以自行搜索这两个配置):CREATE TABLE `student` ( `id` int(11) unsigned NOT NUL...

2019-11-18 20:36:39 151

原创 Springboot:高并发下耗时操作的实现

高并发下的耗时操作高并发下,就是请求在一个时间点比较多时,很多写的请求打过来时,你的服务器承受很大的压力,当你的一个请求处理时间长时,这些请求将会把你的服务器线程耗尽,即你的主线程池里的线程将不会再有空闲状态的,再打过来的请求,将会是502了。加q群:478052716 免费领取(Java架构资料,视频资料,BATJ面试资料)请求流程图http1 http2 ht...

2019-11-17 20:37:26 2356

原创 Zookeeper有哪些应用场景?面试官希望听到这“4点”

zookeeper 都有哪些使用场景?面试官心理分析假设现在聊的话题是分布式系统,面试官跟你聊完了 dubbo 相关的一些问题之后,已经确认你对分布式服务框架/RPC框架基本都有一些认知了。那么接下来他可能开始要跟你聊分布式相关的其它问题了,比如分布式锁。分布式锁这个东西很常用,无论做 Java 系统开发或者分布式系统,都可能会有一些场景会用到。而最常用的分布式锁就是...

2019-10-29 00:00:09 126

原创 一篇文章搞清楚HashMap和TreeMap的内部结构

一、HashMap1、基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。2、HashMap 的实例有两个参数影响其性能:初始容量 和 加载因子。容量是哈希表中桶的数量,初始...

2019-10-08 20:58:40 106

原创 阿里面试之 MySQL 20 问,Java程序员秋招必会

对于程序员来说, 面试内容一般分为两个部分:编程面试题部分 + 数据库面试题部分 。据不完全调查,作为数据库中的主流选择 MySQL 的薪资待遇正在逐年增加,而且似乎不仅仅是程序员在学,就连很多产品经理和运营人也开始学习 MySQL 去分析数据。对于技术面试来说,考察的核心包含以下两个特点:考察的知识点广,因为不同的公司和不同的面试官技能知识结构是不同的,所以所关注的问题和面...

2019-09-27 17:08:04 459

原创 《MySQL主从不一致情形与解决方法》

一、MySQL主从不同步情况1.1 网络的延迟由于mysql主从复制是基于binlog的一种异步复制通过网络传送binlog文件,理所当然网络延迟是主从不同步的绝大多数的原因,特别是跨机房的数据同步出现这种几率非常的大,所以做读写分离,注意从业务层进行前期设计。1.2 主从两台机器的负载不一致由于mysql主从复制是主数据库上面启动1个io线程,而从上面启动1个sql...

2019-09-26 15:25:57 154

原创 深入JVM中的每一个底层原理,让面试关刮目相看

1 官网1.1 寻找JDK文档过程www.oracle.com -> 右下角Product Documentation -> 往下拉选择Java -> Java SE documentation-> Previous releases -> JDK 8 -> 此时定位到:https://docs.oracle.com/javas......

2019-09-25 19:56:35 325

空空如也

空空如也

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

TA关注的人

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