
javaWeb
文章平均质量分 81
柠七99
这个作者很懒,什么都没留下…
展开
-
http与https----https详解
IP:格式:XXX.XXX.XXX.XXX(1) 四个部分组成,每个部分的范围为0-255(2)网络号:前三个部分组成(标识网段)(3)主机号:最后一个部分(标识主机)<a>网络号相同处于同一个网段 主机号标识唯一主机局域网内(局域IP):网段唯一,同一个网段主机唯一公网(公网IP):公网IP唯一分为A-E五大类,部分范围时局域网IP,部分是广域网IPA类 0.0.0.0到127.255.255.255 B类 128.0.0.0到191.255.255.255 .原创 2021-04-11 08:55:19 · 394 阅读 · 0 评论 -
TCP/IP五层模型相关协议(IP和MAC)
目录网络层IP协议协议头格式(了解)网段划分数据链路层协议MAC地址MTUARP应用层协议DNS网络层IP协议协议头格式(了解)4位版本号(version): 指定IP协议的版本。对于IPv4就是4 4位头部长度: IP头部的长度是多少个32bit,也就是 length * 4 的字节数.。4bit表示最大的数字是15,因此IP头部最大长度是60字节 8位服务类型:3位优先权字段(已弃用),4位TOS字段,和1位保留字段(必须置为0)。4位 TOS...原创 2021-04-10 21:48:58 · 692 阅读 · 0 评论 -
TCP协议相关机制及粘包问题
确认应答机制 (安全机制) 超时重传机制 (安全机制) 连接管理机制 (安全机制) 滑动窗口 (效率机制) 流量控制 (安全机制) 拥塞控制 (安全机制) 延迟应答 (效率机制) 捎带应答 (效率机制)滑动窗口机制--提供效率使用滑动窗口可以解决效率问题(类似多线程的并发方式)同时发送多个数据报窗口大小:无...原创 2021-04-10 14:23:08 · 252 阅读 · 0 评论 -
UDP和TCP(UDP/TCP特性及TCP的三次握手四次挥手)
回顾:网络传输设计协议考虑的两个因素:效率、安全UDP协议 格式:特点:无连接: 知道对端的IP和端口号就直接进行传输, 不需要建立连接直接发送数据 不可靠: 没有类似TCP保证数据传输的安全机制(连接管理机制、确认应答机制,超时机制),但是效率更高 面向数据报: 不能够灵活的控制读写数据的次数和数量(应用层交给UDP多长的报文,UDP原样发送,既不会拆分也不会合并),只能一次接收(系统级别的操作:调用系统函数) 没有发送缓冲区(发了消息就不管),有接收缓存区...原创 2021-04-09 15:42:10 · 249 阅读 · 0 评论 -
五元组及不同组网方式的传输流程
一、五元组五元组:源IP,源端口号,目的IP,目的端口号,协议号IP:标识主机,给人用的 源IP:发送数据的主机 目的IP:接收数据的主机端口号:表示某个主机进程 源端口:标识发送数据的进程 目的端口:标识接收数据的进程协议号:进程要封装、解析的数据报的数据格式 NDS协议(应用层协议):域名转IP查找方式:树形结构从下往上查找(查找缓存或者域名服务器)区域名服务器--》根域名服务器,若是...原创 2021-04-09 09:28:20 · 8607 阅读 · 1 评论 -
网络原理之TCP/IP五层模型
特点:每个结点最多有两棵子树,即二叉树不存在度大于 2 的结点二叉树的子树有左右之分,其子树的次序不能颠倒,二叉树是有序树二叉树的性质若根节点的层数为1,则一棵非空二叉树的第i层上最多有2^(i - 1) (i>0)个结点若只有根节点的二叉树的深度为1,则深度为K的二叉树的最大结点数是2^k - 1 (k>=0)对任何一棵二叉树, 若叶结点个数为 n0, 度为2的非叶结点个数为 n2,则有n0=n2+1具有n个结点的完全二叉树的深度k为log2(n + 1)上取整.原创 2021-04-08 14:46:01 · 370 阅读 · 0 评论 -
filter过滤器
filetr的作用/使用场景:实现用户会话的统一管理记录用户请求信息统计请求响应的执行时间响应数据过滤敏感信息数据脱敏:数据库保存完整的数据,返回给前端是部分数据,如手机号显示184****0957filter可以有多个filter的执行流程客户端发送http请求后,先调用filter1,再调用filter2 ,最后再调用Servlet 服务端响应时,先调用filter2 ,再调用filter1如果filter要继续往下执行,调用filterChain.doFilter(原创 2021-04-05 18:40:01 · 513 阅读 · 0 评论 -
JavaScript详解
javascript:控制页面的行为一、变量javascript是一个弱类型语言(变量只有在运行时才会加载,类型可以在运行时变化,代码完成之后不会进行类型检查)利用var x;定义一个全局变量利用let x;定义一个局部变量二、数据类型 (1)数值(2)字符串:可以使用单引号和双引号(3)boolean(4)数组: var x = new Array();var x =[1,2,3];(5)json对象 :{key1:value1,key2;value2}(6)undefined :未原创 2021-04-05 13:57:20 · 170 阅读 · 1 评论 -
cookie和session详解
背景:http是一个无状态的协议,短连接(每次请求和响应都会新建连接及关闭连接)注:http1.1提供了长连接cookie概念定义: cookies 是存储在客户端计算机上的文本文件,并保留了用户的各种跟踪信息作用: 会话保持,如完成用户的登录与状态保持cookie工作原理:客户端向服务区发起登录请求服务器脚本向浏览器发送一组 Cookies。例如:姓名、年龄或识别号码等。浏览器将这些信息存储在本地计算机上,以备将来使用。当下一次浏览器向 Web 服务器发送任何请求时,浏览器会把这些原创 2021-03-29 11:37:59 · 2685 阅读 · 0 评论 -
后端资源定位及有关servlet的应用
如何定位后端资源?IDEA中web项目部署中tomcat的配置注意事项:url查找过程?(假设要去北京某个银行的某个营业厅办理转账业务)ip对应主机地址(对应北京)port对应进程(对应某个楼)应用上下文路径对应项目(对应营业厅)uri对应项目中的资源(对应营业厅中多个窗口提供的服务)浏览器向web服务器发送请求,根据应用上下文路径去访问某一个项目,再根据uri寻找项目中提供的某个资源,找到后向浏览器返回资源uri映射资源:静态资源文件程序提供的资源(servl..原创 2021-03-28 16:40:43 · 195 阅读 · 0 评论 -
前端开发语言——html、css与JavaScript
前端开发基本语言<a href">前端开发基本语言:html:定义页面的内容css:定义页面的样式javascript:控制页面的行为jquery是javaSript中的一个库,jquery是JavaScript中的一个子集。通过使用jquery框架中的一些接口,我们可以更方便的实现一些网页操作app.js文件 js文件时JavaScript语言文件的扩展名JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型原创 2021-03-26 15:45:03 · 2345 阅读 · 0 评论 -
网络原理之http协议(应用层)详解
http协议格式:(首行–头部–body)http请求首行:[方法] + [url] + [版本]Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔,遇到空行表示Header部分结束Body: 空行后面的内容都是Body,Body允许为空字符串. 如果Body存在, 则在Header中会有一个ContentLength属性来标识Body的长度http响应首行:[版本号] + [状态码] + [状态码解释]Header: 同http请求Body: 同http请求,但是原创 2021-03-26 08:54:41 · 419 阅读 · 0 评论 -
网络原理之url
目标:对于HTTP协议来说,需要掌握协议格式,结合理论与实操,进行程序的调试,其中,HTTP协议格式本身URL:俗称网址协议:数据格式的约定域名:基于DSN解析为IPIP:网络中定义主机的地址(逻辑地址)PORT:端口号,定位某个主机中唯一的进程(应用程序)—绑定进程url:全路径(绝对路径)url是一种具体的uri,它是uri的一个子集uri:包含url,还包含其他相对路径注意:输入域名直接访问,其实是访问 / 这个路径的资源,浏览器中,不输入端口号,是因为http协议的默认端口原创 2021-01-19 18:54:59 · 394 阅读 · 0 评论 -
有关maven的基本使用
在IDEA中使用maven时,注意要先配置好环境maven是什么?maven是一种用于软件项目管理工具,基于 Project Object Model(POM),用来管理项目的构建,汇报及文档生成等功能。maven的作用:项目构建 项目依赖 项目打包maven能自动完成项目的基础工具建设maven使用标准的目录结构和默认构建生命周期标准的maven结构:本质上是基于pom.xml配置,使用maven的命令,完成项目构建工作java中经常会使用xml来做配置管理maven的常用配原创 2020-11-23 21:07:52 · 126 阅读 · 0 评论 -
IO流
IO流的分类类:File :文件操作流字节流:Stream (处理为字节的数据,write/read操作byte[] ,或一个byte)字符流:Reader、Writer (处理为字符的数据,一般用在文本操作,操作byte[] 、byte、char[]、char)Input / Reader:输入流 (流的方向:读取 / 写入)Output / Write:输出流Buffered:缓冲流(开辟缓冲区)特殊:字节字符流转换流 InputStreamReader、原创 2021-03-20 16:53:35 · 73 阅读 · 0 评论 -
Java基础IO之文件学习
文件的构成文件头信息(Metadata)文件内容File文件操作类:java.io.File注1:java.io.File类是一个普通的类,若要实例化对象,用到以下构造方法方法解释File(String pathname)创建指定路径文件对象new 操作注意事项:既可以指文件,也可以指文件夹通过路径创建File:可以使用绝对路径/相对路径不管路径上是否有这个文件/文件夹,Java中都可以创建得到一个File对象常见的API方法:方法.原创 2021-03-20 09:36:41 · 83 阅读 · 0 评论 -
认识I/O
I/O本质:对数据库的读写操作I/O分类:(1)BIO:同步阻塞的IO(2)NIO:同步非阻塞IO(3)AIO:异步非阻塞IOI/O的方式:(1)网络IO(2)本地文件IOI/O读写方式:I/O特性:(1)本质上属于数据传输(2)涉及两个设备间数据的传送方向(3)数据流 (数据在不同设备之间流转)(4)Java进程的IO操作对进程影响:----->阻塞IO会导致进程在运行态和阻塞态转换,由操作系统完成后续的IO操作----->Java进程,在内.原创 2021-01-17 16:41:20 · 161 阅读 · 0 评论 -
阻塞队列与线程池
一、阻塞队列队列的特点:先进先出底层数据结构:循环队列,链表jdk队列实现:可以看Queue接口实现类阻塞队列:BlockingQueue接口,使用循环数组实现队列(阻塞队列的实现需要保证线程安全[take和 put])实现:package lesson;/** * 实现阻塞队列: * 1. 线程安全问题:在多线程下,put、take不具有原子性,4个属性,不具有可见性 * 2. put操作,如果存满了,需要阻塞等待;take如果是空,需要阻塞等待 * @param <T原创 2021-03-19 10:45:56 · 218 阅读 · 0 评论 -
线程间的通信---wait()、notify()
wait()作用:让当前线程进入等待状态(使线程停止运行),同时,wait()也会让当前线程释放它所持有的锁,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,当前线程被唤醒(进入“就绪态”)注意:1.方法wait()的作用是使当前执行代码的线程进行等待,wait()方法是Object类的方法,该方法是用来将当前线程置入“预执行队列”中,并且在wait()所在的代码处停止执行,直到接到通知或被中断为止。 2. wait()方法只能在同步方法中或同步块中调用。如果..原创 2021-03-19 08:11:25 · 1064 阅读 · 0 评论 -
初阶多线程安全问题(II)
多线程案例 --单例模式饿汉模式懒汉模式-------用于单线程-------多线程 (性能低)-------多线程(二次判断,性能高)接下篇原创 2021-03-17 16:58:33 · 106 阅读 · 0 评论 -
初阶多线程安全问题(I)
了解:线程有用户线程(非守护线程)和守护线程(后台线程) 分析:有一个COUNT = 0 变量,同时启动20个 线程,每个线程执行1000次,每次循环COUNT++,等这20个子线程执行完毕后,再main线程打印COUNT(预期2000),但是打印结果却总是小于预期值,这就涉及到线程安全问题。*public class UnsafeThread { private static int COUNT = 0; public static void main(String[] arg.原创 2021-03-16 09:56:13 · 128 阅读 · 0 评论 -
Java运行时数据区域划分
运行时数据区域划分Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若 干个不同的数据区域,如下: 1. 程序计数器(线程私有):是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。2. Java虚拟机栈(线程私有):每个方法被执行的时候, Java虚拟机都会同步创建一个栈帧用于存储局部变量表、 操作数栈、 动态连接、 方法出口等信息;方法调用传入方法栈桢,方法参数是作为方法局部变量接受传入值。3. 本地方法栈(线程私有):是为虚拟机使用到的本地(Native) 方法原创 2021-03-14 20:19:03 · 255 阅读 · 0 评论 -
Thread常用API总结及深入
多线程的使用场景?(1)提高性能,效率(并行并发执行)(2)阻塞代码导致后续代码无法执行,多线程让后续代码可以执行,不受阻塞代码的影响什么因素会影响多线程的效率?根据哪些因素设计多线程的数量?Thread常用API静态方法:作用在当前线程static intactiveCount() 获取当前线程主中还存活的线程数量static ThreadcurrentThread() 获取代码行所在的当前线程static booleaninterrupted() 中断线原创 2021-03-13 23:17:45 · 151 阅读 · 0 评论 -
线程及其常见方法总结
线程:线程与进程的区别:进程是系统分配资源的最小单位线程时系统调度的最小单位一个进程内的线程之间是可以共享资源的资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。内存分配:同一进原创 2021-03-13 11:58:30 · 167 阅读 · 1 评论