八股打卡(六)

高压脉冲发生器的各种电路图 阅读详情

Java四种引用类型(回顾复习)

  1. 强引用:Java中最常见的引用类型。当一个对象是强引用指向它时,那么它不会被垃圾回收器回收。
  2. 软引用:用于有用但是非必需的对象。当一个对象只有软引用指向它时,那么系统内存不足时,垃圾收集器会试图回收它。软引用适用于实现内存敏感的缓存,内存不走时释放缓存中的对象。
  3. 弱引用:生命周期比软引用短。当一个对象只有软引用指向它时,那么下一次垃圾回收的时候,不管系统内存是否充足,这些对象都会被回收。弱引用适用于实现对象缓存,但不希望缓存的对象影响到垃圾回收的情况。
  4. 虚引用:Java中最弱的引用类型。当一个对象只有虚引用指向它时,那么任何时候,它都有可能被垃圾收集器回收。在对象回收之前,会被放到一个队列,供程序员处理。虚引用适用于跟踪对象被垃圾回收的时机,以便提供必要的清理或记录。

垃圾回收算法

标记-清除算法

该方法分为两个阶段:标记阶段和清除阶段。标记阶段通过根节点,标记所有从根节点开始可达的对象,未被标记的对象就是未被引用的垃圾对象。清除阶段要对这些未被引用的对象进行清除。
适用于:存活对象较多/老年代。

复制算法

从根集合节点开始扫描,标记所有存活对象,将这些存活对象复制到一块新的内存,将原来的旧内存进行回收。
适用于:存活对象较少/新生代。
缺点:需要一块新的内存空间;复制移动对象;复制算法的高效性建立在存活对象少、垃圾对象多的基础上,这种情况常出现于新生代,而在老年代中存活对象多,使用复制算法会增加复制的成本。

标记-整理算法

该算法是标记-清除算法的优化版。它也是从根节点开始标记所有可达对象,与标记-清除算法直接清除未被标记的对象的做法不同,该算法将所有存活对象压缩到内存的一侧,清除边界外的所有空间,这种算法不需要两块相同的内存,又能避免产生碎片,性价比较高。常用于老年代。

分代收集算法

现在的虚拟机采用的是分代收集算法。堆分为老年代和新生代,堆外还有一个永久代,对不同的代采取不同的算法。老年代存活对象多,没有额外空间分配,使用标记-整理算法或标记-清除算法,新生代存活对象少,使用复制算法。

垃圾回收器

新生代垃圾回收器

  1. Serial收集器,采用复制算法,是新生代单线程收集器,当收集开始其他工作线程必须停止直至收集完毕。适用于Client模式下的虚拟机。
  2. ParNew收集器,采用复制算法,是新生代并行收集器,Serial收集器的多线程版本。
  3. Parallel Scavenge收集器,新生代并行收集器,追求高吞吐量和高效使用CPU。

老年代垃圾回收器

  1. Serial Old收集器,采用标记-整理算法,是单线程收集器,Serial收集器的老年代版本。
  2. Parallel Old收集器,采用标记-整理算法,是并行收集器,Parallel Scavenge收集器的老年代版本。Java1.6后出现。
  3. CMS收集器,采用标记-清除算法,以获取最短回收停顿时间为目标的垃圾收集器。适用于对服务器响应速度有要求的情况。分为四个步骤:初始标记,并发标记,重新标记,并发删除。

新生代和老年代垃圾回收器

G1收集器是分代垃圾收集器,主要采用标记-整理算法。
优点:

  1. 独特的分代垃圾收集器,兼顾新生代和老年代。
  2. 使用分区算法,不需要eden,新生代和老年代空间都连续。
  3. 并行度:垃圾回收时多个线程可以并行工作,利用多核cpu资源。
  4. 空间整理:回收期间,会进行适当对象移动,减少空间碎片。
  5. 可预见性:G1垃圾回收器可以选择部分区域进行回收,减少回收范围,降低全局停顿。

步骤:

  1. 初始标记:标记从GC root直接可达的对象;
  2. 并发标记:从GC root开始对堆中对象进行可达性分析,找出存活对象;
  3. 最终标记:标记在并发标记阶段发生变化的对象,将被回收;
  4. 筛选回收:对每个region的回收价值和成本排序,按照用户预期的GC停顿时间,指定回收计划,回收一部分region。

类加载机制

类加载机制是Java虚拟机在运行Java线程时将类加载到内存的过程。分为三个阶段:

加载

在该阶段,类加载器会查找类的字节码文件,放入内存当中。这个字节码可能在文件系统、网络等位置。该阶段不会执行类中的静态初始化代码。

连接

  1. 验证:确保类文件的格式正确,没有不安全的构造。
  2. 准备:为类的静态变量分配内存,赋予默认的初始值。
  3. 解析:将类、接口、字段、方法中的符号引用解析为直接引用,即内存地址。

初始化

该阶段执行类的静态初始化代码,包括静态字段的赋值和静态代码块的执行。静态初始化会在类第一次使用时进行,可以是创建实例、访问静态字段、调用静态方法。

双亲委派机制

双清委派机制是Java类加载器的一种设计模式,规定了类加载的方法和顺序。它保证了Java核心库的安全性和一致性。核心思想是:如果一个类加载器收到了类加载请求,它会默认委托给父类加载器处理,只有父类加载器无法加载时才会自行尝试加载。这样能够提高安全性,保证了核心库的类不被篡改。因为所有类最终都会通过顶层的启动类加载器来加载。另外,由于类加载器直接从父类加载器加载类,避免了类的重复加载。

Spring AOP

面向切面编程,是一种横切的技术,剖解开封装对象的内部,将影响多个类的公共行为封装到一个可重用的模块,称之为切面。这样可以减少系统的重复代码,降低模块之间的耦合度。
Spring AOP代理是由Spring IOC容器生成、管理的,依赖关系也由IOC容易管理。因此AOP代理可以使用容器中的其他bean实例作为目标。Spring创建代理的规则为:默认jdk动态代理,这样对于任何接口实例都可以创建代理;如果代理的是类不是接口,那么切换到cglib代理,也可以强制cglib代理。
AOP编程分为三部分:

  1. 定义普通业务组件;
  2. 定义一个切点,这个切点可以横切多个业务组件;
  3. 定义增强处理,这是AOP框架中为普通业务组件织入的处理操作。

Spring IOC

Spring IOC,就是控制反转,它的核心思想是让对象的创建和依赖关系由容器控制,不需要自己new出来,保持组件之间松散的耦合。
容器实际上就是一个Map,里面存放各种对象。通过依赖注入,Spring容器能够在运行时动态地将依赖注入到需要它们的容器当中,不需要对象去创建或寻找依赖。这样大大简化了应用的开发,将应用从复杂的依赖关系中解放出来。举个例子,实际项目中,一个service可能有成百上千个底层类,对这个service实例化,每次都要理清底层类的构造函数,而采用IOC,则只需要配置好,在需要的位置引用即可。
Spring通过XML文件配置,SpringBoot通过注解来配置。通过配置告诉Spring容器如何创建对象,如何管理对象的生命周期。
总而言之,Spring IOC是一个中心化的、能够管理应用所有对象生命周期的一个强大工具。

Bean的作用域

Bean是组成应用程序的主体和Spring IOC容器所管理的对象。Bean的作用域分为以下几种:

  1. 单例:默认的作用域。当一个Bean 的作用域为Singleton,那么容器中只会有一个共享的Bean实例。所有对该Bean的请求,只要id与Bean的定义相同,那么旧返回同一个Bean实例。
  2. 原型:当一个Bean的作用域为prototype,那么一个Bean定义可以对应多个对象实例。对于该Bean的每一次请求,都会创建一个新的Bean实例。
  3. 请求:一个HTTP请求是一个Bean实例,每个请求都有自己的Bean实例,只在请求期内有效。
  4. 会话:一个HTTP会话是一个Bean实例,与用户会话周期相同。
  5. 应用程序:在ServletContext中定义的Bean,是为整个应用程序所共享的一个Bean实例。
  6. WebSocket:在WbSocket生命周期内,一个WebSocket会话拥有一个Bean实例。

Bean的生命周期

Bean的生命周期指的是创建Bean到销毁Bean的过程。

  1. 创建实例:容器通过构造器或工厂方法来创建Bean的实例/
  2. 设置属性:容器为Bean设置属性,这些属性可能是其他Bean的引用,也可能是简单的配置值。
  3. 判断Aware接口设置依赖关系:如果Bean实现了BeanNameAware或BeanFactoryAware接口,那么调用setBeanName()或setBeanFactory()方法,如果Bean实现了ApplicationContextAware接口,那么调用setApplicationContext()方法将Bean的上下文引用进来。
  4. 前置处理:Spring调用所有注册的BeanPostProcessor接口的postProcessBeforeInitialization()方法。
  5. 初始化:如果Bean实现了InitializingBean接口,调用afterPropertiesSet()方法,如果设置了init-method,容器也会调用这个方法。
  6. 后置处理:Spring调用所有注册的BeanPostProcessor接口的postProcessAfterInitialization()方法。
  7. Bean使用:Bean准备好,可以用了。
  8. Bean的销毁:容器关闭时,如果Bean实现了DisposableBean接口,那么调用destroy()方法,如果定义了destroy-method,那么也调用这个方法。
  9. Bean结束:容器销毁Bean,Bean生命结束。
PreScan快速入门到精通第十一讲之PreScan道路标记,建筑物、抽象物体及交通标识 道路标记目的:路标是为了完善智能驾驶实验场景。用途:道路标记是附加在道路段上的。标记的大小{小、大}、颜色,以及相对于路段的位置和方向可以在属性编辑器中设置。也可以指定褪色和孔洞,类似于路段自动添加标记的配置。在GUI中的位置:作为一个预定义的库元素格式:NAMBOX: 汇编表中不知道。PreScan包含三个不同国家的标记:荷兰、日本和美国。可以通过在国家首选项中切换国家来隐藏或显示。附件道路标线附在路段上,并相对于路段原点定位。默认情况下,道路标记被固定在路段上,用小锚点表示。11.2 建筑物目... 阅读详情

相关推荐

Codex Skill:AI编程助手的专项能力扩展与实战指南

在AI编程助手领域,Skill(技能)是一种标准化的能力扩展机制,它通过封装特定任务所需的指令、资源和脚本,解决AI模型在专项任务上的能力局限。其核心原理是将专业知识和工作流程模块化,让通用AI助手能够像领域专家一样执行复杂任务。从技术价值看,Skill不仅提升了代码生成的准确性,更重要的是实现了业务流程的自动化集成,如代码规范检查、API文档生成等具体场景。这种机制特别适用于需要结合内部工具链和特定业务逻辑的企业环境,能够显著提升开发效率和质量。通过安装PPT生成、SpringBoot项目创建等专项Ski

weixin_33672109的博客 413

卡码网八股训练营40天打卡ending

值得一提的是这个录音打卡的方式,能很好的模拟面试时的情况,因为在面试中,我们很难大段大段地输出专业的名词,只能将相关的知识转换为自己的理解再讲述出来。同时,每天还有精华帖子,可以听一下其他同学的录音,与自己的进行比较,对自己的语音组织进行改进。在这个训练营中,我几乎坚持每天,偶尔遇到有事,也会在之后补回来。通过按时的打卡,我加深了对各类八股文知识的理解,也学习到了新的知识。

linyuanalice的博客 710

IEEE PHM 2012轴承数据实战:用LSTM预测剩余寿命的完整流程与调参心得

本文详细解析了如何利用IEEE PHM 2012轴承数据集和LSTM模型进行轴承剩余寿命预测。从数据预处理、特征工程到LSTM模型架构设计和调参技巧,提供了完整的实战流程。特别分享了FEMTO-ST数据集的处理方法、RUL标签构建策略以及提升预测精度的关键技巧,帮助工程师实现更准确的预测性维护。

weixin_31100517的博客 368

40天的八股文总结

四十天前报名参加了卡哥的八股文训练营,在这四十天中每周都在训练营中打卡,可以通过念出来的方式进行八股文的记忆,同时还可以听到其他训练营中的朋友们的打卡,这让人感觉非常的有动力,每天都有更强烈的记忆八股文的信念。回头看都是慢慢的收获。

weixin_45138295的博客 417

ExoPlayer硬解码实战:如何绕过系统默认软解码提升播放性能(附完整代码)

本文深入剖析了ExoPlayer默认解码器选择机制的不确定性,并提供了通过自定义MediaCodecSelector强制启用硬解码的完整实战方案。该方案能有效解决因软解码导致的播放卡顿、黑屏花屏及高功耗问题,显著提升Android应用在各种设备上的视频播放性能与稳定性。

weixin_29295541的博客 456

STM32平台中ARM架构向量表配置:手把手教程

深入讲解STM32平台下arm架构的向量表配置方法,结合实际操作步骤,帮助开发者掌握中断向量的定位与初始化,提升嵌入式系统开发效率。

weixin_42514540的博客 802

卡哥四十天八股训练营学习总结与感悟

需要承认的是,这40天的八股内容大多都很基础(就需要这样的),但是卡哥也配备了相应的学习文档执导大家应该学习到什么程度,同时也会给予相应的拓展学习链接(虽然我很少看hhhh)。面试的时候经常会出现这样的情况:前两天背的八股在今天的面试中都用上了,就感觉很爽。而且感觉实习面试的八股都是比较简单的,相对来说基础很多(不知道秋招是不是)。下面我会分两个模块,分别记录实习面试当中被问到的八股训练营内容,以及我被问到的答得不好的其他八股,gogogo。指针和引用的区别,左值引用和右值引用的区别?(记不清了,但必会)

ly_qwq77的博客 1995

爬虫风控实战:当你的代理IP被数美滑块盯上时,如何优雅破解?

本文深入探讨了爬虫风控对抗中数美滑块验证码的破解与防御策略。通过分析数美滑块的多层防御机制,提出了代理IP池精细化管理、请求特征拟人化改造以及工程化滑块验证解决方案等系统性方法,帮助开发者有效降低验证码触发率,提升爬虫效率。

weixin_27419879的博客 207

代码随想录八股训练营 完成总结

其实我感觉这次的八股打卡还是留有一些遗憾的,因为我在第三周和第四周的时候,生了病心情也不好,直接旷了两周的打卡。不过,我在最后两周的时候,一天打两天的卡,赶着今天把所有的打卡都补完了。

weixin_64434454的博客 1379

Verilog单周期CPU设计(超详细)

实验 单周期CPU一、设计目的与目标实验内容实验要求二、课程设计器材硬件平台软件平台三、 CPU逻辑设计总体方案指令模块MIPS指令格式指令处理流程数据通路总体结构图设计流程逻辑图四、模块详细设计PCAdd4PCINSTMEMDATAMEMSHIFTER32_L2SHIFTER_COMBINATIONMUX4X32MUX2X5EXT16T32MUX2X32CONUNITREGFILEALUSing...

Ace Cheney的博客 9万+

信创改造实战:SpringBoot项目迁移到宝兰德BES 9.5.5的完整避坑指南(附依赖与web.xml配置)

本文详细介绍了将SpringBoot项目迁移到宝兰德BES 9.5.5的完整流程,包括依赖改造、web.xml配置降级等关键步骤。通过实战案例和避坑指南,帮助开发者高效完成国产中间件适配,确保项目平稳运行。特别针对Tomcat依赖排除和BES适配器选择提供了专业建议。

weixin_30689307的博客 741

代码随想录八股训练营总结

代码随想录八股训练营总结

m0_67804957的博客 966

python代码实现了一个基于图注意力网络(GAT)和长短期记忆网络(LSTM)的股票成交量预测模型

自定义数据集类:定义了类,继承自。该类用于生成股票数据的时间序列样本,每个样本包含一个长度为seq_length的时间序列和对应的目标成交量。数据加载器:使用DataLoader对数据集进行批量加载,设置批量大小为 64,并开启数据打乱功能。GAT - LSTM 模型:定义了GAT_LSTM类,继承自。该模型结合了 GAT 和 LSTM 两种神经网络:GAT 部分:使用GATConv处理全局图特征,捕获股票之间的相互关系。LSTM 部分:使用nn.LSTM处理时间序列数据,捕捉时间序列的动态变化。

huanghm88的专栏 425

关于目前面试八股文的一些心得体会

现在出去面试,明显能够感觉到和之前不一样了,八股文几乎是每个厂家的必备面试环节,从计算机网络,数据库,操作系统,到具体语言的实现细节,都会问到并且会深入去挖掘。这个网站,有配套的视频,有由浅入深的讲解,有几乎全覆盖的从简单的数组到动态规划等进阶难度,非常全面。一方面,随着信息的传播,越来越多的新人涌入了这个赛道,另一方面,众所周知的原因,不管大厂还是小厂在经历寒冬之后,要么裁员,要么停止扩张。自九月初开始,至今为止,坚持了40天的打卡,窃以为,随着时间和自己的努力,对八股文的理解有了很大的提升。

my博客 497

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

代码随想录---八股文训练营Day40(总结)

最后,其实这段40天的八股训练营对我的好处有点多,不论说是帮我梳理了知识体系还是说让我把之前背不下来的八股背下了,这都对我的用处很大,并且我也把这40天的八股训练记成了笔记,也算是我以后面试前突击的一个小资料吧。

qq_50993361的博客 1201

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

代码随想录八股文训练营总结

【摘要】本文总结了代码随想录八股文训练对面试准备的帮助。代码随想录整理的高频题目虽然数量不多,但能串联相关知识点进行拓展,覆盖了大厂常见考题。以TCP四次挥手为例,不仅掌握基础概念,还能深入理解实际应用中的变通方案和相关衍生问题。3月以来的实习面试中,遇到的八股文基本都在准备范围内。建议结合录音功能反复练习回答技巧,同时要根据自身技术栈(如C++)补充其他资料系统整理。最后强调持续学习的重要性。

stm_white的博客 464

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

代码随想录-八股文训练营-结营总结

代码随想录-八股文训练营-结营总结

Yu13682352451的博客 1053

40天背C++八股文

坚持每天打卡背八股不是一件简单的事,就算在有每天打卡要求的情况下也会漏掉几天,还是需要别人推动你去做这件事,事情驱动型的做,才会做到坚持不懈。为了找工作自己付出了多少时间和精力,一定会在未来有所回报的,朝着心中既定的目标去,一定会成功,只是时间问题,但是我会在既定的时间内做到最好!从今天开始回顾卡码网八股文的同时也要开始背嵌入式的八股,每天都背一点,积少成多!同时每天也要刷题+准备项目!

weixin_47450156的博客 128

代码随想录八股训练营

解决焦虑的最好的办法就是动手做”,我一直也都是很抗拒八股的,从2月开始,一直都跟着八股训练营开始每天打卡八股,即便再忙也会把八股训练营当做一个每天必须完成的任务。虽然现在找实习仍然还是0offer,但是面试的时候八股确实答得很溜了。唉,希望我能够拿到心仪的offer吧。

m0_63594371的博客 120

代码随想录八股文打卡40天心得体会

【代码】【无标题】

summitcode的博客 144

卡码八股训练营40天心得总结

40天,说长不长,说短不短,但对于我来说,这段时间无疑是一次全新的挑战与蜕变。从每天坚持打卡、录音,到不断琢磨“八股”的写作方法,我不仅学会了如何严谨地构思和表达,更在这过程中体会到了持续努力的力量。

qq_45975088的博客 383

八股训练营40天打卡

由于自己在本科的基础打的不是很好,有很多东西也是一知半解。最近面临毕业找工作的难题,对于那些八股文很是头疼,在去年的时候我看了一个月的JavaGuide,看的时候觉得已经会了,但是今年回过头再看,发现根本说不出来。后来过年在刷题的时候,看到了代码随想录中有八股文训练营这个平台,感觉这个很不错,能够督促我,并且通过录音知道自己在实际中是什么鬼样子,及时调整。还能看到其他大佬对问题的理解。

NLXXDMX的博客 132

八股训练营总结篇

本人非科班出生,基础很差,起初加入八股训练营的目的是想快速过一遍八股,好在年底找到一个日常实习,但在打卡过程中发现,没有基础直接背诵是很痛苦的一件事,翻来覆去即使背下来了后修还是会忘记。于是边恶补基础边努力打卡,虽然学得云里雾里但还是收获了很多,让我知道基础不牢地动山摇的道理。而且八股的准备过程离不开项目的支持,要优先掌握项目相关的八股,最好理解加记忆,死记硬背是不行的。接下来还会继续注重基础的学习,只有理解了再去看面试题,效率才会更高,加油。

2301_78149965的博客 259

四十天Java八股文打卡训练营的蜕变之旅

过去的四十天,我参加的Java八股文语音打卡训练营不仅让我对Java语言有了更深入的理解,也极大地提升了我的编程技能和问题解决能力。每一天的学习都以语音打卡的形式开始,这种形式强化了我的学习责任感,也增加了学习的互动性。随着每一天的深入学习,我逐渐意识到,坚持这样的学习方式不仅让我在知识上得到了积累,更重要的是,在思维方式和解决问题的方法上也有了显著的提升。我现在看待问题的角度更加全面,解决问题的方法更加多样,编码的速度和质量都有了明显的提升。

keepstandard的博客 391

【八股训练营40天打卡感想】

训练营初期,我的技术基础还停留在Java SE和Web开发的入门阶段,对后端开发的很多知识领域都感到陌生。但随着在训练营的学习让我逐步建立起了完整的知识体系。训练营使用的"图解网络"等资料,以直观的方式讲解复杂概念,降低了一定的学习门槛。作为非科班出身,这一点尤为重要。现在,我每天都会记得复习八股知识,这种持续学习的习惯也让我颇为受益。相信在保持这种学习热情和习惯的基础上,我会在技术道路上取得更大的进步。回顾这段学习历程,我收获的远不止知识本身,更重要的是养成了坚持学习的好习惯,找到了适合自己的学习方法。

QingFengshuo的博客 181

参与卡哥八股训练营总结

但是自从一天懈怠之后,从找到实习之后,由于破窗效应,欠下的债越来越多,从一天做一次笔记到一周做一次笔记,到最后不做笔记。不过总算还是完成了所有的打卡,尽管有的内容背完了还是会忘,但是总算是对计网、操作系统、数据库、C++都熟悉了一遍。一开始踌躇满志,每天都背的很认真,认真做笔记。每天从实验室打完工,还会去楼梯间抱着iPad 背八股。一件事情,不管完成度如何,做了就比不做的好,希望在后续秋招过程中,能一直保持学习状态和心态。

Chen_Xuejuan的博客 163
上一篇: 八股打卡(五)
下一篇: 八股打卡(七)
code120302
博客等级 码龄7年 195粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值