计算机网络
概论习题
Q1-1 : 不是,通过公共电缆传输的信息是有目的主机的,其他非目的主机会丢弃接收到的信息
Q1-2 : 不需要,主机不会有意识的给链路层交换机发送信息
Q1-3 : 全排列 C2n
Q1-4:电话一般使用的是电路交换网
Q1-5:ISP
Q1-5:每一层都需要实现方向相反的两个功能
Q1-7:网络层,数据链路层,物理层
Q1-8:a,b,c
Q1-9:消息
Q1-10:a. 消息。b. 数据报 c. 帧
Q1-11:a, b, c
Q1-12:c
Q1-13:c
Q1-14:HTTP, SMTP,FTP,TELNET,SSH,SNMP,DNS,IGMP
Q1-15:4个字节
Q1-16:a. 主机的域名,邮箱等。b. 在整个Internet上的位置 c. 在局域网中的位置
Q1-17:是的,我们可以添加不同协议的标识符来区分不同协议的数据分组
Q1-18:因为应用层是TCP/IP的最高层级
Q1-19:需要
Q1-20:不需要
Q1-21:草案说明至少有了2个以上的实现,建议只是可能被实现
Q1-22:
Q1-23:
GoLang
标准库 : https://go-zh.org/pkg/
函数package mainimport "fmt"函数// 函数声明func add(x int, y int) int { return x + y}// 变量声明, var用于声明一个变量列表var c, python, java boolfunc main(){ fmt.Println(add(42, 13)) fmt.Println(add2(42, 13)) a, b := swap("Hello", "World") fmt.Println(a, b) // 变量声明 var i int // 变量的初始化, 省略了类型声明,变量自动从初始值中获取类型 var c, python, java = true, false, "no!" // 短变量声明,可以在类型明确的地方代替var声明 k := 3}// 省略声明相同的类型func add2(x, y int) int { retur ...
Java(二)
String类型是不可变的
Java(一)
数据存储Java程序运行期间,有5个地方可以存储数据
寄存器:速度最快,Java没有直接控制器,根据需求进行分配
栈内存:存在于常规内存RAM中,仅次于寄存器,Java必须知道存在于栈内存中数据的生命周期,通常用于存储一些数据的引用(对象引用)
堆内存:通用的内存池,存在于RAM中,所有的Java对象都存在其中。Java不知道数据必须在堆内存中停留多长的时间,用new实例化对象的时候,会自动在堆中分配(分配与清理堆内存要比栈花费更多的时间)
常量存储:存在于程序代码中,如果需要严格保护,可以存在于ROM中
非RAM存储:数据完全存在于程序之外,在程序未运行或者脱离程序控制后依然存在。例子:① 序列化对象。② 持久化对象 。这种存储方式将对象存放于另一个介质中,并在需要时恢复成常规的,基于RAM的对象。Java 为轻量级持久化提供了支持。而诸如 JDBC 和 Hibernate 这些类库为使用数据库存储和检索对象信息提供了更复杂的支持。
基本类型存储基本类型不通过new来创建,而是使用一个自动的变量值,这个变量自动存储值,并且置于栈内存中。
基本类型
大小
最小值
最大值
包装 ...
学习计划
代码随想录 (programmercarl.com)
Java 面试指南 | JavaGuide(Java面试 + 学习指南)
MySQL :: MySQL 8.0 Reference Manual :: 1 General Information
Spring Framework Documentation :: Spring Framework
Apache Dubbo
Introduction to Redis | Redis
MyBatis中文网
mybatis-spring –
个人生活文章 | 编程笔记 (fangzhipeng.com)
https://www.jishuchi.com/books/onjava8
MiME Type
Two Important Default MiME types
text/plain : the default value for textual files. A textual file should be human-readable and must not contain binary data.
application/octet-stream : the default value for all other cases. An unknown file type should use this type. Browsers are particularly careful when manipulating these files to protect users from software vulnerabilities and possible dangerous behavior.
Media Types (iana.org) IANA official registry of MIME Media Type
Some Importa ...
fileUploadAndDownload
Spring完成文件的存储和下载文件的存储
使用数据库存储文件本体
使用数据库存储文件的位置,文件存储在文件系统上
使用数据库直接存储文件,使用LONGBLOB类型保存文件的Byte数据
文件的接收前端使用form上传数据
ContentType : multipart/form-data 使用 @RequestPart 注解接收文件
@PostMapping("/upload")public ResponseEntity<Object> uploadFile(@RequestPart MultipartFile file) throws IOException { String fileName = file.getOriginalFilename(); String suffix = fileName.substring(fileName.lastIndexOf(".") + 1); fileName = fileName.substring(0, fileName.lastIndexOf( ...
Simply MVC FrameWork
使用反射简单模拟MVC对请求的处理过程
@WebServlet("/")public class DispatcherServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); resp.setContentType("application/json;charset=utf-8"); String path = req.getServletPath(); System.out.println("path:"+p ...
Data Type Request Process
表单数据
application/x-www-form-urlencoded : enctype未指定属性时的默认值
multipart/form-data:当表单包含 type=file 的 input元素时使用此值
text/plain:出现于 HTML5,用于调试。这个值可被 button、input type=”submit” 或 input type = “image”元素上的 formenctype 属性覆盖
纯文本内容传输
自定义数据传输格式
跨域请求时的预检请求(CORS preflight)
处理方式application/x-www-form-urlencoded :
在 JavaEE 中,可以使用 HttpServletRequest.getParameter() 方法来获取 application/x-www-form-urlencoded 类型的数据
Spring 中,可以使用 @RequestParam 注解来接收 application/x-www-form-urlencoded 类型的数据。
multip ...