04 2022 档案

摘要:1. 根节点枚举 迄今为止,所有收集器在根节点枚举这一步骤时都是必须暂停用户线程的。 现在可达性分析算法耗时最长的查找引用链的过程已经可以做到与用户线程一起并发。 但根节点枚举始终还是必须在一个能保障一致性的快照中才得以进行。 目前主流Java虚拟机使用的都是准确式垃圾收集,虚拟机应当是有办法直接得 阅读全文
posted @ 2022-04-14 22:49 YangDanMua 阅读(212) 评论(0) 推荐(0) 编辑
摘要:1. 分代收集理论 当前商业VM的垃圾收集器大多遵循了分代收集 Generational Collection理论进行设计,该理论基于一下分代假说。 弱分代假说 Weak Generational Hypothesis:绝大多数对象都是朝生夕灭的 强分代假说 Strong Generational 阅读全文
posted @ 2022-04-14 22:13 YangDanMua 阅读(38) 评论(0) 推荐(0) 编辑
摘要:1. 概述 垃圾收集器 Garbage Collection。 垃圾收集器需要完成的三件事 哪些内存需要回收 什么时候回收 如何回收 只有Java堆和方法区需要考虑内存回收,程序计数器、虚拟机栈、本地方法栈的内存分配和回收都具有确定性。 2. 如何判断对象已死 1. 引用计数法 Reference 阅读全文
posted @ 2022-04-14 21:50 YangDanMua 阅读(34) 评论(0) 推荐(0) 编辑
摘要:1. HotSpot 虚拟机对象 如何创建、如何布局、如何访问。 2. 对象创建 Class加载 --> 内存分配 --> 内存初始化 --> 对象初始化. 2. 类加载 当VM遇到字节码 new 指令,检查这个指令的参数在常量池能否定位到一个类的符号引用,并检查这个符号引用代表的类是否已被加载、解 阅读全文
posted @ 2022-04-13 22:17 YangDanMua 阅读(89) 评论(0) 推荐(0) 编辑
摘要:1. 运行时数据区域 注意JVM运行时数据区域与Java内存模型的区别 JVM 运行时数据区域:JVM 所管理的内存划分 Java内存模型:屏蔽底层硬件和操作系统的区别,在语言级抽象java的内存访问,使得在不同的环境中java一致的内存访问效果 2. 程序计数器 Program Counter R 阅读全文
posted @ 2022-04-13 21:32 YangDanMua 阅读(58) 评论(0) 推荐(0) 编辑
摘要:1. ImportBeanDefinitionRegistrar // 和 DeferredImportSelectors 类似, 也可以自己注册 BeanDefinition // 不过这个接口可以继承 EnvironmentAware、BeanFactoryAware、BeanClassLoad 阅读全文
posted @ 2022-04-10 16:48 YangDanMua 阅读(79) 评论(0) 推荐(0) 编辑
摘要:1. 使用的地方 是一个 ConfigurationClassParser 的成员变量,主要是用于判断循环导入? 2. ImportStack 3. 第一处使用 ConfigurationClassParser#processMemberClasses 这个是处理一个类的内部类的,包括静态内部类和实 阅读全文
posted @ 2022-04-10 16:10 YangDanMua 阅读(203) 评论(0) 推荐(0) 编辑
摘要:1. DeferredImportSelector 接口 具体注释待续。 类头注释的英文翻译:ImportSelector的一个变体,在处理完所有@Configuration bean之后运行。当所选导入为@Conditional时,这种类型的选择器特别有用。 实现也可以扩展org.springfr 阅读全文
posted @ 2022-04-09 23:10 YangDanMua 阅读(155) 评论(0) 推荐(0) 编辑
摘要:处理逻辑在 org.springframework.context.annotation.ConfigurationClassParser#processImports。 暂时略其子接口 DeferredImportSelector 1. ImportSelector 接口 selectImport 阅读全文
posted @ 2022-04-09 22:30 YangDanMua 阅读(54) 评论(0) 推荐(0) 编辑
摘要:1. 解析逻辑 具体逻辑在 org.springframework.context.annotation.ConfigurationClassParser#processImports 中,下面的 importCandidates 即为 @Import 导入的类的列表。 最后的一个 else 即为普 阅读全文
posted @ 2022-04-09 22:24 YangDanMua 阅读(155) 评论(0) 推荐(0) 编辑
摘要:1. 概述 同样是 org.springframework.context.annotation.ConfigurationClassParser#doProcessConfigurationClass 开始 org.springframework.context.annotation.Config 阅读全文
posted @ 2022-04-09 22:15 YangDanMua 阅读(66) 评论(0) 推荐(0) 编辑
摘要:1. 概述 配置类是 ConfigurationClassPostProcessor 这个 BeanFactoryPostProcessor(BeanDefinitionRefistryPostProcessor)处理的,内部实际是使用了一个 ConfigurationClassParser进行具体 阅读全文
posted @ 2022-04-09 21:44 YangDanMua 阅读(125) 评论(0) 推荐(0) 编辑
摘要:《代码整洁之道》很有收获 阅读全文
posted @ 2022-04-09 00:46 YangDanMua 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1. 概述 当使用 spring-context 搭建简单 demo 时,调用 BeanDefinitionRegistryPostProcessor 第一个就是 ConfigurationClassPostProcessor 同时注意到它干了什么,它 getBean 立即将其转换为 Bean / 阅读全文
posted @ 2022-04-08 23:38 YangDanMua 阅读(54) 评论(0) 推荐(0) 编辑
摘要:1. 概述 前面说到 Reader 实例化时注册了一些 BD 进入容器。 在 refresh 过程中,也注入了一些 Bean 到容器,注意这里注入的不是 BD 而是直接注入 Bean。 2. prepareBeanFactory org.springframework.context.support 阅读全文
posted @ 2022-04-08 21:56 YangDanMua 阅读(56) 评论(0) 推荐(0) 编辑
摘要:1. 概述 作为AnnotationConfigApplicationContext的字段 public class AnnotationConfigApplicationContext extends GenericApplicationContext implements AnnotationC 阅读全文
posted @ 2022-04-08 21:38 YangDanMua 阅读(177) 评论(0) 推荐(0) 编辑
摘要:1. AnnotationConfigApplicationContext 的 reader 和 scanner public AnnotationConfigApplicationContext(Class<?>... componentClasses) { this(); // 注册解析这个 B 阅读全文
posted @ 2022-04-08 20:54 YangDanMua 阅读(149) 评论(0) 推荐(0) 编辑
摘要:切换到指定 tag:git checkout v5.3.15 根据指定 tag 新建分支:git checkout -b v5.3.15-comments v5.3.15 ok 阅读全文
posted @ 2022-04-08 01:23 YangDanMua 阅读(3102) 评论(0) 推荐(0) 编辑
摘要:主要是在下载Spring-Framework源码的时候,一是下载时间长(码云下载的),二是报错了。 安装网上的改了git缓存还是不行,就想起之前baidu wangpan 下载的时候路径超长问题。 解决:Win10/Win11 开启长路径 Win + R,输入执行:gpedit.msc(本质是执行 阅读全文
posted @ 2022-04-08 01:09 YangDanMua 阅读(1216) 评论(0) 推荐(0) 编辑
摘要:0.x http://c.biancheng.net/view/884.html 需要注意的是,使用"ls -r"命令是可以看到文件的大小的。但是大家会发现,在使用"ls -r"命令査看目录大小时,目录的大小多数是 4KB,这是因为目录下的子目录名和子文件名是保存到父目录的 block(默认大小为 阅读全文
posted @ 2022-04-07 23:45 YangDanMua 阅读(4551) 评论(0) 推荐(0) 编辑
摘要:0. x 前面已经使用了lsblk查看到了所有磁盘及分区,及磁盘/分区大小、权限等信息。 现在则需要查看磁盘的使用状况等 2. df [选项] [目录或文件名] http://c.biancheng.net/view/883.html 选项 作用 -a 显示所有文件系统信息,包括系统特有的 /pro 阅读全文
posted @ 2022-04-07 23:34 YangDanMua 阅读(1753) 评论(0) 推荐(0) 编辑
摘要:0. 功能 所有磁盘 磁盘及其下的分区,文件系统 filesystem 类型 磁盘、分区大小 1. lsblk lsblk 指令 https://ipcmen.com/lsblk 用于列出所有可用块设备的信息【块设备与字符设备】,不会列出 RAM 信息。 块设备有硬盘,闪存盘,cd-ROM等等。ls 阅读全文
posted @ 2022-04-07 23:05 YangDanMua 阅读(4184) 评论(0) 推荐(0) 编辑
摘要:1. restful接口设计规范总结 https://www.jianshu.com/p/8b769356ee67 2. RESTful API 设计指南 http://www.ruanyifeng.com/blog/2014/05/restful_api.html 3. 《RESTful Web 阅读全文
posted @ 2022-04-07 21:17 YangDanMua 阅读(48) 评论(0) 推荐(0) 编辑
摘要:继承体系 Collection、Map、List、Set、Queue 是否有序、是否可重复、键值对 集合fail-fast机制 错误检测机制, 防止对非线程安全集合的并发修改 ConcurrentModificationException 如何创建不可变集合 Collections#unmodifi 阅读全文
posted @ 2022-04-07 20:25 YangDanMua 阅读(39) 评论(0) 推荐(0) 编辑
摘要:详解Java中的BIO、NIO、AIO:详解Java中的BIO、NIO、AIO - 掘金 (juejin.cn) Java核心(五)深入理解BIO、NIO、AIO:Java核心(五)深入理解BIO、NIO、AIO - 云+社区 - 腾讯云 (tencent.com) 整天背诵五种I/O模型/epol 阅读全文
posted @ 2022-04-07 18:21 YangDanMua 阅读(40) 评论(0) 推荐(0) 编辑
摘要:JDK 和 JRE 区别 JDK: Java Development KLit, Java 开发工具包, 包含开发环境和运行环境 编译器 调试器 其他工具 JRE JRE: Java Runtime Environment, Jav 运行时环境 JVM API 支持文件 Java11后没有 JRE 阅读全文
posted @ 2022-04-07 18:03 YangDanMua 阅读(20) 评论(0) 推荐(0) 编辑
摘要:#{} 和 读 dollar [ˈdɑːlər]) #{}是预编译处理,{}是字符串替换。 Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值; Mybatis在处理{}时,就是把${}替换成变量的值。 使 阅读全文
posted @ 2022-04-06 01:03 YangDanMua 阅读(40) 评论(0) 推荐(0) 编辑
摘要:{}是对sql和参数值进行直接的字符串拼接,而#{}则解析为PreparedStatement的占位符? #{}能够避免sql注入 扩展/原理 mybatis对于{} 和 #{} 解析的源码。 mybatis 解析#{} 会对传入String类型的参数加上双引号"" 如果参数自己就有呢 加的逻辑 阅读全文
posted @ 2022-04-05 23:48 YangDanMua 阅读(71) 评论(0) 推荐(0) 编辑
摘要:其他语言的注释配置基本上类似 阅读全文
posted @ 2022-04-04 15:45 YangDanMua 阅读(98) 评论(0) 推荐(0) 编辑
摘要:1.升级Ubuntu软件资源库 sudo apt update && sudo apt upgrade -y 2.查找apt中的jdk版本 apt-cache search openjdk 3.安装open jre sudo apt-get install openjdk-17-jre 4.安装op 阅读全文
posted @ 2022-04-04 15:16 YangDanMua 阅读(1073) 评论(0) 推荐(0) 编辑
摘要:https://padeoe.com/use-pytorch-in-windows-subsystem-for-linux/#:~:text=%E5%BC%80%E5%90%AF%E5%90%8E%E5%A6%82%E4%BD%95%E6%89%93%E5%BC%80%20Linux%20%E5%A 阅读全文
posted @ 2022-04-04 14:50 YangDanMua 阅读(289) 评论(0) 推荐(0) 编辑
摘要:【谨慎操作】 我之前操作后zsh的oh-my-zsh就失效了,因此这个操作最好在刚安装时就处理 1. 查看已安装的Linux子系统 wsl -l --all -v 2. 停止linux子系统 wsl --shutdown Ubuntu20.04LTS wsl -l --all -v 3. 将Linu 阅读全文
posted @ 2022-04-04 14:01 YangDanMua 阅读(177) 评论(0) 推荐(0) 编辑
摘要:参考: [Linux 效率神器——开始使用 Zsh - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/63585679) [Windows Terminal美化杂记-Ubuntu子系统换zsh_Yuhao~的博客-CSDN博客](https://blog. 阅读全文
posted @ 2022-04-03 02:16 YangDanMua 阅读(426) 评论(0) 推荐(0) 编辑
摘要:1. bash 指令位置 通过basb可以快速打开Linux子系统的bash 查看指令位置(需要在命令提示符下,在PowerShell中好像不行) where bash 得到指令地址 2. 配置IDEA 3. 改变Terminal窗口字体等 3. 配置其他 上面的配置是最基本的shell配置,但是在 阅读全文
posted @ 2022-04-03 01:15 YangDanMua 阅读(263) 评论(0) 推荐(0) 编辑
摘要:很详细,按照流程安装成功: [Win10 系统安装 Linux 子系统教程(WSL2 + Ubuntu 20.04 + Gnome 桌面 )](https://blog.csdn.net/FSKEps/article/details/118493578) [Win11 安装 WSL2](https: 阅读全文
posted @ 2022-04-03 01:04 YangDanMua 阅读(36) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示