计算机保研复习-C++和JAVA
C++和JAVA 首先应该清楚,Java 是由 C++发展而来的,保留了 C++的大部分内容。但 Java 的句法更清晰、规模更小、更易学。 1. 解释对编译Java是一种解释性语言,其在执行时会被“翻译”为二进制形式,也就是jvm去解释它。而C++则是编译语言,意味着程序只能在特定操作系统上编译并在特定系统上运行,也就是说C++一步到位成机器语言的。 2. 指针Java 没有指针的概念。在 C/C++中,指针操作内存时,经常会出现错误。而在Java中是没有指针这一概念的,因此也有效地防止了一系列由指针引起的操作层失误(如指针悬空所造成的系统崩溃),更有利于 Java 程序的安全。 3. 内存安全Java是一种内存安全型语言,意味着大家可以为给定数组分配任意参数,即使超出范围也只会返回错误提示。C++更为灵活,但代价是一旦分配的参数超出资源范围,则会引起错误甚至严重崩溃。 4. 多重继承Java不支持多重继承。多重继承,它允许多父类派生一个子类。也就是说,一个类允许继承多个父类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。所以...
计算机保研复习-算法基础课(java&&C++)
算法基础课(java&&C++) 第一章 基础算法1.1 快速排序123456789101112131415161718192021222324252627#include <iostream>using namespace std;const int N = 1000010;int q[N];void quick_sort(int l, int r){ if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]; while (i < j){ do i ++ ; while (q[i] < x); do j -- ; while (q[j] > x); if (i < j) swap(q[i], q[j]); } quick_sort(l, j); quick_sort(j + 1, r);}int...
逆向攻防世界CTF系列9-no-strings-attached
逆向攻防世界CTF系列9-no-strings-attached wsccmp:应该是个比较函数,相同为0,输出“Success! Welcome back!”,点进unk,从上往下看的车。 不知道decrypt是个什么,查了下,是解密的意思。 解法1:选中shift+e 把s和A2转出,目标程序是 32 位 Ubuntu ,所以 wchar_t 表示 \0 占 4 字节,后面 4 个是截止符,不代入计算。(64位也是4字节) 12345678910111213141516171819202122232425262728293031323334353637#include <stdio.h>int main() { unsigned char s[] = { 58, 20, 0, 0, 54, 20, 0, 0, 55, 20, 0, 0, 59, 20, 0, 0, 128, 20, 0, 0, 122, 20, 0, 0,...
保研面试(英语)
保研面试1.读过哪些书,哪些著作,哪些期刊 A Federated Learning Paradigm for Heart Sound Classification FedProto: Federated Prototype Learning across Heterogeneous Clients Communication-Efficient Learning of Deep Networks from Decentralized Data 从分散的数据中进行深度网络的通信高效学习 没听清:sorry, could you repeat your question again? ==Please introduce your hometown== ==Please introduce your collage school.== ==Please introduce your parents== ==What’s your...
逆向攻防世界CTF系列8-getit
逆向攻防世界CTF系列8-getit 其中 123strcpy(filename, "/tmp/flag.txt"); #此行代码将指定文件的路径存储在 filename 中。stream = fopen(filename, "w"); #stream 是一个 FILE* 类型的指针,指向打开的文件。fprintf(stream, "%s\n", u, v5); #是一个格式化输出函数,用于向指定的文件流写入格式化的数据。 因此这是写出flag的内容到txt,我们关注上面的代码 12345678v9 = __readfsqword(40u);LODWORD(v5) = 0;while ( (signed int)v5 < strlen(s)){ if ( v5 & 1 ) v3 = 1; else v3 = -1; *(&t + (signed int)v5 + 10) = s[(signed int)v5] + v3; LODWORD(v5) = v5 +...
Spring5
Spring5一、Spring 框架概述 Spring 是轻量级的开源的 JavaEE 框架 Spring 可以解决企业应用开发的复杂性 Spring 有两个核心部分:IOC 和 Aop IOC:控制反转,把创建对象过程交给 Spring 进行管理 Aop:面向切面,不修改源代码进行功能增强 Spring 特点 方便解耦,简化开发 Aop 编程支持 方便程序测试 方便和其他框架进行整合 方便进行事务操作 降低 API 开发难度 ==Spring5 入门案例== jar包地址:https://repo.spring.io/release/org/springframework/spring/ 创建普通类,在这个类创建普通方法 12345public class User { public void add() { System.out.println("add......"); }} 创建 Spring...
逆向攻防世界CTF系列7-logmein
逆向攻防世界CTF系列7-logmein==重要知识点:不同ida版本的反编译结果不同!!!== 64位,main函数 目的是执行最后的这段代码 审计代码,v3长度>=v8长度 if ( i >= strlen(v8) ) sub_4007C0(); 则可知v3长度必须等于v8长度,否则下标i会>=v8 ==看到下面那段代码的时候发现怎么都解释不通,后来发现了一个震惊小白的事,就是不同版本的ida反编译的伪代码不同,我刚才用的是idapro 8.3 然后去试了idapro7.7 和idapro 7.0,发现7的反编译结果才是正确的,如下图== 用上了v6和v7,而之前的伪代码都没有用上!!!! 让我们再解读一下下面那个语句吧: 重点是:(_BYTE...
SpringBoot基础篇
SpringBoot基础篇一、Springboot介绍 基于SpringBoot官网创建项目,地址:https://start.spring.io/,**需联网** 基于阿里云创建项目,地址:https://start.aliyun.com 示例如图 建议选定2.5.7版本 隐藏文件 1.1...
SpringMVC
SpringMVC一、SpringMVC简介1.1 什么是MVCMVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是==处理数据== JavaBean分为两类: 一类称为实体类Bean:专门存储业务数据的,如 ==Student、User== 等 一类称为业务处理 Bean:指 ==Service 或 Dao...
逆向攻防世界CTF系列6-simple-unpack
逆向攻防世界CTF系列6-simple-unpack 发现被加壳了,要脱壳,根据信息upx去寻找,找到脱壳工具脱壳,这里我提供一个,当然你也可以根据exeinfo后面的提示 https://pan.xunlei.com/s/VNu8zizHwjh-TCsW336-Hl0jA1?pwd=f3u5# 没壳了,扔进IDApro 64位,shift+F12找到flag flag{Upx_1s_n0t_a_d3liv3r_c0mp4ny}