自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (14)
  • 收藏
  • 关注

原创 【并发编程】AQS源码深入解析(二) - 共享锁

上一篇我们拿分析独占锁的源码(),感兴趣的可以去看下主要用于实现独占锁,而 Java 标准库中的另外一个类可用于实现共享锁和独占锁的功能。其中读锁是共享锁,允许多个线程同时读取共享资源;写锁是独占锁,同一时间只允许一个线程进行写操作。

2025-08-11 14:51:03 653

原创 【并发编程】AQS源码深入解析(一) - 独占锁(或排他锁)

是 Java 并发编程的核心组件,位于包下,为各种锁和同步器(如Semaphore)提供了基础框架。理解 AQS 对于掌握 Java 并发编程至关重要。

2025-08-11 14:05:41 636

原创 【并发编程】Java 内存模型(JMM)深度解析

Java 内存模型(,简称JMM)是 Java 并发编程的基石之一,是一种抽象规范并不是物理意义上的东西。。在 JDK1.2 之前,Java 的内存模型实现总是从 主存 (即共享内存)读取变量,是不需要进行特别的注意的。而在当前的 Java 内存模型下,线程可以把变量保存 本地内存 (比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。

2025-07-04 17:35:02 1149

原创 【并发编程】从计算机发展看Java 内存模型(JMM):原理、应用与实现

早期 Java 内存模型对指令重排序缺乏有效的约束,编译器和处理器为了优化性能,可能会对程序中的指令进行重排序,导致多线程程序出现不可预测的行为。此外,对于共享变量的可见性问题,早期 Java 内存模型也没有明确的规定,一个线程对共享变量的修改可能无法及时被其他线程感知到,从而引发数据不一致问题。早期的缓存规模较小,结构也比较简单,通常只有一级缓存,用于存储 CPU 近期可能会频繁访问的数据,以此减少 CPU 对慢速内存的访问次数,提高数据读取效率。X,它获取到的将是旧值,从而导致数据不一致。

2025-07-04 16:37:38 1005

原创 【并发编程】彻底讲透ThreadLocal底层源码实现

是一种提供线程局部变量的机制,在Java中使用。每个线程都可以独立地改变其副本,而不会影响其他线程的副本。因此,它常用于避免在多线程环境下共享资源的问题。

2025-06-19 15:42:10 901

原创 Java集合 - LinkedList底层源码解析

提供按顺序访问元素的默认实现(如List:支持按索引操作(如Deque:双端队列接口,支持头尾插入/删除(如addFirst()Cloneable和:支持克隆和序列化。E item;// 当前节点存储的元素// 指向下一个节点// 指向前一个节点双向链表特性:每个节点通过prev和next指针连接,支持双向遍历。内存分配:节点分散存储,不依赖连续内存(与ArrayList的数组不同)。

2025-06-13 17:48:07 1307

原创 Java集合 - ArrayList底层源码解析

源码调试:使用 IDE(如 IntelliJ IDEA)逐步调试 ArrayList 的addremove等方法,观察和size的变化版本差异:对比 JDK 8 和 JDK 17 的ArrayList源码,观察扩容策略、subList实现等细节变化进阶主题ArrayList与Vector的区别(线程安全 vs 性能)subList返回的视图对原集合的影响ArrayList在 JVM 内存模型中的表现(数组的连续性 vs 链表的离散性)

2025-06-13 17:01:08 702

原创 Java的SPI底层实现 - 源码解析

是Java提供的一种服务发现机制,用于实现模块化的插件架构。它允许你将接口的实现类配置在外部,而不是硬编码在主程序中,从而让第三方可以在不修改原代码的情况下进行扩展。

2025-06-12 16:56:01 728

原创 Java注解底层实现原理 - 源码分析

Java注解底层实现机制分析:通过案例展示注解定义与使用,深入源码解析注解获取流程。关键点包括:1)使用Class.getAnnotation()方法获取注解实例;2)annotationData()方法通过CAS机制确保线程安全地获取注解数据集;3)createAnnotationData()方法解析原始注解并处理继承逻辑;4)最终通过JVM本地方法getRawAnnotations()获取字节码中的原始注解数据。该机制展现了Java注解处理的完整链路,从高级API调用到底层字节码解析的整个过程。

2025-06-11 10:51:17 806

原创 win中无法修改hosts文件内容解决

win中无法修改hosts文件内容解决

2023-11-24 11:48:52 2527 1

原创 Java 查找指定目录下匹配的文件

Java 查找指定目录下匹配的文件(查询当前目录、指定目录深度、是否模糊匹配)

2022-06-24 20:47:05 992

原创 spring boot、spring cloud、spring cloud alibaba 版本之间兼容对照表

一、spring boot、spring cloud 之间的对应关系拉取官网版本数据:https://start.spring.io/actuator/info{ "git": { "branch": "93e528fc7e79e41a513e493d057499401a15eb67", "commit": { "id": "93e528f", "time": "2022-05-12T12:07:39Z"

2022-05-16 15:56:26 2771

原创 hystrix 配置

# 参考:https://github.com/Netflix/Hystrix/wiki/Configuration# https://www.cnblogs.com/throwable/p/11961016.html、# https://blog.csdn.net/tongtong_use/article/details/78611225hystrix: # 一、命令配置 command: # 默认全局配置 default: # 1、命令执行

2021-10-22 19:51:57 838

原创 不同Vue页面如何进行参数传递

一、实际场景1、描述有A、B两个页面;不管是否层级关系。B页面需要用到A页面的数据,A页面如何将数据传递给B页面2、解决方案二、具体实现1、定义全局的Vue对象// 最好是在main.js中定义Vue.prototype.$bus = new Vue()2、A页面事件监听和关闭要成对出现,后面就不作强调了// 注册 reques_notify 事件监听this.$bus.$off('reques_notify').$on('reques_notify', () =>

2021-10-19 10:34:41 2425

原创 如何格式化输出JSON数据

前言:由于我们在开发、测试阶段,为了方便看日志,需要将原本的压缩json进行格式化显示,便于我们在日常开发过程中很直观的看到我们想要打印的信息,以及数据的层级关系。下面我们梳理了日常用的最多的两种 json 工具进行罗列一、Jackson进入maven依赖:<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind<

2021-07-07 17:19:55 7210

原创 CompletableFuture异步处理

一、异步执行1、runAsync功能:基于runAsync系列方法实现无返回值的异步计算场景:当你想异步执行一个任务,并且不需要任务的执行结果时可以使用该方法,比如异步打日志,异步做消息通知等/** * 基于runAsync系列方法实现无返回值的异步计算 * @throws ExecutionException * @throws InterruptedException */@Testpublic void testRunAsync() throws ExecutionExcept

2021-05-24 20:10:17 3988

原创 跨域的那些事 - CorsWebFilter 跨域源码分析(二)

前言:不懂基础的先看下下面的参考文章参考:https://juejin.cn/post/6844904055148380173、​ https://juejin.cn/post/6844903678965448718、​ https://www.ruanyifeng.com/blog/2016/04/cors.html一、项目准备spring bootjdk1.8IDEApostman提供的一个简单的健康检查接口@RestController@Slf4jpublic c

2021-04-15 19:03:27 1839

原创 跨域的那些事 - 使用场景分析(一)

一、前言如果你对跨域是什么都不了解,建议先去查看一下其他资料,简单了解一下参考:https://juejin.cn/post/6844904055148380173、​ https://juejin.cn/post/6844903678965448718、​ https://www.ruanyifeng.com/blog/2016/04/cors.html个人理解:1、什么情况下才算跨域?​ 三要素:协议、主机、端口。只要三个不完全相等,就算是跨域访问2、为什么会有跨域问题

2021-04-15 18:36:55 993

原创 Maven构建:去除依赖时通配符不生效问题

一、现状dubbo-api 使用不规范,导致项目之间耦合高,隐藏风险大。在项目开发过程中,不可避免的需要跨团队业务对接,对于api包的依赖,举例以供应链中的 tms-api 包为例:问题:1、对于业务对接的时候,服务与服务之间进行通信,我想依赖的 tms-api 包其实只是想要包本身(api中的接口、实体、常量类、异常类)。而现状是依赖tms-api导致引入了大量我不需要的jar。2、现在对maven项目没有做版本管理。出现的问题是:比如:依赖tms-api的项目用的是log4j打印日志。而tm

2021-04-09 00:23:19 3626

原创 maven使用误区:继承、错误使用dependencyManagement

项目结构maven-test-proj项目下面有2个核心模块:mvn-common、mvn-servermvn-common 基础公共组件空间:下面有一个具体的组件 mvn-basemvn-server 是业务空间:下面有一个具体业务 server1使用场景1mvn-server 父pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"

2021-04-08 19:50:48 1530

原创 Spring Security Oauth2 - 源码解析之授权相关组件【03】

一、准备工作Oauth2 分为4种模式,但是内部运行逻辑大致类似。我们先拿client模式的例子来进行辅助调试,稍微容易一些。还是从上一篇中,把请求搬过来:http://localhost:8080/oauth/token?grant_type=client_credentials&scope=select&client_id=client_1&client_secret=123456响应如下:{ "access_token": "652b8bd0-79ab-4c0

2021-03-31 20:28:26 433

原创 Spring Security Oauth2 - 源码解析之授权服务器【02】

一、准备工作Oauth2 分为4种模式,但是内部运行逻辑大致类似。我们先拿client模式的例子来进行辅助调试,稍微容易一些。还是从上一篇中,把请求搬过来:http://localhost:8080/oauth/token?grant_type=client_credentials&scope=select&client_id=client_1&client_secret=123456响应如下:{ "access_token": "652b8bd0-79ab-4c0

2021-03-31 17:45:21 573

原创 Spring Security Oauth2 - 基本使用【01】

一、概述关于oauth2,其实是一个规范,对理论运行模式不清楚的可以参考下面链接参考:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.htmlhttps://oauth.net/2/​使用oauth2,主要就是以下三个组件配置资源服务器配置认证服务器配置spring security前两点是oauth2的主体内容,spring security oauth2是建立在spring security基础之上的,所以有一些体系是公用的。

2021-03-31 10:33:35 729

原创 026 spring IOC容器:BeanFactory和ApplicationContext谁才是Spring IOC容器

一、上代码抛问题UserReository.javapublic class UserReository { private Collection<User> users; // 自定义 Bean private BeanFactory beanFactory; // 内建非 Bean 对象(依赖) private ObjectFactory<User> objectFactoryUser; private ObjectFac

2021-03-26 12:03:07 321 2

原创 Linux性能调优 —— CPU性能

一、到底应该怎么理解“平均负载”?1、uptime 查询平均负载$ uptime02:34:03 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.8802:34:03 // 当前时间up 2 days, 20:14 // 系统运行时间1 user // 正在登录用户数最后三个数字呢,依次则是过去 1 分钟、5 分钟、15 分钟的平均负载# -d 参数表示高

2021-03-17 15:17:18 5014

原创 【001】webflux 源码解析 - 启动、执行流程

目录文章目录目录一、相关类结构1、启动设计到的类2、一次服务调用涉及到的类二、webflux 启动流程1、首先 SpringApplication run 方法启动应用程序2、创建上下文3、刷新上下文 refresh4、创建web服务器4、启动服务器三、webflux 一次服务调用流程1、HttpServerHandle2、ReactorHttpHandlerAdapter3、HttpWebHandlerAdapter4、DispatcherHandler一、相关类结构1、启动设计到的类【spri

2021-02-19 19:36:02 3110 2

原创 java 中文件的读取File、以及相对路径的问题

一、对于java项目中文件的读取1、使用System 或是 系统的Properties对象 ①直接是使用 String relativelyPath=System.getProperty("user.dir");②使用Properties对象我们先来遍历一下系统的属性:Properties properties = System.getProperties();

2016-12-28 00:00:02 51792

java、.net、PHP、网页设计、IOS 系列全套视频教程

提供的是资源下载地址,包含的资源大致有如下分类(大约有50部完整视频) java基础、高级视频,前段Javascript、javaWeb、SSH、Jquery+Ajax、Oracle数据库、对应的实战项目 同样.net全套视频、PHP全套视频、以及前端HTML+CSS、Android、IOS系列视频

2014-05-25

java基础教程

《java基础教程》完整版+完整书签,该书属于非扫描版(可以在上面做笔记、画记号、还有复制里面的内容),所以不是很大只有几兆,但是书是完整的。同时该书很适合初学者来学习,书中的排版顺序很合理,循序渐进轻松可以掌握java知识

2013-07-15

Java设计模式

详细讲解了 java:23 种设计模式 1、创建模式:Factory(工厂模式)、Singleton(单态)、 Builder (建 造者模式)、Prototype(原型模式)、工厂方法模式。 2、 结构模式:Flyweight(共享模式)、Bridge(桥模式)、Decorator(装 饰模式)、Composite(组合模式)、Adapter(适配器模式)、Proxy(代理 模式)、Facade (外观模式)。 3、 行为模式:Iterator(迭代模式) 、Template(模板模式)、Chain of Responsibility( 责 任 链 模 式 ) 、 Memento( 纪 念 品 模 式 ) 、 Mediator(中介模式)、Interpreter(解释器模式)、Strategy(策 略模式)、State 、Observer(观察者模式)、Visitor(访问模式)、 Command(命令模式)。

2014-05-25

RocketMQ开发指南

一份学习RocketMQ比较全,比较详细的资料

2023-02-01

Android开发权威指南 随书源码

Android开发权威指南——李宁 随书源码,有需要的下载

2015-09-10

北风网客户关系管理系统CRM源码

北风网客户关系管理系统CRM源码,没什么好说的,把源码上传上来,大家有用的可以下载参考一下

2014-08-30

struts权威指南(李刚)

struts权威指南(李刚)

2013-07-15

研磨设计模式

研磨设计模式].陈臣.王斌扫描版,带标签,完整版本804页

2018-04-15

jQuery权威指南(完整版)

jQuery权威指南(完整版) 涵盖的知识面比较全,可以更好的掌握jQuery的用法

2014-05-25

jquery.blockUI.js

一个js库,需要的下载吧

2014-05-27

Servlet api

javax.servlet.Servlet接口 servlet抽象集是javax.servlet.Servlet接口,它规定了必须由Servlet类实现由servlet引擎识别和管理的方法集。 Servlet接口的基本目标是提供生命期方法init()、service()和destroy()方法。 servlet接口中的方法

2013-05-20

mybatis 官方学习(本地版)

网页版学习地址:http://www.mybatis.org/mybatis-3/zh/getting-started.html 该资料文档是对应的本地版

2016-03-02

精通Spring(清晰书签版).pdf

精通Spring(清晰书签版).pdf

2013-07-15

空空如也

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

TA关注的人

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