加载中...
Java强制类型转换:为什么需要显示转换?
问题场景 123Object obj = new Integer(10);System.out.println(obj.getClass()); // 输出 class java.lang.IntegerInteger i = (Integer) obj; // 为什么必须强制转换? 明明obj的运行时类型是Integer,为什么赋值给Integer类型变量时需要强制转换?这与 Java 的编译时类型和运行时类型机制密切相关。 核心概念解析 1. 编译时类型 vs 运行时类型 编译时类型 运行时类型 定义 由变量声明决定 由实际创建的对象决定 作用阶段 编译阶段(静态检查) 运行阶段(动态绑定) 示例 Object obj → 类型为 Object new Integer(10) → 类型为 Integer 2. 强制转换的本质 编译时承诺:告诉编译器"我知道这个对象的具体类型" 运行时验证:JVM 会检查实际类型是否匹配,否则抛出ClassCastExce ...
2025-02-03-2025-02-09论文阅读周报
阅读论文: 目前存在的问题: SBOM 质量评估 An Empirical Study on Software Bill of Materials: Where We Stand and the Road Ahead {2023}, {Xia B, Bi T, Xing Z, et al.}, {ICSE} Xia B, Bi T, Xing Z, et al. An empirical study on software bill of materials: Where we stand and the road ahead[C]//2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). IEEE, 2023: 2630-2642. Key Points SBOM Summary 文章针对软件物料清单(SBOM)展开实证研究,通过访谈和调查从业者,揭示其在实践应用、工具支持方面的现状及问题,并提出未来发展方向与目标模型。 Researc ...
2025-01-27~2025-02-02论文阅读周报
An Empirically Grounded Reference Architecture for Software Supply Chain Metadata Management{2024}, {Tran N K, Pallewatta S, Babar M A}, {EASE 2024} Tran N K, Pallewatta S, Babar M A. An Empirically Grounded Reference Architecture for Software Supply Chain Metadata Management[C]//Proceedings of the 28th International Conference on Evaluation and Assessment in Software Engineering. 2024: 38-47. Key Points SSC SBOM SCM2 RA [ ] 关键点,看文章途中觉得很关键的词可以填写在此处 Summary本文聚焦软件供应链(SSC)安全问题,鉴于 SSC 攻击频发,提出 ...
研究候选方向:面向零信任技术的安全认证或访问控制等方法-论文阅读笔记
该研究方向:面向零信任技术的安全认证或访问控制等方法研究。 基于零信任的动态访问控制机制研究 与实现 {2022}, {吴一楠}, {硕士论文} 吴一楠.基于零信任的动态访问控制机制研究与实现[D].北京邮电大学,2022.DOI:10.26969/d.cnki.gbydu.2022.001763. Key Points 零信任 动态访问控制 关键点,看文章途中觉得很关键的词可以填写在此处 Summary 写完笔记之后最后填,概述文章的内容,以后查阅笔记的时候先看这一段。注:写文章summary切记需要通过自己的思考,用自己的语言描述。忌讳直接Ctrl + c原文。 Research Objective(s) 作者的研究目标是什么? Background / Problem Statement 研究的背景以及问题陈述:作者需要解决的问题是什么? Method(s) 作者解决问题的方法/算法是什么? 是否基于前人的方法?基于了哪些? Evaluation setup: 软硬件环境 ...
研究候选方向:深度学习的方法和软件供应链安全检测-论文阅读笔记
该研究方向:把基于深度学习的方法和软件供应链安全检测结合起来研究。 软件供应链污染检测技术研究 {2019}, {武振华}, {硕士论文} 武振华.软件供应链污染检测技术研究[D].战略支援部队信息工程大学,2019.DOI:10.27188/d.cnki.gzjxu.2019.000053. Key Points 软件供应链 静默安装参数、控件识别和 OCR 识别 三类软件供应链下游的污染检测问题 LSTM 哈希比对 DNN Summary 软件供应链污染威胁用户隐私与财产安全,现有研究较少且不系统。本文聚焦软件供应链下游,分析众多安全事件,综述程序逆向分析技术应用现状与问题。提出污染分类模型与检测框架,创新自动化安装方法,并针对安装包捆绑、模块复用、恶意代码植入问题分别给出有效检测方案,经大量实验验证各方法的有效性,为软件供应链污染检测提供全面解决方案。 Research Objective(s) 全面综述程序逆向分析技术在软件供应链污染检测中的应用与问题,填补研究空白。 构建软件供应链污染分类模型与检测框架,解决检测问题分类不明、 ...
使用hexo c && hexo g && hexo d出现Segmentation fault错误的解决方法
个人经验:最近出现的一次是node版本的问题 问题版本:22.7.0 切换到22.12.0之后就可以了,问题发生时,22.7.0属于CURRENT,而22.12.0属于LTS(可能和这个有一点关系) 参考链接
研究候选方向:深度学习的方法和密码学分析—论文阅读笔记
该研究方向:把基于深度学习的方法和密码学分析结合起来,进行对称密码或轻量级密码算法的性能评估研究。 基于深度学习的密码算法识别研究 {2021}, {曹莉茹}, {硕士学位论文} 曹莉茹. 基于深度学习的密码算法识别研究[J]. 成都: 电子科技大学, 2021. Key Points 密文特征选择与识别 密文分割长度 随机森林算法 BP 神经网络、卷积神经网络和循环神经网络算法 Summary 本文主要开展了两项工作,一是密文特征分析与选取,NIST随机性检验中存在着多种随机性检测指标,探究了在各种指标下,不同加密算法产生的密文文件以及加密算法产生的密文文件与随机文件的特征值分布状况。同时也探究了不同密文分割长度对特征分布的影响。 二是基于深度学习的密码算法识别,作者基于一中选取的特征开展密码算法识别工作,采取了8种加密算法,并且在固定密钥和随机密钥两种情况下实验,分别进行了随机森林下的识别以及用BP神经网络、卷积神经网络以及循环神经网络等深度学习方法下的识别,得出了基于深度学习的密码算法识别平均准确率比基于随机森林的要好得多。最后分析了优 ...
Vue3学习
创建Vue3工程 基于vue-cli创建 点击查看官方文档 备注:目前vue-cli已处于维护模式,官方推荐基于 Vite 创建项目。 1234567891011121314151617## 查看@vue/cli版本,确保@vue/cli版本在4.5.0以上vue --version## 安装或者升级你的@vue/cli npm install -g @vue/cli## 执行创建命令vue create vue_test## 随后选择3.x## Choose a version of Vue.js that you want to start the project with (Use arrow keys)## > 3.x## 2.x## 启动cd vue_testnpm run serve 基于vite创建(推荐) vite 是新一代前端构建工具,官网地址:https://vitejs.cn,vite的优势如下: 轻量快速的热重载(HMR),能实现极速的服务启动。 对 TypeScript、JSX、CSS 等支持开箱即用。 ...
hacker课程学习1
Web应用课
html基础标签 文件结构 1234567891011<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Web应用课</title></head><body> <h1>第一讲</h1></body></html> meta HTML的<meta> 元素表示那些不能由其它 HTML 元相关(meta-related)元素((<base>、<link>, <script>、<style> 或 <title>)之一表示 ...
新版ui的Pycharm导入Anaconda虚拟环境
一 Settings->Python Interpreter,点击Add interpreter->Add Local Interpreter 二 Conda Environment->点击右侧文件夹图标 找到自己anaconda安装路径下的Library\bin\conda,bat,选中,点击OK 三 点击OK之后,点击Load Environment,就会出现下图类似的界面 之后即可按照老版的导入虚拟环境的操作进行了。 以下步骤是导入虚拟环境。 四 选择虚拟环境即可,第一个为base环境,具体路径和自己安装anaconda的路径变化。
kali如何使用proxychains4科学上网
一 Kali 自带了ProxyChains4,ProxyChains运行的所有配置都在“/etc/proxychains.conf ”文件中,使用如下命令修改该文件。 1sudo vi etc/proxychains4.conf 定位到文件的最下面,有[ProxyList]这么一行, 加上socks5 192.168.xxx.xxx 7890,192.168.xxx.xxx为物理机地址,同时注释掉socks4 127.0.0.1 9050 二 使用proxychains4 curl cip.cc命令进行测试,显示访问成功