JavaEE
文章平均质量分 92
进入java新的世界
《冰美式与三明治》
想做一个Java研发工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【JavaEE】HTTP(3)
引入非对称加密并不是针对数据本身加密,而是针对对称加密的密钥加密,使密钥可以不被外界知晓的传输给服务器,真正对数据加密的还是对称加密的密钥,这样服务器本身就持有公钥,而客户端就持有私钥(这个私钥每一个客户端都是一样的,这个私钥是服务器在三次握手期间传输给各个客户端的),引入了非对称加密还不能完全解决传输安全,还会有中间人攻击。对称加密就是一个密钥,解密和加密都是通过这个密钥,客户端需要将数据传输给服务器就需要这个对称加密的密钥进行加密,服务器对客户端发送过来的数据进行解密也是通过这个密钥解密的。原创 2024-07-30 11:44:01 · 1654 阅读 · 14 评论 -
【JavaEE】HTTP(2)
主要是“兼容”,在上古时期,浏览器有许多,并且各个浏览器的版本也不一样,有的浏览器只能看文字,有的能看图片,还有些能看视频以及音频等等,用户访问的浏览器的版本也不同,程序猿就需要根据这个UA提供的浏览器版本号来返回相对应的浏览器版本的响应,这样可以给用户带来更好的体验感。Cookite怎么存储的:按照不同的域名分别存储在硬盘上,不同的域名之间的Cookite互不干扰,利用键值对存储文本,键和值都是自定义的。其实这里的请求报头里面的东西都是键值对,都是标准规定的内容。我们再参考一下utf8码表。原创 2024-07-16 23:35:49 · 1487 阅读 · 15 评论 -
【JavaEE】HTTP协议(1)
🤡🤡🤡个人主页🤡🤡🤡 🤡🤡🤡JavaEE专栏🤡🤡🤡 🤡🤡🤡上一篇文章:【JavaEE】网络原理——网络层+数据链路层🤡🤡🤡网页——服务器的交互 手机app——服务器的交互 http协议是一种"一问一答"的协议,请求和响应是一一对应的。抓包工具本质上是一种用于监控和分析网络流量的工具,它可以捕获并记录通过网络传输的数据包。 http抓包工具——Fiddler 能够把网络上传输的http数据获取到并且显示出来用Google或者Bing直接搜索Fiddler,以下就是操作流程:原创 2024-07-16 23:31:01 · 829 阅读 · 3 评论 -
【JavaEE】网络原理——网络层+数据链路层
路由选择其实就是找从源IP到目的IP的路径,这里类似于我们生活中的地图导航,规划出一个路线"最优解",但是在我们路由这里就不是"最优解"而是"较优解"其实就是我们网络路线复杂程度很高,并且路由不是对全局网络路线都很了解,只对周围路由的网络线路了解。这里就需要一个新的概念子网掩码,这个子网掩码就是帮助我们来设置网络号和主机号的,子网掩码左边部分全为1,右边部分全为0,这些01是指二进制,而且01不能交替。对于源IP找目的IP是"探索性"的方式寻找,在寻找的过程中会借助"路由表"来寻找目的IP。原创 2024-07-12 22:00:00 · 1100 阅读 · 1 评论 -
【JavaEE】网络原理——传输层协议
端口号:概念:是描述同一主机不同程序的同一时刻,同一个协议下,同一个主机上的端口号只能绑定一个应用程序,但是在不同的协议下是可以一个端口号绑定多个应用程序,无论是否是同一个协议一个应用程序都可以有绑定多个端口号。在业务中会经常见一个服务器中会有多个端口号给客户端提供业务功能的这样的端口称为"业务端口"程序猿还需要对这个服务器进行更精细的控制,如让服务器重新加载配置/开启某一个功能/重新启动/重新加载数据/修改某个选项设定,服务器就会提供一个端口号“管理端口”原创 2024-07-12 17:43:54 · 1904 阅读 · 0 评论 -
【JavaEE】网络编程——UDP
DatagramPacket对象表示的就是一个数据报,UDP数据报是由报头和载荷组成的,报头中的有IP地址和端口号这些都是DatagramPacket类的属性,而载荷这个类没有提供,所以需要程序猿自己去提供,所以就像和尚化缘一样,你需要自己提供一个化缘的碗,然后各家将食物放到碗中,由于数据报的本质就是一个二进制数据,所以我提供了一个字节数组来作为这个载荷存储数据。Socket api都是系统提供的,不同的系统提供的api是不一样的,但是java中对于系统的这些api进一步封装了。原创 2024-07-11 20:00:00 · 1212 阅读 · 0 评论 -
【JavaEE】网络编程——TCP
网络编程的目的是为了跨主机通信,socket==》操作系统提供的网络编程的API就称为"socket"API。原创 2024-07-11 19:00:00 · 1214 阅读 · 0 评论 -
【JavaEE】网络初识
标识一个主机上不同的应用程序,每一个程序被启动系统就会分配一个端口号,也可以自己自定义一个端口号,但是不建议这样操作,因为你不知道你自己设定的这个端口号是否和本主机其他应用是否重复了,而且就算你可以避免你主机上所有的端口号,如果面对的是客户呢,他知道你服务器中其他的端口号吗?数据链路层:网络层调用数据链路层的api,将"传输层数据包"构造为"数据链路层数据包",在数据链路层有典型的以太网协议,在原来的"网络层数据包"头部增加一个帧头并且在"网络层数据包"尾部增加一个帧尾就构成了"数据链路层数据包"。原创 2024-07-10 22:50:00 · 1265 阅读 · 4 评论 -
【JavaEE】文件IO
算的,文件夹算目录文件,在我们计算机中有许多文件和目录,而且这些目录还有些嵌套的,为了将这些目录和文件给整理在一起,则计算机有个体系来整理这些文件与目录,可以看成一个N叉树。那我们怎么找到我需要的文件呢,那需要一个机制,可以帮我们迅速定位到目标文件,那么需要定位到目标文件,你肯定需要一个路径来实现吧。上述的write操作,都会覆盖之前的数据,为了不覆盖之前的数据,这个覆盖操作不是write造成的,而是打开文件这个操作造成的,在打开文件的构造方法中,加一个参数true,那么就不会覆盖之前的数据。原创 2024-07-10 22:43:57 · 1135 阅读 · 10 评论 -
【JavaEE】多线程进阶
CAS这是一个比较交换指令,而且这一指令详细的就是读取内存,比较是否相等,修改内存三个步骤,而与之前线程安全问题中多个线程对同一个变量进行修改操作是一样的,也是上述这三个步骤,但CAS这三个步骤是打包一起的是原子的,而对变量修改不是原子的,所以需要加锁,才能保证线程安全,所以CAS在某种程度也可以实现锁的功能。原创 2024-07-07 21:09:08 · 1189 阅读 · 12 评论 -
【JavaEE】多线程代码案例(2)
创建一个类,表示一个任务(Runnable 任务本体 time任务的执行时间)引入数据结构来管理多个任务(用的是优先级队列,省去遍历的开销)引入扫描线程,不停的循环获取队列队首任务,判定是否到时间,到时间就执行,并且出队列没到时间就阻塞。引入锁,针对队列出和入的操作解决忙等问题,引入wait和notify,队列为空wait(死等)队首任务没到时间wait(带有超时时间)这里不要用sleep(sleep通过interrupt唤醒是非常规手段,sleep不会释放锁,会影响后续插入任务)原创 2024-07-04 21:02:49 · 1436 阅读 · 12 评论 -
【JavaEE】多线程代码案例(1)
原因:懒汉模式中的实例化对象是什么时候需要用就什么时候调用getIstance,多个线程同时去调用getIstance的时候,getIstance方法中的赋值是一个修改操作,此时就会发生多个线程对同一个变量进行修改操作就会引起线程不安全。靠我们程序猿本身来保证,这样肯定是不现实的,所以需要编译器来帮我们来做一个强制的检查,通过一些编码上的技巧,使编译器可以自动发现我们的代码是否有多个对象,并且在尝试创建多个实例的时候,直接编译出错。总结:在使用wait的时候最好搭配while不要搭配if。原创 2024-06-30 19:48:01 · 1172 阅读 · 14 评论 -
JavaEE多线程(2)
现有t1线程t2线程和locker1锁locker2锁, locker2锁要对t1线程中内容加锁,但同时locker2锁对t2线程还未解锁,所以t1线程需要阻塞等待,而现在locker1锁也要对t2线程中的内容加锁,但是locker1对t1线程还未解锁,所以t2线程需要阻塞等待,这样就导致你等我,我等你的死锁现象`通过条件,判断当前逻辑是否能够执行,如果不满足条件不能执行,那么就主动进行阻塞(wait)让其他线程来调度cpu的资源,等到条件满足的时候,再让其它线程(阻塞的线程)来唤醒。原创 2024-06-20 16:37:40 · 1430 阅读 · 18 评论 -
【JavaEE】多线程(1)
线程(Thread)是一个轻量级进程,与"进程"相比在创建和销毁上的开销更小,主要原因是:一个进程被创建 系统会给进程分配资源,而一个进程可以有多个线程,这些线程不需要独自一个一个被系统分配资源,它们可以共享系统为进程分配的资源,在销毁的时候也只需要销毁进程的资源即可,这样下来减少了创建与销毁的开销,线程不仅共享进程的资源,而且每一个线程都有自己的属性.后台线程:后台线程结束了,不会影响整个线程的进度,但前台线程结束了,整个线程就结束了,那么自然后台线程也就结束了。原创 2024-05-31 13:01:24 · 1511 阅读 · 25 评论 -
【JavaEE】计算机是怎么工作的
人们的生活无时无刻不被计算机影响,现如今大部分计算机都应用冯诺依曼体系结构,这个"神"为我们计算机行业做出了巨大的贡献。原创 2024-05-17 11:01:20 · 734 阅读 · 30 评论
分享