自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 下载和运行GitHub上的代码教程总结

从昨天开始就想着从GitHub上下载一个开源的Vue的实战项目,希望能从中学习更多的Vue的实用内容,结果搞了半天好不容易下载了,不知道怎么弄。然而,今天终于成功了,激动地我赶紧来记录一下。如何从GitHub上下载自己需要的项目:1.首先,你要有一个自己的GitHub(https://github.com/)的账号。关于如何注册GitHub的账号以及如何获取你的SSH密钥这个问题,请大家参...

2018-06-16 19:27:35 274141 20

原创 Spring Boot 中@Scheduled是单线程还是多线程?

在开发Spring Boot应用程序时,定时任务是一项常见的需求。Spring Boot提供了`@Scheduled`注解,可用于将方法标记为定时任务,并在预定的时间间隔内执行。那么`@Scheduled`注解的执行方式是单线程执行,还是多线程执行?`@Scheduled`注解的执行方式会不会产生线程不安全的问题?

2024-03-14 23:14:29 740 1

原创 文章标题(备注)

真搞笑,我也没开隐私呀。

2023-12-24 21:21:46 1597 1

原创 Redis 实现全局唯一ID

如何使用Redis 实现分布式全局的唯一ID?

2023-12-17 16:07:08 1942

原创 RabbitMQ不公平分发问题分析及问题解决

一旦数量达到配置的数量, RabbitMQ 将停止在通道上传递更多消息,除非至少有一个未处理的消息被确认,例如,假设在通道上有未确认的消息 5、6、7,8,并且通道的预取计数设置为 4,此时 RabbitMQ 将不会在该通道上再传递任何消息,除非至少有一个未应答的消息被 ack。但是实际上,可能由于消费者处理消息的速度不同(可能由于网络因素、配置因素等不同),可能就会导致有些消费者长时间处于空闲状态,有些消费者消息处理不过来,导致消息积压,导致负载不均衡等情况,会严重影响到整个系统的性能。

2023-12-17 15:51:46 2094

原创 RabbitMQ 消息持久化

默认情况下,exchange、queue、message 等数据都是存储在内存中的,这意味着如果 RabbitMQ 重启、关闭、宕机时所有的信息都将丢失。RabbitMQ 提供了持久化来解决这个问题,持久化后,如果 RabbitMQ 发送 重启、关闭、宕机,下次起到时 RabbitMQ 会从硬盘中恢复exchange、queue、message 等数据。

2023-12-17 14:43:05 915

原创 Typora如何放大查看图片?

我的版本号是1.2.4,而文章中采用的版本号是0.9.98,不同版本的Typora集成LightBox插件的方式会有一些区别。右键Typora 打开文件所在的位置,即可打开Typora 的安装位置(E:\SoftWare\Typora\resources)。

2023-12-17 14:14:46 676

原创 RabbitMQ 消息应答与发布

消息应答是 RabbitMQ 中的一项重要功能,它确保消息在被消费者处理后得到适当的确认。通过消息应答,消费者可以告知 RabbitMQ 它已经成功处理了一条或多条消息,并且可以安全地从消息队列中删除这些消息。这种机制保证了消息的可靠传递和处理,即使在消费者出现故障或网络问题的情况下也能确保消息不会丢失。本文将深入探讨 RabbitMQ 中的消息应答和发布的概念、原理和最佳实践。

2023-12-16 14:59:00 1683

原创 RabbitMQ入门案例

案例中生产者叫做 Task,一个消费者就是一个工作队列,启动两个工作队列消费消息,这个两个工作队列会以轮询的方式消费消息。假设生产者生产 AA BB CC DD这四条消息,理论上工作线程C1和工作线程C2轮询接收到消息,期望测试结果如下。轮询消费消息指的是轮流消费消息,即每个工作队列都会获取一个消息进行消费,并且获取的次数按照顺序依次往下轮流。创建一个类作为消费者,消费 RabbitMQ 队列的消息,消息消费是通过Channel来完成的。在运行第二个工作线程,此时已经开了两个工作线程,如下。

2023-12-15 22:58:42 1206

原创 MQ入门—centos 7安装RabbitMQ 安装

CentOS 7.xXftpXshell链接:https://pan.baidu.com/s/1ZYVI4YZlvMrj458jakla9A提取码:dyto链接:https://pan.baidu.com/s/1jizYPpc1I-wdZ4WU2hayuw提取码:s7fm链接:https://pan.baidu.com/s/1_4ySPR-HsA9RdWn9D8f2sg提取码:fa6z。

2023-12-15 12:17:55 675

原创 02-MQ入门之RabbitMQ简单概念说明

Broker:接收和分发消息的应用,RabbitMQ Server 就是 Message Broker:出于多租户和安全因素设计的,把 AMQP 的基本组件划分到一个虚拟的分组中,类似于网络中的 namespace 概念。当多个不同的用户使用同一个 RabbitMQ server 提供的服务时,可以划分出多个 vhost,每个用户在自己的 vhost 创建 exchange/queue 等Connection:publisher/consumer 和 broker 之间的 TCP 连接Channel。

2023-12-15 08:56:52 490

原创 MQ入门简介

MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常 见的上下游「逻辑解耦 + 物理解耦」的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。

2023-12-15 00:25:39 967

原创 入门Redis学习总结

记录之前刚学习Redis 的笔记, 主要包括Redis的基本数据结构、Redis 发布订阅机制、Redis 事务、Redis 服务器相关及采用Spring Boot 集成Redis 实现增删改查基本功能

2023-12-09 22:39:53 904

原创 你了解Redis 内存淘汰机制吗?你能讲一下LRU算法和LFU算法吗,如果让你分别实现你会怎么实现?

LFU是一种基于访问频率的内存淘汰策略(最不经常使用,会淘汰掉使用次数最少的数据它假设经常被访问的数据在未来仍然频繁被访问,而较少被访问的数据更可能不再被使用。根据这个策略,LFU算法会淘汰访问频率最低的数据,以释放内存空间。

2023-12-09 21:30:52 1074

原创 Spring Boot 在启动之前还做了哪些准备工作?

Spring Boot作为一个开发框架,提供了简化和加速Spring应用程序开发的能力。在Spring Boot启动过程中,创建容器上下文是一个关键的步骤,它承载了应用程序的各种组件和功能。然而,在创建容器上下文之前,Spring Boot还会进行一系列的准备工作,以确保应用程序能够在正确的配置和环境下运行。本文将总结Spring Boot 启动之前所做的准备工作,以便于更好地理解Spring Boot的启动过程和内部机制。

2023-12-06 20:06:26 1261

原创 说说你所了解的Java代理,有遇到过Spring Aop失效场景吗

3)定义代理类ImageProxy,代理类也实现Image接口,代替目标类RealImage实现display()功能,此外代理类ImageProxy还提供了额外的方法如loadFromDisk(),表示从磁盘中读取图片。2)调用与被调用的方法在同一个类中,如类中方法A调同一个类中的方法B,方法B中使用了AOP注解。:CGlib代理的本质是通过代理类(目标类的子类)调用目标类的方法,由于final 修饰的、static 修饰的 、private 修饰方法子类无法重写因此会出现AOP失效的现象。

2023-12-03 19:48:58 951

原创 如何查看JDK动态代理自动生成的类

JDK提供了一种强大且灵活的机制,可以在运行时生成代理类。这种动态生成的代理类可以在不修改原始类的情况下,对其方法进行拦截和增强。然而,对于初学者来说,了解生成的代理类的内部结构和工作原理可能会很有帮助。本文将介绍如何查看JDK动态代理生成的代理类。我们将探索一些常见的工具和技术,帮助您深入了解动态代理的运行机制。通过查看生成的代理类,您将能够更好地理解代理模式的实现细节,并在需要时进行调试和排查问题。

2023-12-03 19:01:10 487

原创 SpringBoot 是如何启动一个内置的Tomcat

为什么说Spring Boot框架内置Tomcat 容器,Spring Boot框架又是怎么样去启动Tomcat的?

2023-12-02 23:01:32 592

原创 你了解Redis 的二进制安全吗

最近面试的时候被问到Redis 的二进制安全相关八股文面试题。Redis二进制安全内容比较多,以下是简单的总结大致的过程,需要深入学习的建议跳过

2023-11-27 22:17:27 852

原创 初学Flink 学后总结

最近开始学习Flink,一边学习一边记录,以下是基于【尚硅谷】Flink1.13实战教程总结的笔记,方便后面温习

2023-11-27 22:10:30 1177

原创 Redis IO多路复用之select、poll和epoll

Redis性能好除了它是基于内存的数据库外,还因为Redis是基于IO多路复用机制。以下总结一下曾经遇到过的一个面试题:你了解IO多路复用机制吗?实现IO多路复用机制的方式有哪些?有什么区别?

2023-11-26 09:55:32 704

原创 设计模式-单例模式

缺点:在类加载时完成实例化,导致类加载的原因可能有很多中,有可能还没开始使用的时候就被实例化,会造成资源浪费。缺点:在类加载时完成实例化,导致类加载的原因可能有很多中,有可能还没开始使用的时候就被实例化,会造成资源浪费。2.当在调用getInstance()时才会调用静态内部类,而且在装载时线程是安全的;优点:写法简单,就是在类加载时就执行静态代码块,避免了线程安全问题。优点:写法简单,就是在类加载的时候完成实例化,避免了线程安全问题。方式二:饿汉式(静态代码块)方式一:饿汉式(静态常量)

2023-11-25 00:20:19 811

原创 MySQL 有多个普通索引时会取哪一个索引?

在面试中,经常被问到索引优化,MySQL的最左前缀等等相关的知识点,但是被问到MySQL优化器选择索引的原理时相信有一部分小伙伴会不知所措,基于以上问题通过简单的demo演示及记录

2023-11-24 23:33:23 842

原创 JUC并发工具-CAS机制

CAS(Compare and Swap)是一种多线程同步的原子操作,用于解决并发环境下的数据竞争和线程安全问题。像我们平时使用到的JUC并发包下的AtomicInteger、AtomicLong、AtomicLong、AtomicBoolean等等底层都是基于CAS实现的,另外ReentrantLock、ConcurrentHashMap这些底层也是采用CAS机制实现。

2023-11-18 12:04:25 221

原创 JUC工具类_CyclicBarrier与CountDownLatch

CyclicBarrier(循环屏障)是Java中的一个同步辅助类,它允许一组线程相互等待,直到达到某个公共屏障点。它的工作方式是,在所有参与线程都到达屏障之前,它们会一直等待。一旦最后一个线程到达屏障,所有被屏障等待的线程将被释放,可以继续执行后续的任务。CountDownLatch是Java中的一个同步辅助类,它允许一个或多个线程等待其他线程完成操作后再继续执行。

2023-11-18 01:42:15 300

原创 计算机网络基础知识-网络协议

首先udp协议是非连接的,发送数据就是把简单的数据包封装一下,然后从网卡发出去就可以了,数据包之间并没有状态上的联系,正因为udp这种简单的处理方式,导致他的性能损耗非常少,对于cpu,内存资源的占用也远小于tcp,但是对于网络传输过程中产生的丢包,udp并不能保证,所以udp在传输稳定性上要弱于tcp。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。服务端将 CA 签名的证书发送给浏览器,浏览器通过内嵌的 CA 机构的公钥对证书解密,得到服务端的公钥,这一过程采用非对称加密的方式。

2023-11-12 13:01:23 771

原创 ClickHouse 原理解析之基础知识总结

本文参考ClickHouse 原理解析与应用实战一书,读后总结

2023-11-12 12:40:50 523

原创 08.说说你所了解网络协议

一文快速了解网络协议,Java面试必问知识点整理

2023-11-05 00:29:46 14

原创 01-Java 中的锁

锁是多线程编程中的一种机制,用于控制对共享资源的访问。它可以防止多个线程同时修改或读取共享资源,从而保证线程安全。

2023-11-04 17:51:39 16

原创 Java基础之接口和抽象类的区别?

Java 中的接口和抽象类是接口(Interface)和抽象类(Abstract Class)都是Java中用于实现多态性的机制,下文将揭晓接口和抽象类的本质区别

2023-11-04 17:14:52 14

原创 07-ThreadLocal有哪些使用场景?【Java面试题总结】

ThreadLocal是线程本地变量,可以存储共享变量副本,每一个独立线程都有与共享变量一模一样的副本。ThreadLocal在当前线程下共享变量是全局共享的,各个线程之间是相互独立的。执行结果如下,每个线程都有自己独立的共享变量副本,并且在当前线程下任务一个地方值都是一样的(一个线程下,可能存在多个方法,多个方法即当前线程下共享变量全局共享)

2023-09-03 14:56:09 605

原创 06-限流策略有哪些,滑动窗口算法和令牌桶区别,使用场景?【Java面试题总结】

常见的限流算法有固定窗口、滑动窗口、漏桶、令牌桶等。

2023-09-03 14:54:05 881

原创 05-Mysql夺命三连问:什么是索引下推?什么是索引覆盖?什么是回表?【Java面试总结】

在InnoDB中,一张表可以有多个非聚簇索引,非聚簇索引本身不存储数据,而是存储索引键值、和行指针。在InnoDB的引擎中,所有数据是存储在聚簇索引中的,索引键值和行指针的数据结构存储在非聚簇索引中,当我们基于非聚簇索引查询数据,如果返回的列不能满足需求,就需要从聚簇索引中再进行一次查找。是mysql5.6 提出的一个查询优化方案,主要的目的是减少数据或查询中不必要的读取和计算,它的原理是将查询条件尽可能的推送到索引层面进行过滤,减少从磁盘读取的数据量和后续的计算开销。

2023-09-03 14:51:17 674

原创 04-过滤器和拦截器有什么区别?【Java面试题总结】

注意,@WebFilter这个注解是Servlet3.0的规范,并不是Spring boot提供的。除了这个注解以外,我们还需在配置类中加另外一个注解:@ServletComponetScan,指定扫描的包,放在启动类上面。在Servlet 中,我们需要在web.xml中配置过滤器,在SpringBoot中没有web.xml的概念,我们通过其他方式配置,如下。提供了一系列方法来配置过滤器的属性,包括过滤器实例、URL匹配模式、过滤器执行顺序、Dispatcher类型等。和方式一的配置是一样的。

2023-09-03 14:49:03 411

原创 03-使用一个不可变对象作为key,红黑树怎么比较大小?

答:Java 中的红黑树是通过左旋、右旋的方式来维护树的平衡性,而左旋、右旋又依赖于节点大小的比较。对于使用不可变对象作为key实际上是可以的,因为比较key的大小本身不依赖于key是否可变性,而是依赖于key实现的比较大小的方法。红黑树通过键的比较结果来维护树的有序性。在插入和查找操作中,红黑树根据键的比较结果来确定节点的位置,以保持树的有序性。(1)红黑树的插入和查找操作是如何利用键的比较结果来维护树的有序性的?作为红黑树中的key有如下几个条件。使用红黑树实现排序的案例。

2023-09-03 14:44:22 168

原创 02-请解释一下Java的内存模型和happens-before规则?【Java面试题总结】

概念:Java内存模型,简称JMM,是一种定义了多线程程序中内存访问行为的规范。它定义了线程如何与主内存和工作内存进行交互,以及如何保证多线程程序的正确性和可见性。Java内存模型为并发编程提供了一致性和可靠性的保证特点:Java内存模型中的happens-before规则程序顺序规则(Program Order Rule):按照程序的顺序执行;锁定规则(Lock Rule):对于同一把锁来说,解锁(unlock)操作必然发生在后续的同一个锁的加锁(lock)之前,也就是要先解锁才能再加锁;volatile

2023-09-03 14:41:29 376

原创 01-为什么阿里巴巴强制要求使用包装类型定义属性?【Java面试题总结】

基于Mic老师Java面试教程进行总结和补充

2023-09-03 14:38:51 162

原创 使用Git更高逼格方式-命令行

Git常见命令

2023-04-14 16:20:31 145 1

原创 面向对象和面向过程思想

面向对象和面向过程

2023-03-31 11:22:46 133

原创 深入学习hashCode 和equals()方法的关系

如上,两个对象只重写了equals()方法,没重写hashCode()方法,所以这两个对象是不相等的。而HashMap的get()方法,先通过对比hashCode,再对比equals()方法判断是否已存在对象的key,new User(“zhangsan”) 作为一个新的对象,所以hashMap中不存在以new User(“zhangsan”) 为key的值。在比较两个对象是否想等时,一般会先调用hashCode方法,如果hashCode相同,再调用equals()方法进行比较,因为hashCode()

2023-03-31 09:42:06 242

lightbox2-dev

lightbox2-dev资源可以结合Typora 实现图片的放大查看功能,也可以在GitHub上下载。但是GitHub上下载比较慢,因此上传csdn资源提供给大家免费下载

2023-12-17

memreduct-3.4-setup

我们的电脑越用越卡,有没有一款好用的内存管理工具呢,答案是有的。请看如下资源,帮忙我们进行内存的瘦身

2023-12-17

基于Java 实现的LFU算法,特别适合新手,带有测试case

基于Java 实现的LFU算法,特别适合新手,带有测试case

2023-12-09

基于Java实现的LRU算法,特别适合新手,带有测试case

基于Java实现的LRU算法,特别适合新手,带有测试case

2023-12-09

Another-Redis-Desktop-Manager.1.3.8.zip

Another-Redis-Desktop-Manager.1.3.8.zip

2021-01-15

elasticsearch7.6.1和7.9版本资源下载.zip

elasticsearch7.6.1和7.9版本资源下载.zip

2021-01-15

Oracle11g安装包.rtf

Oracle11g安装包.rtf

2021-01-15

mybatis-generator-1.3.5(全).zip

mybatis-generator-1.3.5.zip

2021-01-15

openapi-6.0.5.jar

openapi-6.0.5.jar

2020-05-24

openapi-7.0.3.jar

openapi-7.0.3.jar

2020-05-24

springboot_login.zip

springboot实现简单的登录注册功能,小白可以参考,大神绕道。有疑问请到博客留言或者私信我!

2019-10-09

qidian.rar(某点中文网项目开发源代码)

某点中文网项目开发源代码,导入可直接用!好像附有数据库。如果没有,请留言

2019-06-18

visualcppbuildtools full.rar

visualcppbuildtools full是VS的支持工具包,在安装一些软件的时候必须需要该工具包的支持。比如安装爬虫类的软件

2019-06-18

Scrapy爬虫框架资料全集.rar

爬虫技术基础知识整理以及案例分析(包含源码、文档)

2019-06-18

反编译-可以直接反编译apk.rar

反编译-可以直接反编译

2019-06-16

Java爬虫代码示例.rar

这个是Java爬虫代码示例,小白可以参考,大神请绕道行走

2019-06-16

安卓源码反编译工具.rar

安卓源码反编译工具,超级好用,欢迎下载。里面有很多工具,

2019-06-08

apache-maven-3.3

apache-maven-3.3,大家可以下载参考一下,欢迎关注,不定时上传资料

2019-01-13

wamp2.5_Winserver2003-win7-10_x64

wamp2.5_Winserver2003-win7-10_x64,我当初傻,花了30元在淘宝上买的

2019-01-07

SecureCRT+SecureFX

SecureCRT+SecureFX,SecureCRT+SecureFX,SecureCRT+SecureFX

2019-01-04

JCreator5正版软件

JCreator5正版软件

2019-01-04

VC6.0之XP win7 win8.1 win10通用版[NEW]

VC6.0之XP win7 win8.1 win10通用版[NEW],VC6.0之XP win7 win8.1 win10通用版[NEW]

2019-01-04

百度云管家

百度云管家软件

2019-01-04

实战java虚拟机

实战java虚拟机,实战java虚拟机,小弟不才,没有文采。

2018-12-20

马昕曦-Dubbo 的过去、现在以及未来

马昕曦-Dubbo 的过去、现在以及未来。

2018-12-20

从Paxos到Zookeeper 分布式一致性原理与实践

小弟不才,没有文采,希望大家学得开心,好好学习,天天向上

2018-12-20

陈皓-Cloud Native 云化架构

陈皓-Cloud Native 云化架构。小弟不才,没有文采,希望大家学得开心

2018-12-20

mysql 高性能优化

清晰完整版本,小弟不才,没有好的语言描述。希望大家学得开心。

2018-12-20

java 性能权威指南

java性能权威指南,清晰完整版本,小弟不才,没有好的语言描述。希望大家学得开心。

2018-12-20

java并发编程

清晰完整版本,小弟不才,没有好的语言描述。希望大家学得开心。

2018-12-20

Java 8实战 ptf完整版本

Java 8实战 ptf完整版本,清晰完整版本,小弟不才,没有好的语言描述。希望大家学得开心。

2018-12-20

阿里巴巴Java开发手册v1.2.0

阿里巴巴Java开发手册v1.2.0.

2018-12-20

余昭辉-去哪儿网消息中间件演进

余昭辉-去哪儿网消息中间件演进。有需要的同志可以下载观看,学习。请支持原著

2018-12-20

Java多态的基本知识

这个是本人辛苦整理的Java多态基本基础的知识点,以下就是很重要的东西,欢迎下载参考!

2018-06-14

计算机网络第五版

计算机网络第五版课后练习题答案了。不下载就吃亏了。

2018-06-08

vc++6.0企业中文绿色版.exe.zip

vc++6.0企业中文绿色版.exe.zip ,绿色版本内含汉化包,可以汉化也可以不汉化

2018-04-12

Spring实战第3版.

本文档是Spring实战第3版书籍的电子版本,Spring实战(第3版)》从核心的Spring、Spring应用程序的核心组件、Spring集成3个方面,由浅入深、由易到难地对Spring展开了系统的讲解,包括Spring之旅、装配Bean、最小化Spring XML配置、面向切面的Spring、征服数据库、事务管理、使用Spring MVC构建Web应用程序、使用Spring Web Flow、保护Spring应用、使用远程服务、为Spring添加REST功能、Spring消息、使用JMX管理Spring Bean以及其他Spring技巧等内容。 《Spring实战(第3版)》不仅仅介绍了使用Spring框架进行开发必须掌握的核心概念,还在此基础上深入介绍了Spring应用程序的常用组件,并为读者展现了Spring如何与其他的应用、服务进行企业级集成。《Spring实战(第3版)》并不没有为读者详细地列出Spring API,而是通过提供丰富又实用的代码示例,来真正展示Spring框架的强大──它能够使企业级应用程序的开发更简单。 《Spring实战(第3版)》适合于已具有一定Java编程基础的读者,以及在Java平台下进行各类软件开发的开发人员、测试人员,尤其适用于企业级Java开发人员。《Spring实战(第3版)》既可以被刚开始学习Spring的读者当作学习指南,也可以被那些想深入了解Spring某方面功能的资深用户作为参考用书。

2018-03-15

Spring从入门到精通.pdf

本文档是Spring从入门到精通的电子版书籍,文档里非常详细,通俗但是又经典重要的知识点。是超级好的学习资料!

2018-03-15

空空如也

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

TA关注的人

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