avatar
文章
20
标签
20
分类
7
首页
归档
标签
分类
关于
Logobush's Blog
搜索
首页
归档
标签
分类
关于

bush's Blog

WebSocket使用
发表于2025-06-13|Java企业级开发
WebSocket WebSocket 是一种基于 TCP 协议的全双工通信协议,它允许客户端和服务器之间建立持久的、双向的通信连接。相比传统的 HTTP 请求 - 响应模式,WebSocket 提供了实时、低延迟的数据传输能力。通过 WebSocket,客户端和服务器可以随时发送数据,而不需要每次都重新建立连接。实现实时更新和即时通信的功能。 WebSocket 协议经过了多个浏览器和服务器的支持,成为了现代 Web 应用中常用的通信协议之一。它广泛应用于聊天应用、实时数据更新、多人游戏等场景,为 Web 应用提供了更好的用户体验和更高效的数据传输方式。 特点 描述 持久连接 建立一次连接后,客户端和服务器之间保持连接状态 全双工通信 客户端和服务器都可以主动发送消息 低延迟、实时性强 适合聊天、游戏、股票、实时推送等应用 节省资源 与传统 HTTP 请求相比,减少了请求头等开销 基于 TCP 协议 和 HTTP 一样基于 TCP,但是一个独立协议 Spring...
Java 多线程
发表于2025-06-13|Java企业级开发
Java多线程 Java SE中的多线程 Java SE中最基础的多线程方式(适用于任何Java程序)包括两种: 方法1:继承 Thread 类 123456public class MyThread extends Thread { @Override public void run() { System.out.println("线程名:" + Thread.currentThread().getName()); }} 使用: 123456public class Main { public static void main(String[] args) { MyThread t1 = new MyThread(); t1.start(); // 启动线程,run() 方法会被自动调用 }} 方法2:实现 Runnable 接口 123456public class MyRunnable...
Redis学习笔记
发表于2025-06-13|Java企业级开发
Redis学习笔记 Redis Redis简介 Redis(Remote Dictionary Server)是一种开源的、基于内存的键值对(key-value)数据库,可以用作数据库、缓存和消息中间件。它以极高的性能、丰富的数据结构和多种实用功能而著称,被广泛用于高并发、低延迟的应用场景中,如电商秒杀、社交应用、排行榜、会话缓存等。 Redis特点 特点 说明 高性能 所有数据操作都在内存中完成,读写速度极快(百万级QPS)。 丰富数据结构 支持多种数据类型:字符串(string)、列表(list)、集合(set)、有序集合(zset)、哈希表(hash)、位图、HyperLogLog、地理位置等。 持久化 虽然是内存数据库,但支持将数据持久化到磁盘,防止宕机数据丢失(RDB快照和AOF日志)。 支持事务 可以一次执行多个命令,具备基本的事务特性(MULTI/EXEC)。 支持发布/订阅 可实现消息系统的 pub/sub 通信模型。 支持主从复制与集群 具备高可用(哨兵)与分布式(Redis Cluster)能力。 原子操作 所有单条...
图神经网络论文阅读
发表于2025-03-02|图神经网络研究
Graph Attention Networks 1. 研究背景与动机 图数据的挑战:传统的卷积神经网络(CNNs)适用于规则网格数据(如图像),但很多实际任务(如社交网络、生物网络等)中的数据以图的形式存在,结构不规则。 现有方法的不足: 谱方法:基于图拉普拉斯特征分解,计算量大且依赖于特定图结构,难以泛化到新图。 非谱方法(MoNet, GraphSAGE):直接在图上定义卷积操作,但难以统一处理邻居数目不固定的问题。 自注意力机制启发:近年来,自注意力在序列模型(如机器翻译)中表现突出,启发作者将自注意力思想应用到图数据中,更灵活地聚合邻居信息,以完成图数据的节点分类任务。 自注意力结构的特点: 计算高效,所有运算可以并行化 通过指定任意的邻节点权重,可以处理节点度数不同的图 模型可直接应用于归纳学习任务,可以泛化到模型从未见过的图 2. Graph Attention Networks(GAT)方法简介 核心思想:通过自注意力机制,让每个节点在聚合自身邻居特征时,根据邻居的重要性分配不同权重,从而获得更有效的节点表示。 输入与输出:输入为节点特征集合...
ChatDev总结笔记
发表于2025-02-22|虚拟化软件开发团队
基于大模型智能体的虚拟化软件开发团队 项目介绍 软件开发过程涉及到需求分析、总体设计、详细设计、编码和测试等多种活动和多种角色的开发者。随着大模型技术的快速发展,很多软件开发活动都可以通过自动化和智能化方式来实现。本项目利用大模型和多智能体技术来实现智能化软件开发全过程,通过agent模拟不同角色的软件开发人员,通过agent之间的协同完成复杂的软件开发过程。 参考文献 https://openreview.net/pdf?id=yW0AZ5wPji ChatDev论文总结 What is ChatDev? ChatDev, a chat-powered software-development framework integrating multiple “software agents” for active involvement in three core phases of the software lifecycle: design, coding, and testing. Methodology 1. chat chain ChatDev introduces...
论文阅读-Memory Management Test-Case Generation of C Programs using Bounded Model Checking
发表于2025-01-19|C/C++单元测试生成
论文链接:Memory Management Test-Case Generation of C Programs Using Bounded Model Checking | SpringerLink 使用工具 Efficient SMT-Based Bounded Model Checking(ESBMC,原文:SMT-Based Bounded Model Checking for Embedded ANSI-C Software | IEEE Journals & Magazine | IEEE Xplore):ESBMC以C语言源程序为输入,以一系列“Claim”为输出,这些Claim指明了该程序的安全属性,即可能出现内存错误的地方,包括检查与算术不足和溢出、零除法、越界索引、指针安全、死锁和数据竞争相关的属性。在ESBMC中,验证过程是完全自动化的,不需要用户使用前条件或后条件注释程序。 Safety...
C++单测生成调研
发表于2025-01-12|C/C++单元测试生成
C++单测生成调研 调研C++单元测试生成在Undefined Behavior、内存、指针、Error Handling四个方面的特点、挑战及现状,据此考虑主要根据哪些特点来迁移已有模型。 1. Undefined Behavior 未定义行为(Undefined Behavior, UB)是编程语言规范中未对某些构造强制规定行为的部分。它为编译器优化提供了自由,但可能导致程序在不同平台上的行为不一致。C/C++比Java具有更多UB。 A difficult trade-off in the design of a systems programming language is how much freedom to grant the compiler to generate efficient code for a target instruction set. On one hand, programmers prefer that a program behaves identically on all hardware platforms. On the...
C++学习笔记
发表于2025-01-11|C/C++单元测试生成
C++学习笔记 前言 必修课系统教学的只有C语言和Java,而Python比较简单虽没有系统教学但也在许多课程中经常使用。本来培养方案上是有C++的选修课的,但是不知道为什么不开了,上学期的编译也有用C++编程的选择。笔者这个篇笔记只记录学习其与C/Java的不同点。 参考:[菜鸟教程](C++ 教程 | 菜鸟教程 (runoob.com)) 1、简介 C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。 C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。 1.1、特点 C++有类似Java的面向对象的特点,即封装、继承、多态、抽象(在学Java的时候就已经知道,Java只能单继承而C++可以多继承)。 标准的 C++ 由三个重要部分组成:核心语言、C++标准库、标准模板库STL(这个在算法课上用过) 1.2、使用 C++的使用场景(后续若参加冯如杯,需要结合产业实际,如老师说的汽车C++软件): 游戏开发:C++...
编译技术实验总结感想
发表于2025-01-10|编译技术
《编译技术》实验总结感想 1. 实验总结 这个学期的编译实验一共分为文法解读、词法分析、语法分析、语义分析、代码生成、代码优化几个部分。总体来说,难度依次递增。 我选择的编程语言是Java,这也是我最喜欢的一种语言。在实验开始前,我还在庆幸不用像上学期的OS一样整天跟C语言打交道,又能愉快地编写最喜欢的Java了。 在最初的词法分析和语法分析中,我还体验着迭代开发Java、欣赏自己的设计模式的乐趣中。虽然语法分析的工作量相比于词法分析陡增,但是我个人觉得我的类设计还是比较清晰的,因此写完之后也算是非常有成就感了。 之后的语义分析其实就是建立符号表并处理语义错误,因此比较简单。但完成这里的时候,我深感对于类设计等的欠缺,几乎把面向对象的语言写成了面向过程的语言。而后面的中端代码生成是在语义分析的基础上做的,因此我总体的设计在此后也变得不忍直视。 代码生成我选择的是LLVM IR+MIPS。此时能给予我帮助的只有指导书了,然而我觉得指导书并不全面,只提供了最基本的介绍,具体实现大部分都是我自己摸索出来的。比如在LLVM...
编译技术开发文档
发表于2025-01-10|编译技术
《编译技术》实验开发文档 Author:bush 1 参考编译器介绍 主要参考了教材上PL/0以及tolang 1.1 总体结构 PL/0是一个编译-解释执行程序,总体结构分为两个部分: 先把PL/0编译成目标程序(P-code指令) 再对目标程序进行解释执行,得到运行结果 1.2 接口设计 PL/0编译程序采用一遍扫描,以语法分析为核心,由它调用词法分析程序取单词,在语法分析过程中同时进行语义分析处理,并生成目标指令。 如遇有语法、语义错误,则随时调用出错处理程序,打印出错信息。 1.3 文件组织 前端和后端分包等。 2 编译器总体设计 2.1 总体结构 总体结构与PL/0不同,是编译程序。 先编译成LLVM IR 由LLVM IR生成MIPS汇编代码 直接运行MIPS汇编代码 编译器总体采用多遍扫描,即先通过一次完整的词法分析得到token序列,再进行语法分析得到语法树。 2.2 接口设计 2.2.1 词法分析器Lexer Lexer.java主要提供一个接口getToken() 调用形式:token =...
12
avatar
bush Wu
北京航空航天大学21系软件工程专业22级本科生。
文章
20
标签
20
分类
7
Follow Me
最新文章
计算机网络面试复习笔记2025-07-18
操作系统复习笔记3-进程管理2025-07-18
操作系统复习笔记2-内存管理2025-07-18
操作系统复习笔记2025-07-18
Java企业级开发简答题2(MyBatis)2025-07-11
分类
  • C/C++单元测试生成3
  • Java企业级开发6
  • 图神经网络研究1
  • 实习7
    • 4084
  • 编译技术2
  • 虚拟化软件开发团队1
标签
js C++ WebSocket Redis 数据库 408 计算机网络 ChatDev 数据挖掘 CORS 机器学习 算法 跨域 编译 C/C++单元测试生成 后端 操作系统 Java多线程 Java Spring
归档
  • 七月 2025 9
  • 六月 2025 4
  • 三月 2025 1
  • 二月 2025 1
  • 一月 2025 5
网站信息
文章数目 :
20
本站访客数 :
本站总浏览量 :
最后更新时间 :
©2025 By bush Wu
搜索
数据加载中