Apr 1 2020 - What I learned

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
  1. JKD8的新特性
    stream(流,流水线操作),可排序、去重、生成map,lambda,optional
    参考博客原址:简洁又快速地处理集合——Java8 Stream(上)
    参考博客原址:简洁又快速地处理集合——Java8 Stream(下)

  2. Exception类&Error类
    相同点:父类都是throwable类
    不同点:程序可以handle Exception但不能handle Error
    Error类:与虚拟机相关的问题(系统崩溃、内存不足),"java.lang.Error"package
    Exception类:可以处理、捕获、恢复,"java.lang.Exception"package

  3. Exception(异常)
    Exception:Unchecked Exception, Checked Exception
    Checked Exception(经核查的异常): 必须用try&catch,throw
    Unchecked Exception(未经核查的异常): 是Runtime Exception或是Runtime Exception的子类

  4. 检查Exception的方式
    try&catch;用throw抛出,交给父类

  5. Throws&Throw的区别
    throws出现在方法函数头;throw出现在函数体
    throws表示出现异常的一种可能行,并不一定会发生这些异常;throw是抛出了异常,执行throw则一定抛出了某种异常
    参考博客原址:JAVA异常处理机制(二)——throws/throw的区别和使用

  6. Java实现线程的方式
    Runnable接口:有run方法,也就是线程的执行方法
    Thread类,该类实现Runnable接口:run方法;start线程的启动方法。
    参考博客原址:多线程的概念和JAVA实现

  7. synchronized和lock的区别
    (1) 原始构成
    sychronized属于JVM层面;Lock属于具体类,是api层面的锁。
    (2) 使用方式
    sychronized不需要用户手动释放锁,因为代码执行完后系统会自动让线程释放对锁的占用;ReentratLock需要用户手动释放锁,如果没有释放,会出现死锁的情况。语句:lock(), unlock()配合try/finally。
    (3) 等待是否可中断
    synchronized不可中断,除非抛出异常或正常运行完成
    ReentrantLock可中断。
    (4) 加锁是否公平
    synchronized非公平锁;ReentrantLock两者都可。
    (5) 锁绑定多个condition
    synchronized不能绑定多个条件
    参考博客原址:synchronized和Lock区别

  8. Spring
    Spring bean是由Spring容器管理的实例对象,它们是由框架创建和关联的,并放入Spring容器中,后续可以从那里获取它们。
    参考博客原址:Spring Bean是什么?

  9. JVM类加载
    虚拟机把描述类的数据从Class文件加载到内存中,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。
    类从被加载到虚拟机内存到卸载出内存为止,整个生命周期包括:加载,验证,准备,解析,初始化,使用和卸载。
    参考博客原址:JVM类加载机制

  10. 反射机制
    反射机制的概念:在运行状态中,对于任意一个类都能知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法。
    反射机制的好处:增加代码的灵活性和通用性
    反射的原理:Java编译后会生成一个.class文件,反射就是通过字节码文件找到某一个类、类中的方法及属性等等。
    反射的实现主要借助:Class(类的对象), Constructor(类的构造方法), Field(类中的属性对象), Method(类中的方法对象)
    参考博客原址:Java反射机制的原理
    参考博客原址:Java反射

  11. HashMap
    原理:调用hashCode()和equals()方法,并对hashcode进行一定的哈希运算得到相应value的位置信息,将其分到不同的桶里。桶的数量一般会比所承载的实际键值多。
    参考博客原址:HashMap

  12. hashmap如何解决散列冲突
    (1) linear probing(线性探测): 从相同hash值开始,继续寻找下一个可用的槽位。
    (2) separate chaining(分离链表法):当hash值相同时,将元素插入到相应散列单元的链表中。
    参考博客原址:HashMap原理及冲突解决办法

  13. hashmap扩容过程
    当HashMap中的元素个数超过数组大小loadFactor时,就会进行数组扩容,loadFactor的默认值为0.75,这是一个折中的取值。也就是说,默认情况下,数组大小为16,那么当HashMap中元素个数超过160.75=12的时候,就把数组的大小扩展为 2*16=32,即扩大一倍,然后重新计算每个元素在数组中的位置,扩容是需要进行数组复制的,复制数组是非常消耗性能的操作,所以如果我们已经预知HashMap中元素的个数,那么预设元素的个数能够有效的提高HashMap的性能。
    参考博客原址:HashMap原理及冲突解决方法

  14. 设计模式 - 创建型模式
    (1) 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定他们具体指定的类。
    (2) 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
    (3) 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,但是让之类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。
    (4) 原型模式(Prototype Pattern):使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。
    (5) 单例模式(Singleton Pattern):确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例
    参考博客原址:设计模式

  15. 设计模式 - 构型模式
    (1) 适配器模式(Adapter Pattern):将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。
    (2) 桥接模式(Bridage Pattern):将抽象部分与它的实现部分解耦,使得两者都能独立变化。
    (3) 组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有部分-整体关系的层次结构。组合模式让客户端可以统一对待单个对象和组合对象。
    (4) 装饰模式(Decorator Pattern):动态的给一个对象增加一些额外的职责。就扩展功能而言,装饰模式提供了一种比使用子类更加灵活的替代方案。
    (5) 外观模式(Facade Pattern):为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
    (6) 享元模式(Flyweight Pattern):运用共享技术有效的支持大量细粒度对象的复用。
    (7) 代理模式(Proxy Pattern):给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问。
    参考博客原址:设计模式

  16. 设计模式 - 行为型模式
    (1) 责任链模式(Chain of Responsibility Pattern):避免将一个请求的发送者与接收者耦合在一起,让多个对象都有机会处理请求。将接收请求的对象连接成一条链,并且沿着这条链传递请求,直到有一个对象能够处理它为止。
    (2) 命令模式(Command Pattern):将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。
    (3) 解释器模式(Interpreter Pattern):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
    (4) 迭代器模式(Iterator Pattern):提供一种方法顺序访问一个聚合对象中的各个元素,而又不用暴露该对象的内部表示。
    (5) 中介者模式(Mediator Pattern):定义一个对象来封装一系列对象的交互。中介者模式使各对象之间不需要显式地相互引用,从而使其偶合松散,而且可以独立地改变它们之间的交互。
    (6) 备忘录模式(Memento Pattern):在不破坏封装的前提下捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。
    (7) 观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时其相关依赖对象皆得到通知并被自动更新。
    (8) 状态模式(State Pattern):允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。
    (9) 策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法可以独立于使用它的客户而改变。
    (10) 模板方法模式(Template Method Pattern):定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
    (11) 访问者模式(Visitor Pattern):表示一个作用于某对象结构中的各个元素的操作。访问者模式可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
    参考博客原址:设计模式

号称最难理解的设计模式,只需看这篇解析——桥接模式 Jungle有两个手机,分别是M手机和N手机,M手机上有游戏Game1,N手机上有Game2。每次Jungle想玩Game1时,就使用M手机,想玩Game2时,就玩N手机。要是某天Jungle外出,心情大好,两个游戏都想玩,那Jungle还得带上两个手机???麻不麻烦? 如果新出一个游戏Game3,那Jungle是不是要再买一个手机呢? 同样都是游戏软件,为什么不把所有游戏都装到一个手机上呢... 阅读详情

相关推荐

数字商品上架审计工单 /sku:付款人分类违禁扫描落地页上架分

【内容概要】 上架审计工单(命令面 /sku),把「有个想法」收成可复查判决:可上架 / 有条件上架 / 拒绝上架。检查谁付钱、违禁话术、买断数字价、落地页硬清单、上架分。支持 Cursor / Claude Code / Codex。金样 shelf-lab 校准「拒绝上架」(空包、无定价、违禁承诺)。 【适用人群】 适合:有半成品或清晰想法、卡在不敢定价、不敢点发布的人。 不适合:要代运营保销量、要保证收入数字、要复制他人支付链路的人。本包不保证销量。 【使用场景及目标】 安装 → 先跑金样看拒绝上架 → 再拿自己的想法开案。无明确买断价或关键落地页缺失,不得写成可上架。 【其他说明】 买断制,下载后不支持退款。不提供支付源码,不教违规获客话术。

Apr 3 2020 - What I learned

**仅用于复习,参考自己的笔记 【漏洞扫描系统】漏洞扫描系统不能用于发现网络入侵者,用于检测网络入侵者的系统称谓入侵检测系统。 【计算机病毒】特洛伊木马:有未知程序试图建立网络连接。 【知识产权】软件著作权字软件开发完成之时其产生。 【软件风险】软件风险一般包括不确定性和损失两个特性。 不确定性:风险可能发生也可能不发生。 损失:发生带来的后果。 【程序语言】传值:单向;传值:双向 【程序语言】...

只会啃书的博客 222

Team-Ai-Cli-Observability-Matrix-v1.0-原创源码与文档.zip

原创离线工具源码与完整文档,包含可运行示例、README、MIT LICENSE、原创与授权声明、自动化测试、真实运行截图及限制说明。下载解压后按 README 使用,无需外部密钥。仅供学习、研究与工程参考。

Apr 4 2020 - What I learned

**今天在撸《编程珠玑》,更少了,明天补。 【数据结构】栈(Stack)和队列(Queue)都是操作受限的线性表。栈仅在表尾插入和删除元素;队列仅在表头删除元素、在表尾插入元素。总结:两头不能随意操作=操作受限。一个线性序列经过Queue后只能得到与原序列相同的元素序列,而经过一个Stack后则可以得到多种元素序列。 Tips:用两个Stack可以模拟出一个Queue的入队和出队操作。 Queu...

只会啃书的博客 193

机器人-模仿学习-双臂【2023-04】:ACT【80M参数;CVAE-Transformer架构;ResNet18编码四路视觉;4层编码器融合视觉状态;7层解码器并行预测100步动作;时序集成平滑】

Meta。

u013250861的博客 351

10kV变电所标准图.pdf.rar

10kV变电所标准图.pdf.rar

35kV屋内配电装置接线图.dwg.rar

35kV屋内配电装置接线图.dwg.rar

校园招聘基于Python的智能匹配平台设计:多角色权限管理与岗位推荐系统实现 项目介绍 基于Python的校园招聘平台设计与实现(含模型描述及部分示例代码)

内容概要:本文详细介绍了一个基于Python的校园招聘平台的设计与实现,旨在通过信息化手段提升校园招聘的效率与精准度。平台采用Python主流框架(如Django/Flask)构建,涵盖用户权限管理、招聘与简历数据建模、智能匹配推荐、日志监控与统计分析等核心模块。系统支持学生、企业、就业部门等多角色协同,通过结构化数据模型和业务流程控制,实现了岗位发布、简历投递、状态流转、权限校验等功能,并结合TF-IDF与余弦相似度算法实现简历与岗位的智能匹配。代码示例展示了用户角色模型、企业岗位模型、简历分表设计、投递状态机、权限装饰器及推荐服务等关键实现,体现了系统的可扩展性与安全性设计。; 适合人群:具备Python Web开发基础,熟悉Django或Flask框架,有一定数据库设计和前后端交互经验的开发者,尤其是从事教育信息化、招聘系统开发或校园服务平台建设的研发人员;也适合计算机相关专业高年级本科生或研究生作为毕业设计参考。; 使用场景及目标:① 构建高校内部统一的校园招聘管理系统,替代传统低效的线下招聘模式;② 实现学生与企业岗位的智能匹配与个性化推荐,提升人岗匹配效率;③ 为企业和高校就业部门提供数据驱动的招聘分析与决策支持;④ 学习多角色权限控制、状态机设计、ORM建模、缓存与异步任务等实际开发技巧。; 阅读建议:此资源以实际项目为导向,不仅提供完整模型设计与代码片段,还深入剖析了系统架构与业务逻辑。建议读者结合代码示例搭建本地开发环境,动手实践模型定义、API接口开发与推荐算法集成,并重点关注权限控制、数据安全与性能优化等关键设计,以全面提升全栈开发与系统设计能力。

技术转移机构如何提升成果转化效率?.docx

技术转移机构如何提升成果转化效率?

IEC_60204-1-2021 CSV 机械电气设备 第 1 部分:通用技术条件 合并版

IEC_60204-1-2021 CSV 机械电气设备 第 1 部分:通用技术条件 中英两册

EF_6403.rar

EF_6403.rar

Casio说明书5174

Casio说明书5174

IMG_20260908_155227.jpg

IMG_20260908_155227.jpg

220KV变电所一次系统图.dwg.rar

220KV变电所一次系统图.dwg.rar

110kV变电站电气主接线.dwg.rar

110kV变电站电气主接线.dwg.rar

那些被资深PCB LAYOUT工程师强烈推荐的Cadance快捷键

资深PCB设计工程师强烈推荐,放置路径:D:\Cadence\SPB_16.6\share\pcb\text

110KV配电装置半高型布置断面图.pdf.rar

110KV配电装置半高型布置断面图.pdf.rar

下一篇: Apr 2 2020 - What I reviewed
喵喵SAMA一号
博客等级 码龄7年 2粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值