- 博客(43)
- 收藏
- 关注
原创 网络原理详解(应用层+传输层(UDP/TCP)+网络层(IP)等各层协议及功能详解)
这一层,也有很多现成的协议.(后面还会重点介绍HTTP协议)也有很多时候,是需要程序猿自己定义协议.定义协议:做出如下设计:1.明确当前请求和响应中包含哪些信息(根据需求来的)2.明确具体的请求和响应的格式.网络上,传输的数据,本质就是字符串。Java 写代码,都是各种对象。[序列化]:最后在发送数据的时候,就需要把对象转成(二进制)字符串[反序列化]:在收到数据的时候,也需要把(二进制)字符串转换回对象。
2024-05-21 17:33:56
1943
3
原创 UDP和TCP的区别与代码实现(详解)
是一个Socket对象,Java中的socket对象,就对应这系统里的socket文件.(最终还是要落到网卡)。(一个客户端的主机,上面运行的程序很多,天知道手动指定的端口是不是被别的程序占用了.让系统自动分配一个端口是更明智的选择。当第一个客户端连接好了之后,第二个客户端,不能正确被处理.服务器看不到客户端上线,同时客户端发来的请求也无法被处理。UDP是面向数据报,读写的基本单位,是一个UDP数据报(包含了一系列的数据/属性)TCP和文件操作类似,都是“流”式的(由于这里传输的单位是字节,称为字节流)
2024-05-19 15:35:36
1131
原创 按各种测试的分类(详解)
安全性测试的方法有代码评审,渗透测试,安全运维等,常用的静态安全测试工具有,Coverity,IBMAppscan Source,HPFortify,常用的动态安全测试有OWASP的ZAP,HP Weblnspect等。动态测试(dynamic testing),指的是实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断一个测试属于动态测试还是静态的,唯一的标准就是看是否运行程序。易用性包含七个要素:符合标准和规范,直观性,一致性,灵活性,舒适性,正确性和实用性。
2024-05-18 10:48:03
1379
原创 软件测试用例
测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。测试用例覆盖率越高,说明测试质量越高。测试用例覆盖率越底,说明测试质量较低。1、逻辑关系恒等:条件为真,结果一定为真,条件为假,结果一定为假与:条件全为真,结果才为真,条件中有一个为假,结果为假或:条件全为假,结果才为假,条件中有一个为真,结果为真非:条件为假,结果才为真2、如何通过判定表法设计测试用例(0)充分理解需求。
2024-05-16 19:42:15
1143
原创 网络初始(网络通信基础及网络数据传输基本流程)
网络互连:将多台计算机连接在一起,完成数据共享。局域网LAN,广域网WAN局域网和广域网并没有一个明确的界限,当局域网中,设备数量非常多,局域网空间跨度特别大,就可以称为广域网了。
2024-04-28 17:50:34
1242
原创 java文件io详解(File类+操作文件内容的字符字节流)
文件=>在硬盘上存储数据的方式.操作系统帮我们把硬盘的一些细节都封装起来了.程序猿只需要了解文件相关的接口即可.硬盘用来存储数据,和内存相比,硬盘的存储空间更大,访问速度更慢,成本更低,持久化存储不同的文件系统,管理文件的方式都是类似的通过目录–文件构成了“N叉树"树形结构~~站在操作系统的角度看待,目录也是文件.操作系统中的文件是一个更广义的概念,具体来说里面有很多种不同的类型.1.普通文件(通常见到的文件)2.目录文件(通常见到的文件夹)
2024-04-28 15:20:15
945
1
原创 CAS应用详解
全称Compare and swap,字面意思:"比较并交换”,能够比较和交换某个寄存器中的值和内存中的值,看是否相等.如果相等,则把另外一个寄存器中的值和内存进行交换CAS是一个指令,这个指令本身是不能拆分的基于CAS又能衍生出一套"无锁编程"
2024-04-25 22:42:04
852
原创 常见的锁策略与死锁(详解)
指的不是某个具体的锁。抽象的概念,描述的是锁的特性,描述的是“一类锁"锁冲突:两个线程尝试获取一把锁,一个线程能获取成功,另一个线程阻塞等待。如果是一个服务器程序,出现死锁,死锁的线程就僵住了,就无法继续工作了,会对程序造成严重的影响。
2024-04-25 09:52:27
1018
原创 多线程的代码案例(详解)
学习编程,需要必要的重复的。一个代码,反复写多遍,是非常正常的情况。如果细节很多,很难一次就把所有的细节都注意到都理解清楚。
2024-04-24 13:31:12
1209
原创 多线程的各种状态与线程安全问题及wait和notify详解
1.NEW:安排了工作,还未开始行动Thread 对象创建好了.但是还没有能用start方法});t.start();2.TERMINATED:工作完成了.try {});//t还没运行t.start();t.join();//t一定结束了3.RUNNABLE:可工作的.又可以分成正在工作中和即将开始工作.可理解成两种情况:1)线程正在cpu上运行;2)线程在这里排队,随时都可以去cpu上执行.try {});t.start();//t.join();
2024-04-23 12:35:43
839
原创 多线程的概念与创建详解
1.多进程有一个明显的缺点:进程太重了.1)消耗资源更多2)速度更慢一旦需要大规模频繁的创建和销毁进程,开销就比较大了,需要给进程分配资源的。2.若在创建进程的时候,只分配一个简单的pcb, 而不去分配后续的这些内存硬盘资源这样就既能够并发的执行任务,又能够提升创建/销段的速度轻量级进程=>线程(Thread)3.一个进程可以包含多个线程。这个进程中的多个线程,共同复用了进程中的各种资源(内存,硬盘),但是这些线程各自独立的在cpu上进行调度。
2024-04-22 12:43:31
682
原创 初识计算机与操作系统
在虚拟地址空间的加持下=>进程就具有了“独立性"=>每个进程有自己的虚拟地址空间=>一个进程无法直接访问或者修改其他进程虚拟地址空间的内容=>强化了系统的稳定性。1)早期的操作系统就是直接把物理内存分配给进程.就带来一个严重的问题:一旦某个进程内部代码写出bug,内存越界访问了,就可能会影响到别的进程!系统给进程进行调度的时候,也不是完全公平的,也会根据优先级的不同,来决定时间分配的权衡,就可以把系统资源调配给更重要的进程上了。不同的进程中,可以存在相同的虚拟地址, 但是实际上对应到的是不同的物理地址。
2024-04-19 19:49:17
842
原创 软件测试概念
在多数软件公司,会有两部分需求,一部分是用户需求,一部分是软件需求用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。该需求一般比较简略,一个目的。软件需求:或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。需求规格说明书(prd)。大多数公司在进行软件开发的时候会把用户需求转化为软件需求,开发人员和测试人员工作的直接依据就是软件需求。
2024-04-19 13:59:17
283
原创 Java包装类与泛型
基本数据类型对应的类类型–》包装类(类中必然有属性/方法)byte—>Bytelong—>Long有包装类有以下好处:1.使用比较方便2.数据的转换(相当于数据类型也面向对象了)
2023-11-07 22:35:14
89
原创 java异常
算数异常,数组越界异常,空指针异常等等。Exception(异常)又分为受查异常(编译时期异常)(如果不处理程序都不能够编译)和非受查异常(运行时期异常)(RunTimeException及其子类)(运行后显示的红色异常信息提示)。Error必须程序员处理,如栈溢出错误,是逻辑上的错误。继承与Exception(受查) 和RunTimeException.(非受查)如何衡量一个代码的好与坏。1.时间复杂度空间复杂度2.可读性高。javaSE语法完毕!
2023-11-06 16:26:56
94
原创 java中String类详解
字符串类型:String。这个类不可以被继承(被final修饰),支持比较大小。//1//2//3java中没有说过字符串是以’\0’结尾的。用string.length可以得到字符串长度。注意:str指向的对象没有任何数据str5代表不指向任何对象。每个单词以空格隔开。//最后一个空格为已知元素,可以为此求下标。//利用下标直接截取最后一个单词1.笔试时除非时间非常紧张,没有时间思考可以直接调用库方法完成,否则就自己正常写。
2023-11-05 23:10:52
86
原创 (java面向对象)图书馆管理系统
实现一个简单的图书管理系统。有管理员和普通用户两个身份。管理员:1.查找图书,2.新增图书,3.删除图书,4.显示图书,0.退出系统普通用户:1.查找图书,2.借阅图书,3.归还图书,0.退出系统想要构建多个属性,按shift。
2023-11-01 22:56:01
267
原创 java抽象类+接口
当一个类不能完整的描述具体的对象的时候,就叫抽象类。抽象方法没有具体实现。定义abstract class Shape{//抽象类//抽象方法只要有抽象方法就必须定义为抽象类。抽象类中可以有普通的成员方法和成员变量。注意:1.抽象类不能够实例化。普通类可。但是可以存在构造方法,子类实例化帮助其初始化。2.抽象类不一定包含抽象方法。3.当普通类继承抽象类,普通类必须重写抽象方法。(用alt+回车快捷重写)4.抽象类存在的最大意义就是为了被继承。
2023-10-31 21:43:47
51
原创 java多态
去完成某个行为,不同对象会出现不同状态1.必须在继承体系下2.子类必须对父类方法重写。@Override(与父类方法相同,都一样,内容不同)(与重载不同)3.通过父类引用调用重写的方法。多态:1.向上转型2.方法的重写3.动态绑定System.out.println("画图象");System.out.println("画矩形");System.out.println("画花花");System.out.println("画圆圆");
2023-10-30 17:34:35
49
原创 java类和对象
出来混,迟早要还的!!!实习的面试是很简单的,不要觉得自己很自律,从每一天找借口不完成每一天的任务时,你就不是一个自律的人!!!除非是不可抗力的因素。
2023-10-29 18:45:18
55
原创 java方法+递归+数组
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考//不能有数字不可以:int [] a1;a1={1,2}//错。当整体初始化,只能在定义的时候初始化。//不能有数字//以上都属于静态初始化//开辟内存,默认全为0;//动态初始化a3[3]=19;//可以随意一个进行赋值。如果数组越界如a3[33]=99;会运行错误,数组越界java中可以省略列,不能省略行。
2023-10-28 14:05:27
88
原创 java数据类型+运算符+逻辑运算
JDK:java开发工具包。JRE:提供java运行环境。JVM:运行Java程序。每周做一个分享会:1.这周学了什么2.指定一个人,分享自己擅长的知识。==》半年。
2023-10-18 21:14:49
80
1
原创 结构体及其大小
memcpy模拟实现前 -> 后 while(num --) {0 };内存拷贝 - memcpy int * int * my_memcpy(arr2 , arr1 + 2 , 17);int age;} s1 , s2;//全局变量,s1和s2是两个结构体变量 struct Stu {int age;//局部变量 Stu s5 , s6;return 0;匿名结构体类型,只用一次struct {int age;} s1;
2023-03-30 10:35:45
150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人