软件工程与计算机科学中多个核心知识领域,包括**面向对象技术、网络与信息安全、程序设计语言原理**三大板块
软件工程与计算机科学中多个核心知识领域包括面向对象技术、网络与信息安全、程序设计语言原理三大板块。以下是对各模块的简明梳理与关键要点提炼便于系统化复习或教学参考【面向对象技术】封装隐藏内部实现细节通过访问控制private/protected/public暴露有限接口提升安全性与可维护性。继承子类复用父类属性与方法支持代码重用和层次建模注意避免过度继承导致的紧耦合。多态同一接口不同实现编译时多态重载运行时多态重写 动态绑定依赖于虚函数表C或JVM方法表Java。类 vs 对象类是抽象模板静态蓝图对象是类的实例动态实体有状态与行为。抽象类 vs 接口抽象类可含构造器、字段、部分实现支持单继承接口仅声明Java 8 可含default/static方法支持多实现强调“能做什么”。UML类图关系由强到弱组合实心菱形实线整体与部分同生共死如Car与Engine聚合空心菱形实线部分可独立存在如Department与Employee关联实线可标角色/多重性一般结构关系如Teacher与Course依赖虚线箭头临时使用如方法参数、局部变量泛化空心三角实线继承关系实现空心三角虚线类实现接口。SOLID 原则SRP单一职责一个类只负责一个功能域OCP开闭原则对扩展开放对修改关闭常靠抽象/策略/模板实现LSP里氏替换子类必须能完全替代父类违反常因重写破坏契约ISP接口隔离客户端不应依赖它不需要的接口避免“胖接口”DIP依赖倒置依赖抽象接口/抽象类而非具体实现。GoF 23种设计模式重点9种创建型单例线程安全双重检查volatile、工厂方法/抽象工厂解耦对象创建行为型观察者松耦合事件通知、策略算法族可互换、模板方法骨架算法钩子、责任链请求逐级处理、命令请求封装为对象、状态对象行为随状态改变结构型装饰器动态添加职责符合开闭、代理控制访问如远程/虚拟/保护代理、适配器兼容不兼容接口。MVC分离关注点——Model数据业务逻辑、View展示、Controller协调输入/更新现代演进为 MVP/MVVM。AOP面向切面编程将横切关注点日志、事务、权限模块化为切面Aspect通过织入Weaving在连接点Join Point插入增强Advice降低耦合Spring AOP / AspectJ。反射机制Java/C#运行时获取类信息、动态调用方法/构造器、操作字段Class.forName(),Type.GetMethod()性能开销大需谨慎使用。序列化与反序列化对象 ↔ 字节流转换JavaSerializable/ JSON/XMLC#DataContractSerializer/System.Text.Json注意安全风险反序列化漏洞如 Java Commons Collections。【网络与信息安全】OSI七层自下而上物理→数据链路→网络→传输→会话→表示→应用TCP/IP四层网络接口→网际IP→传输TCP/UDP→应用HTTP/DNS/FTPTCP三次握手SYN → SYN-ACK → ACK同步序号建立可靠连接TCP四次挥手FIN → ACK → FIN → ACK双方独立关闭确保数据发送完毕HTTP/HTTPSHTTP 明文无状态HTTPS HTTP SSL/TLS 加密握手含密钥交换、证书验证、对称加密通信DNS解析浏览器缓存 → 系统缓存 → 路由器缓存 → ISP DNS → 根服务器 → 顶级域 → 权威DNS递归迭代结合子网划分 CIDR用子网掩码如/24划分网络位/主机位CIDR 消除传统A/B/C类限制防火墙类型包过滤基于IP/端口应用网关代理服务深度检测状态检测跟踪连接状态更安全高效加密算法对称AES主流128/256位、DES已淘汰非对称RSA大数分解、ECC椭圆曲线同等安全下密钥更短哈希SHA-256防篡改不可逆数字签名 证书私钥签名 → 公钥验签X.509 证书含公钥身份CA签名CA证书颁发机构作为可信第三方安全协议TLSWeb加密、IPSec网络层VPN、SSH远程安全登录。【程序设计语言】编译过程源码 → 词法分析Token流→ 语法分析AST→ 语义分析类型检查等→ 中间代码三地址码→ 优化 → 目标代码汇编/机器码文法与正则表达式正则描述词法规则如标识符[a-zA-Z_][a-zA-Z0-9_]*上下文无关文法CFG描述语法结构有限自动机NFA非确定性ε转移→ DFA确定性最小化后用于词法分析器生成递归下降分析手工编写的自顶向下语法分析器对应LL(1)文法静态绑定 vs 动态绑定编译期确定重载、final/static/private方法vs 运行期确定虚函数/重写方法垃圾回收GC引用计数Python循环引用问题标记-清除Java早期碎片化分代收集HotSpotYoung/Old/MetaspaceMinor GC / Full GC内存布局栈局部变量、函数调用帧自动管理堆动态分配对象GC管理全局/静态区全局变量、静态变量常量区字符串字面量、final常量异常处理try-catch-finally保证资源清理Java 7try-with-resources更优区分 checked编译强制处理与 uncheckedRuntimeException异常函数式编程纯函数无副作用、相同输入恒得相同输出、不可变数据如String,ImmutableList、高阶函数接受/返回函数如map/filter/reduce泛型编程Java类型擦除运行时无泛型信息桥接方法解决多态C模板实例化编译期生成多份代码支持特化与元编程。以上内容既可作为高级工程师面试速查清单也适合作为高校《软件工程》《编译原理》《网络安全》课程的知识地图。如需任一子主题的代码示例、UML图示、协议流程图、GC算法动图详解或真题解析如LeetCode设计题/系统设计题欢迎随时指定我可立即展开。