skye_fly
码龄6年
求更新 关注
提问 私信
  • 博客:268,591
    社区:60
    268,651
    总访问量
  • 114
    原创
  • 41
    粉丝
  • 116
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
加入CSDN时间: 2019-10-25
博客简介:

skye_fly的博客

查看详细资料
个人成就
  • 获得243次点赞
  • 内容获得54次评论
  • 获得734次收藏
  • 代码片获得323次分享
  • 博客总排名1,552,709名
创作历程
  • 1篇
    2022年
  • 92篇
    2021年
  • 21篇
    2020年
成就勋章
TA的专栏
  • JVM学习进阶
    13篇
  • Linux入门进阶
    3篇
  • 办公软件
    4篇
  • Redis学习进阶
    24篇
  • JAVA学习进阶
    15篇
  • JUC学习进阶
    6篇
  • MySQL挑战面试官之路
    27篇
  • MyBatis深入理解
    1篇
  • 人生感悟
    1篇
  • Socket通信
    7篇
  • Python学习
    4篇
  • 百度地图开发
    5篇
  • 数据结构与算法
    2篇
  • Ros学习
    3篇
  • 数据库学习
    2篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 8

TA参与的活动 0

兴趣领域 设置
  • 人工智能
    机器学习
  • 区块链
    区块链
创作活动更多

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人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

JVM调优

1. JVM常用命令行https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.htmljava -XX:+PrintCommandLineFlags HelloGC——执行HelloGC.java同时打印出堆内存分配情况以及压缩指针启用情况;-XX:InitialHeapSize=199014080-XX:MaxHeapSize=3184225280-XX:+PrintCommandLineFlags -XX:
原创
博文更新于 2022.01.06 ·
777 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

GC 算法与垃圾回收器

一、三种垃圾清理方法标记清除:扫描两边 + 内存碎片 — (优点)效率高,速度快复制:对象移动 + 内存利用率低 — (优点)无内存碎片,清理速度快标记整理:扫描两边 + 对象移动 + 效率低 — (优点)无内存碎片,内存利用率高二、对象的生命周期尝试在栈中分配 — 进入eden区 — 发生GC — 进入survivor1区 — 进入survivor2区 — 交替在survivor区移动 — 进入old区 — FullGC被清理三、对象所在空间栈上分配的对象线程私有的小对象对象不
原创
博文更新于 2021.12.26 ·
833 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux各类指令

1. 查看一个命令是内部(shell builtin)还是外部命令(path/…/…)type + 命令内部命令用help查看详细信息,外部命令用man查看2. 进程管理 echo $$:打印当前进程号 ps -ef:看出所有进程3. linux利用hash加速外部指令查找第一次使用外部指令时,linux会做两件事1) 从path环境变量中查找该指令并执行命令行;2) 找到该指令后会将该指令映射到hash表中,下次再调用该指令直接从hash表中获取,不需要再通过环境变量查找;
原创
博文更新于 2021.12.23 ·
1332 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JVM GC垃圾回收

GC Root:由堆外指向堆内的引用方法栈帧中的局部变量已加载类的局部变量JNI handles已启动且未暂停的Java线程一、GC Root可达性分析的问题多线程环境下,某些线程可能会将某对象的引用误置为null(误报,其他线程中这个对象正在被引用),或者没有将自己引用过的对象设置为被引用(漏报),可以用以下STW解决。二、Stop the World(老年代回收有时会出现卡顿)停止所有其他非GC的线程的工作,直至完成本次垃圾回收(本质上其他线程并不一定都被挂起暂停,只要运行在安全.
原创
博文更新于 2021.12.23 ·
142 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java代码是如何运行的(run time data area & JVM Instructions)

一、为什么要有Java虚拟机(好处)一次编译,处处运行,将java代码编译成java字节码(JVM中的字节码指令的操作码是一个个为字节单位的),JVM再把java字节码编译成计算机能识别的机器码然后运行;提供java代码的内存管理,也就是垃圾回收;提供编写代码时的异常检测。二、JVM怎么执行java方法基本流程如下:读取方法区.Class字节码中的java方法 —— 在栈中开辟一个栈帧(不连续)存放该线程执行该方法时要用的局部变量 ——JVM将方法的java字节码翻译成机器码交给计算机执行(
原创
博文更新于 2021.12.20 ·
277 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java类的加载机制

一、有哪些类基本数据类型(虚拟机中定义好的,虚拟机启动就存在);引用类型(由类加载器加载);注:基本类型的对象不是都放置在栈中,当在类的中方法中被调用时作为成员变量,放置在栈中;当在方法外部作为全局变量时放在堆中(除了常量池中的基本数据)。二、类加载器启动类加载器:加载最重要的类(启动JVM所需的类),没有java对象,用null代替;扩展类加载器:加载次要的类;应用程序类加载器:加载用户应用程序中所需的类;用户自定义类加载器:实现用户想要的自定义的类加载操作。为什么要那么多类
原创
博文更新于 2021.12.20 ·
173 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java程序执行过程+Class文件解读

学习JVM的目标(可以写到简历上):熟悉GC常用算法,熟悉常见垃圾收集器,具有实际JVM调优实战经验。1. Java程序执行过程:任何语言只要是.class文件,都能被JVM解释执行从而实现跨平台(即时编译得到的是对应操作系统的机器码文件,所以无法跨平台);JVM与java没有关系,只跟.class文件有关系。JVM执行Java语言时是同时有解释执行和即时编译执行的,JVM会对反复执行的热点方法进行即时编译从而提高程序的执行效率。2. Class文件解读用sublime或者IDEA
原创
博文更新于 2021.12.18 ·
1213 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

简历、PPT以及各尺寸学术会议海报模板(附PPT制作图片、视频、音频等素材及常用网址)

最近要去参加一个学术会议,老板要求做一个所投论文的Poster,以前也没接触过,就在网上搜了一下相关内容,这里放上下载的海报模板(直接PPT打开即可使用,也有一些用LaTex编辑的海报模板),包含各种尺寸,有需要的可以自取。在线下载Poster模板的网址:https://www.posterpresentations.com/free-poster-templates.html自己网上收集的模板:链接:https://pan.baidu.com/s/1ylDr_G5_BolVRXheWyDPcg提
原创
博文更新于 2021.12.11 ·
49730 阅读 ·
143 点赞 ·
17 评论 ·
265 收藏

Redis五大影响性能原因(二):多CPU多核架构

一、先放结论:影响原因一(同CPU不同核,多核架构影响):程序在不同核之间切换运行时会有上下文切换(context switch),也就是要将程序原来放在核1上的数据迁移到核2上,影响程序指令执行速度。解决方案:将Redis与某个核绑定,防止Redis进程在不同核之间切换。影响原因二(不同CPU不同核,多CPU架构影响):程序执行时需要通过网络中断程序得到网络数据,当网络中断程序与本程序在不同的CPU上执行时,需要“走远端内存访问”,有通信延迟。解决方案:将网络中断程序与Redis程序
原创
博文更新于 2021.11.27 ·
1248 阅读 ·
0 点赞 ·
2 评论 ·
3 收藏

springboot集成javax mail第三方邮件功能避坑,javax.mail.MessagingException: Exception reading response

springboot集成javax mail使用第三方发送邮件时存在各种各样的异常,正常流程大概如下:1. 邮箱开通smtp功能(以126邮箱为例)2. 项目pom文件导入依赖导入以下几个依赖时会报错Exception in thread "main" java.lang.NoSuchMethodError: com.sun.mail.util.TraceInputStream.<init>(Ljava/io/OutputStream;Lcom/sun/mail/util/MailLo
原创
博文更新于 2021.11.14 ·
4611 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

JMH基准测试 & Disruptor单机最快MQ

一、JMH:Java Microbenchmark Harness(java微基准测试)实操步骤新建Maven项目,导入JMH依赖jmh-core / jmh-generator-annprocess编写测试类以及要测试的方法在test包下新建测试类写一个测试方法,导入要测试的方法并加上注解运行测试方法得到测试报告public class JMHTestDemo { @Benchmark /** 预热,让JVM完成即时编译优化 */ @Warmup(iterati
原创
博文更新于 2021.10.22 ·
352 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

并发容器与线程池

一、容器分类Collection是一个个元素的加到容器;Map是一对对元素的加入容器;Queue主要是为高并发提高服务;物理上只有两种分类:连续存储的数组 + 非连续存储的链表Vector、HashTable是最早期的容器,每个方法都自带Sychronized,基本不用,只需要了解其数据结构;Map高并发时使用ConcurrentHashMap主要是因为它读取数据的速度快,插入数据的速度未必会比HashTable、SychronizedHashMap快;(发展历程:HashTable —
原创
博文更新于 2021.10.22 ·
290 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ThreadLocal与涉及的弱引用/虚引用

一、ThreadLocal每个线程拥有一个独有的ThreadLocalMap对象,线程需要自己往里面设值,之后才能读到自己设置的变量值,线程对他们各自拥有的ThreadLocal对象做更改操作时,其他线程是获取不到这些改动的;结合下图分析:线程中set ThreadLocal对象Object o时:是在当前线程的一个map中加入一个K-V,K是一个ThreadLocal,V是我们往这个ThreadLocal容器中加入的一个对象。(也就是说map中一个entry对应一个TreadLocal对象(Key
原创
博文更新于 2021.10.18 ·
2619 阅读 ·
0 点赞 ·
0 评论 ·
10 收藏

Sychronized & Volatile & Atomic& ReentrantLock工具类 & AQS底层实现

一、SynchronizedSynchronized保障的有序性是指多个线程依次执行同步代码块或者同步方法,对于代码块中的多条指令无法保障有序性;Sychronized的对象在new时要加上final(final Object o = new Object; sychronized(o){}),防止该对象被有些线程篡改,因为锁是加在对象头上的,如果o被指向了新的一个对象,那么其他线程就可以重新在该新的对象头上加锁,导致多线程同时访问某个程序块或者方法。Sychronized重量级的体现:锁是由操作系统
原创
博文更新于 2021.10.05 ·
187 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

线程的三大特性(可见性、有序性、原子性)

一、可见性L1、L2、L3级缓存:缓存中有变量时,如果不加限制,CPU直接从当前最近的缓存读取变量值,不会去内存中读,所以多核并发执行的线程之间可能同一个变量同一时间有不同的值(初始时刻缓存中没有的变量会从内存中读取,然后一级级的保存到缓存中,下次CPU使用时会从最近的缓存中读取该变量)另外,不加限制的话,CPU什么时候将计算好的变量新值写入内存中也是无法预知的。缓存行:为了减少从内存读数据的次数,每次操作系统访问内存空间都会一次性读取64Byte大小的数据,在缓存中以一行的形式存放该64字节数据
原创
博文更新于 2021.10.05 ·
3016 阅读 ·
0 点赞 ·
0 评论 ·
13 收藏

线程基础补充

一、线程切换(上下文切换)当一个线程需要切换到另一个线程时,将该线程在CPU寄存器中的资源放入缓存中,将另一个线程需要的资源从缓存中取出放入CPU寄存器并开始执行。二、线程分类CPU密集型:线程大多数时间在执行CPU运算;IO密集型:线程大多数时间在执行IO;混合型:大多数线程既有CPU运算和又有IO;三、线程数量选择计算公式:N_thread = N_cpu * U_cpu *(1+W/C)W:线程等待时间C:线程利用CPU计算时间(特例:线程运行时间与等待时间相等,所以发挥
原创
博文更新于 2021.10.05 ·
153 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

系统调用与计算机CPU工作模式

一、系统调用创建进程需要由老的进程执行fork系统调用得到新的子进程;fork:子进程拷贝一份父进程一模一样的数据结构,内存,程序代码等;(先拷贝,再修改)进程的私有内存每个进程启动后都会在内存中分配一块空间;(放程序的代码段 + 进程运行时产生的数据段)进程数据段内存分配局部变量==》栈中;手动回收的数据==》堆中;只有当进程要向内存中写入数据的时候,发现没有对应的物理内存,才会触发中断,被分配一块物理内存(brk系统调用方法会划出少量的内存空间并紧挨着原来的进程数据段;当请求
原创
博文更新于 2021.09.30 ·
647 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux入门常用命令

一、查看文件列表ls -l# ls -ldrwxr-xr-x 6 root root 4096 Oct 20 2017 apt-rw-r--r-- 1 root root 211 Oct 20 2017 hosts第一个字符是文件类型,d表示目录,-表示普通文件;后面9个字符是三组(三个一组rwx)权限位,依次表示所属用户,所属组以及其他用户对该文件是否有读、写、执行的权限(可以用chmod 711 hosts改变权限);二、安装删除软件rpm -i 文件名.rpm d
原创
博文更新于 2021.09.30 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

不同场景Redis集合类型数据结构的选择(Hash、List、Set、Zset各数据类型的最大存储长度)

先给出指导意见:多个集合操作(聚合操作)----用Set;集合数据排序(排序操作) ---- 分页排序建议使用ZSet;集合数据只有0、1两种状态(二值型数据)----------- 0/1状态数据建议使用Bitmap;集合中不重复元素个数(基数统计)----如果数据量达到亿级的话建议使用HyperLogLog。1. 多个集合操作(聚合操作)Set—求多个集合数据的并、差、交集(求并、差、交集计算量大,可以选一个从库单独进行,或者将多个集合返回客户端,到客户端进行计算)2. 集合数据排序
原创
博文更新于 2021.09.28 ·
3120 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

MySQL的一些相关问题,B+树高度,分库分表,以金字塔形调优

到这篇为止,丁奇大佬的专栏《MySQL实战45讲》已经看完了,再次感谢前人的经验总结。之后会在这篇文章持续更新自己在实际中碰到,学到的MySQL其他相关知识。1.join操作驱动表的选择使用join时MySQL优化器会自动选择使用那张表作为驱动表;使用left join时如果没有where判断那么左侧的就是驱动表,如果存在where判断那么MySQL经过优化器分析会选择最合适的表作为驱动表(不一定时用户指定的左侧的表)。2.group by与distinct执行效率的问题group by默认
原创
博文更新于 2021.09.28 ·
333 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多