皇甫嗷嗷叫
码龄9年
求更新 关注
提问 私信
  • 博客:60,546
    社区:761
    61,307
    总访问量
  • 82
    原创
  • 67
    粉丝
  • 139
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2017-02-17

个人简介:励志架构师

博客简介:

皇甫嗷嗷叫

博客描述:
公众号 | 源码学徒
查看详细资料
个人成就
  • 获得123次点赞
  • 内容获得76次评论
  • 获得295次收藏
  • 代码片获得120次分享
  • 博客总排名668,373名
创作历程
  • 10篇
    2021年
  • 36篇
    2020年
  • 33篇
    2019年
  • 4篇
    2018年
成就勋章
TA的专栏
  • Netty
    9篇
  • NIO
    10篇
  • 源码阅读
    19篇
  • Spring
    12篇
  • 杂谈
    13篇
  • 消息队列
    7篇
  • JAVA心得
    69篇
  • ĴAVA
    50篇
  • 工具安装
    3篇

TA关注的专栏 2

TA关注的收藏夹 0

TA关注的社区 11

TA参与的活动 0

兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

28人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Spring Cloud 入门 新手入门

发布资源 2019.05.04 ·
pdf

MyBatis使用手册PDF

发布资源 2019.02.25 ·
pdf

遗传算法java版简单实例,及名词解析

发布资源 2019.02.12 ·
zip

数据中台之数据资产最佳实践白皮书及解读.zip

发布资源 2021.11.24 ·
zip

Netty的ChannelPipline传播源码解析

上一章节 ,我们基本讲述了Netty对于新连接接入与管道数据处理的源码解析,大家可能发现,在我们前面学习中,涉及到了很多的有关pipeline的操作,在前面介绍这些的时候,我为了保证主线逻辑的清晰,基本都是一概而过,本章节将对pipeline做一个详细的讲解!一、基础铺垫1. JAVA中的基本位运算符运算符描述&与|或~非^异或<<左移>>右移2. 位运算解释与实例&(与)十进制二
原创
博文更新于 2021.08.03 ·
321 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Netty服务端的新连接接入源码解析

经过上一章节的学习,我们基本了解了Netty是如何对IO事件以及异步任务的处理了,今天我们就一起来学习一下,Netty是如何处理新连接接入与数据读取的!一、源码寻找我们上一章节学到了,当存在IO事件的时候,Netty的反应堆线程会监听这些事件,然后进行处理,忘记的,可以回顾一下上一章节,,我们这里直接进入到:io.netty.channel.nio.NioEventLoop#processSelectedKey(java.nio.channels.SelectionKey, io.netty.cha
原创
博文更新于 2021.08.02 ·
311 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Netty的异步任务处理与Socket事件处理

经过前面几章的学习,我们基本是明白了Netty通道的创建、注册、与绑定与JDK NIO的对应关系,如果我们使用的是JDK NIO的方式去开发一个Socket服务端的时候,此时还缺少了一个重要的环节,就是循环处理IO事件!我们前面不只一次的见到Netty的异步事件,因为我们某些知识还没有学习到,所以我们都按照同步的方式去获取的,所以我们本章节将带你学习,Netty对于IO事件的处理与异步事件的处理!我们以绑定为出发点,由点到面进行分析!一、源码入口我们直接进入到绑定的源码分析:private sta
原创
博文更新于 2021.07.21 ·
716 阅读 ·
2 点赞 ·
1 评论 ·
2 收藏

NioServerSocketChannel的绑定源码解析

前面两节课,我们着重分析了 initAndRegister方法,对通讯通道的创建、初始化以及注册到选择器上有了一个详细的介绍,回想JDK NIO的开发步骤,我们需要获取SocketChaennel、获取选择器Selector、将通道注册到选择器、绑定端口、处理事件!那么同样的Netty是基于NIO开发的,也同样少不了这几个步骤,迄今为止,我们已经学习了,Selector的创建、SocketChannel的创建、选择器的注册,今天我们要学的就是通道的绑定端口!欢迎关注公众号【源码学徒】一、源码入口我们回到
原创
博文更新于 2021.07.14 ·
242 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

NioServerSocketChannel的注册源码解析

我们上一章分析了Netty中NioServerSocketChaennl的创建于初始化,本章节将继续分析NioServerSocketChannel的分析,NioServerSocketChannel是Netty官方封装的一个通道对象,旨用来代替或者包装JDK原生的SocketChannel对象,那么他是如何讲NioServerSocketChannel于JDK的NIO相关代码关联起来的呢?欢迎关注公众号【源码学徒】一、源码入口寻找我们上一节课主要分析的源码方法是initAndRegister方法,其实
原创
博文更新于 2021.07.09 ·
412 阅读 ·
0 点赞 ·
4 评论 ·
3 收藏

NioServerSocketChannel的初始化源码

源码分析上一节课我们就NioEventLoop的初始化进行了一个初步的讲解,他是Netty很重要的一个类,后面还有针对它的分析,大家先对我前面介绍的组件有一个初步的认识!仔细的看,看到后面会有一种豁然开朗的感觉!我们这一节课学习服务端的ServerSocketChannel的初始化源码,首先,我们还是老规矩,我告诉你你从哪里找,他是如何一步一步调用到ServerSocketChannel的,然后在进行分析!一、入口寻找首先,我们大家再开发Netty服务端的时候,都会有这样几行代码:ServerBo
原创
博文更新于 2021.07.06 ·
317 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多线程协作处理数据读写

经过前面几章的学习,我们已经 能够掌握了JDK NIO的开发方式,我们来总结一下NIO开发的流程:欢迎关注公众号【源码学徒】创建一个服务端通道 ServerSocketChannel创建一个选择器 Selector将服务端通道注册到选择器上,并且关注我们感兴趣的事件serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT);绑定服务管道的地址 serverSocketChannel.bind(new InetSocketAddres
原创
博文更新于 2021.07.02 ·
460 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

NIO中的开发利器ByteBuffer源码解析

想要使用NIO开发Socket分服务端和客户端,必须掌握的一个知识点就是ByteBuffer的使用,他是NIO再数据传输中的利器!相比于BIO传输过程中的字节流,ByteBuffer更能体现出服务端/客户端对于数据的操作效率,ByteBuffer内存维护一个指针,使得传输的数据真正的能够达到重复使用,重复读写的能力!主要API和属性他是对于Buffer的一个默认实现,具体主要的属性和方法我们需要看Buffer类:主要属性//指针标记private int mark = -1;//指针的当前位置
原创
博文更新于 2021.06.25 ·
533 阅读 ·
0 点赞 ·
2 评论 ·
1 收藏

深入Hotspot源码与Linux内核理解NIO与Epoll

一、为什么必须去了解NIO首先你需要之后Netty的主要实现手段就是Nio,很多人一直学不明白Netty,根本原因是 除了日常开发中很难能够实践,很大一部分原因是不熟悉NIO,事实上真正熟悉了NIO和它背后的原理之后,去查看Netty的源码就有如神助!我们今天就从最基本的IO、以及NIO学起!后续会跟新Netty源码系类的文章,有兴趣的小伙伴可以关注公众号 【源码学徒】二、操作系统是如何定义I/O的I/O相关的操作,详细各位从事java的人员并不陌生,顾名思义也就是Input/Output,对应着连个
原创
博文更新于 2021.06.25 ·
355 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

深入分析NIO的零拷贝

本章还是关于NIO的概念铺底,有关NIO相关的代码,我还是希望大家闲余时间取网上找一下有关使用JDK NIO开发服务端、客户端的代码,我会取写这些,但是具体的代码我不会很详细的取介绍,下一章的话可能就要上代码了,具体的规划如下:讲一下NIO基础API的使用、分析Netty的核心思想,使用Reactor模式仿写一个多线程版的Nio程序、再然后就是关于Netty的源码分析了!欢迎关注公众号【源码学徒】回归正题,NIO的高性能除了体现在Epoll模型之外,还有很重要的一点,就是零拷贝!首先大家要先明白一点,所
原创
博文更新于 2021.06.25 ·
364 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

那些迷茫的大学生们,你想过未来的路吗?关于java或许这篇文章能帮助你!

看这标题,我突然词穷了!我不知道我该去说什么!说你们这群大学生,别玩了?还是,你们这却大学生好好努力吧!我似乎不配说,因为我的大学,也是浑浑噩噩,就那样过去了!后知后觉的我,直到毕业半年,才知道,这段回忆是我最不想回忆的时光!也是我心窝里,最不忍诋毁的时光; 说实话,这封信我早就应该写!但是最近太忙了;我写这封信的原因不是我有多好心!也不是我突然去关心大学生们...
原创
博文更新于 2020.06.18 ·
6496 阅读 ·
75 点赞 ·
52 评论 ·
160 收藏

一个Spring Bean从诞生到逝去的九次人生转折!

关于Spring生命周期的学习,前面已经写过很多篇文章去不断的探究Spring对一个Bean的创建、管理过程,在整个SpringBean的生命周期中,BeanPostProcessor是不可绕过的一环,他几乎贯穿了整个Spring Bean的生命周期!几乎我们现在所熟知Bean的生命周期的功能,大部分都是由BeanPostProcessor完成的!比如,依赖注入、循环依赖问题、Aop等,全部都是由BeanPostProcessor的扩展实现的!BeanPostProcessor的学习是我们理解Spring
原创
博文更新于 2020.10.01 ·
389 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

跳出源码地狱,Spring巧用三级缓存解决循环依赖-原理篇

一、循环依赖所产生的原因在探讨Spring三级缓存解决循环引用之前,我们需要了解一点就是Spring所谓的循环依赖到底是什么,是如何产生的,为什么会产生这种问题?这就是经典的一个循环引用的问题,一个类的实例化依赖另外一个类,如果我们不使用Spring管理这两个bean而是自己手动创建,这种循环引用的方式实现极其简单:为什么Spring解决循环依赖比较麻烦呢?因为Spring创建一个Bean是需要通过反射来构建的,构建过程中无法感知这个类具体是什么类型的,它只能够实例化一个填充一个实体!于是:创
原创
博文更新于 2020.09.25 ·
922 阅读 ·
1 点赞 ·
1 评论 ·
8 收藏

Spring:没有人比我更懂Java对象的创建!

一、开篇一问一个Spring Bean是Java对象吗?那么一个对象是Spring Bean吗?带着这个问题我们一起来回顾Spring的生命周期流程,彻底了解一个类在Spring中究竟做了那些操作!我们先看一段代码!诚然,相信只要是使用过Spring的人都应该知道,从Spring容器中获取的对象,里面的EmailServiceImpl是被Spring自动注入了的!但是相同的点是,他们两个都是一个Java对象,都是加载在JVM里面的,那么至少我们现在可以回答的问题了:SpringBean一定是一
原创
博文更新于 2020.09.24 ·
602 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

带你跳出源码地狱,从原理上理解MyBatis对Spring源码的扩展实现

注意今天的文章只会对原理进行分析,可能会涉及少部分代码,但是不会太多,具体的源码分析,请移步牛逼哄哄的Spring是怎么被MyBatis给征服了? ! 建议先阅读本文章,了解原理之后再去观看源码,效果会稍微好一点!今天我们大概从以下几点去讲解MyBatis对于Spring的一个扩展思路!一、FactoryBean是干什么?首先我们至少要知道一个事情,就是FactoryBean的一个大致结构:可以看到,整个 FactoryBean有三个方法:getObject(): 返回具体创建的真实对象!
原创
博文更新于 2020.09.17 ·
281 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

记一次向Spring官方提交PR的失败经历

一、事情始末周末无聊在家,打开Spring源码,想再温习一遍之前学习过的流程,忽然看到一段代码,就是在执行BeanFactoryPostProcessor的逻辑中我发现了这样奇怪的一幕:于是我就把代码改成这个样子(草率了)于是乎,整个代码都简便多了,当时随手写了一个测试类,没报错就直接提交到Spring项目上了,然后申请合并了,当我怀着激动地心,颤抖的手,提交完成之后,一天我都十分亢奋,是不是的打开github,看看作者回复了我没有!二、终于,草率了!到了下午三四点左右的时间,作者回复我了(都
原创
博文更新于 2020.09.12 ·
367 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多