代码编织梦想

javaee:jvm-爱代码爱编程

基本介绍 JVM:Java虚拟机,用于解释执行Java字节码 jdk:Java开发工具包 jre:Java运行时环境 C++语言将写入的程序直接编译成二进制的机器语言,而java不想重新编译,希望能直接执行。Java先通过javac把.java文件转成.class文件,.class文件是字节码文件,包含Java字节码,然后Java把这个字节码文件在

【javaee初阶系列】——网络原理之进一步了解应用层以及传输层的udp协议-爱代码爱编程

目录 🚩进一步讲应用层 🎈自定义应用层协议 🎈用什么格式组织 👩🏻‍💻xml(远古的数据组织格式) 👩🏻‍💻json(当下最流行得一种数据组织格式) 👩🏻‍💻protobuffer(使用二进制方式来组织数据) 🚩进一步讲传输层中UDP(重点)  🎈UDP协议 👩🏻‍💻UDP报文长度  👩🏻‍💻校验和 👩🏻‍💻代码中了解UDP特点 👩

javaee:http协议-爱代码爱编程

基本内容 网站 = 后端(HTTP服务器)+ 前端(浏览器),而后端和前端都需要遵循HTTP协议 HTTP属于超文本传输协议,存在于应用层 文本:一般能在utf8或者gbk上找到的合法字符串 超文本:不仅仅是字符串,还可以携带一些图片或者其他特殊格式 富文本:word 当前的HTTP协议版本:HTTP3.0,基于UDP实现了一系列

servlet的三个重要的类(httpservlet 、httpservletrequst、 httpservletresponse)-爱代码爱编程

一、httpServlet  写一个servlet代码一般都是要继承httpServlet 这个类,然后重写里面的方法 但是它有一个特点,根据之前写的代码,我们发现好像没有写main方法也能正常执行。 原因是:这个代码不是直接运行的,而是放到tomcat上运行的 换句话说,tomcat里就有main方法 1.httpServlet的几个主要方法

【javaee初阶系列】——网络初识—tcp/ip五层网络模型-爱代码爱编程

目录 🚩网络的发展史 🎈局域网LAN  🎈广域网WAN 🚩网络通信基础 🎈IP地址 🎈端口号 🎈协议类型  🎈五元组 🚩协议分层  🎈什么是协议分层 🎈协议分层的好处 🎈OSI七层网络模型 🎈TCP/IP五层网络模型 💻物理层 💻数据链路层 💻网络层 💻传输层  💻应用层 🎈网络设备所在分层 🎈网络分层对应   🚩

【javaee初阶系列】——多线程案例二——阻塞队列-爱代码爱编程

目录 🚩阻塞队列的定义 🚩生产者消费者模型 🎈解耦性 🎈削峰填谷  🚩阻塞队列的实现 📝基础的环形队列 📝阻塞队列的形成 📝 内存可见性 📝阻塞队列代码 🚩阻塞队列的定义 阻塞队列是一种特殊的队列,也遵循“先进先出”的原则。 阻塞队列能是一种线程安全的数据结构 , 并且具有以下特性 :

【javaee初阶系列】——多线程案例三——定时器-爱代码爱编程

目录 🚩定时器是什么 🚩标准库中的定时器 🚩自定义定时器 🎈构造Task类 📝相对时间和绝对时间 🎈构造MyTime类 📝队列空和队列不为空 📝wait(带参)解决消耗资源问题 📝为什么使用wait,不使用sleep 📝为什么使用PriorityQueue(),不使用PriorityBlockingQueue() 🚩测试 🚩带有解释

【javaee初阶系列】——多线程 之 创建线程-爱代码爱编程

目录 🎈认识Thread类 🎈Sleep 🎈创建线程 🚩继承Thread,重写run方法 🚩实现Runnable接口,重写run方法 🚩使用匿名内部类创建 Thread 子类对象  🚩使用匿名内部类,实现Runnable接口 🚩Lambda表达式  我们之前接触到的程序都是单线程的,不是多线程的,就是程序运行的时候,进行的是多个方向(

【javaee初阶系列】——synchronized原理及优化(偏向锁,轻量级锁,自旋锁,锁消除,锁粗化)-爱代码爱编程

目录 🚩synchronized锁特性详细解说 🚩加锁工作过程(锁升级) 🎈偏向锁 🎈轻量级锁(自适应的自旋锁) 🎈 重量级锁  🚩其他的优化操作 🎈锁消除 🎈锁粗化 🎈相关面试题 结合上上一篇的锁策略,我们可以了解到锁的特性: 🚩synchronized锁特性 一、开始时是乐观锁,如果锁冲突频繁,就转换为悲观锁。 就比

【javaee初阶系列】——文件操作 io 之 文件系统操作-爱代码爱编程

目录 📝认识文件 🚩树型结构组织 和 目录 🎈绝对路径和相对路径 🚩文件类型 📝文件系统操作 🎈File 概述 🎈File类的使用 1. 绝对路径 vs 相对路径 2. 路径分隔符 3. 静态成员变量 4. 常用构造器 5. 常用方法 5.1 获取功能 5.1.1 getParent()  5.1.2 getName() 5

【javaee初阶系列】——一万字带你了解 juc常见类 以及 线程安全集合类(哈希表)-爱代码爱编程

目录 🚩JUC(java.util.concurrent) 的常见类 🎈Callable 接口 🌈理解 Callable(相关面试题) 🌈理解 FutureTask  📝线程创建方式 🎈 ReentrantLock可重入锁 🌈ReentrantLock 优势: 🌈ReentrantLock和synchronized区别: 🎈原子类 🎈信

【javaee初阶系列】——cas-爱代码爱编程

目录 🎈什么是 CAS 📝CAS 伪代码  🎈CAS 是怎么实现的 🎈CAS 有哪些应用 🚩实现原子类 🌈伪代码实现: 🚩实现自旋锁 🌈自旋锁伪代码 🎈CAS 的 ABA 问题 🚩什么是 ABA 问题 🚩ABA 问题引来的 BUG 🎈CAS相关面试题 🎈什么是 CAS CAS: 全称 Compare and

javaee:网络原理——协议(应用层+传输层)-爱代码爱编程

应用层 协议就是一种约定 应用层:对应应用程序,是程序员打交道最多的一层,调用系统提供的网络api写出的代码都是属于应用层的。应用层有很多现成的协议,但程序员一般用的还是自定义协议 自定义协议要约定好哪些内容? 1.服务器和客户端之间要交互哪些信息(产品经理规定) 2.数据的具体格式(与产品经历无关,客户端和服务器的程序员共同敲定) 客户端和服

软件测试 -爱代码爱编程

写在前面 // 如果文章有问题的地方, 欢迎评论区或者私信指正 目录 什么是Selenium 一个简单的用例  元素定位 id定位 xpath定位   name定位 tag name 定位和class name 定位 操作元素 click  send_keys submit text getAttribute 添加等待

【javaee初阶系列】——带你了解volatile关键字以及wait()和notify()两方法背后的原理-爱代码爱编程

目录 🚩volatile关键字 🎈volatile 不保证原子性 🎈synchronized 也能保证内存可见性 🎈Volatile与Synchronized比较 🚩wait和notify 🎈wait()方法 💻wait(参数)方法 🎈notify()方法 🎈解决线程饿死方式 🎈notifyAll()方法 🚩volatile关键字

【javaee初阶系列】——单例模式 (“饿汉模式“和“懒汉模式“以及解决线程安全问题)-爱代码爱编程

目录 🚩单例模式 🎈饿汉模式 🎈懒汉模式 ❗线程安全问题 📝加锁 📝执行效率提高 📝指令重排序 🍭总结  单例模式,非常经典的设计模式,也是一个重要的学科,也是程序员必备的技能。 设计模式其实就是程序员的棋谱,开发过程中,会遇到”经典场景“,针对这些经典场景, 🚩单例模式 单例实际上是单个实例(对象),这种场景种,希望有的类,只

java-爱代码爱编程

1.UDP和TCP UDP和TCP是传输层协议中最核心的两种协议. 特点: UDP: 无连接,不可靠传输,面向数据报,全双工 TCP: 有连接,是可靠传输,面向字节流,全双工 1.1 有无连接 ①有连接: 打电话时,直接对方接通,才能算是完成连接建立. ②无连接: 发信息时,不需要建立连接. 客户端和服务器之间,使用"本本"(内存)保存

自定义协议-爱代码爱编程

应用层 有许多现成的协议(HTTP协议做网站必备),也有许多需要程序员自定义的协议. 1.自定义协议 自定义协议: 1.明确传递的信息是什么 2.约定好信息按照什么样的格式来组织成二进制字符串 举个例子: 当我们点外卖时,打开软件,会显示商家列表,列表中有很多项,每一项都包含了一些信息.商家的名称,图片,好评率......这些信

javaee:多线程(3):案例代码-爱代码爱编程

目录 案例一:单例模式 饿汉模式 懒汉模式 思考:懒汉模式是否线程安全? 案例二:阻塞队列 可以实现生产者消费者模型 削峰填谷 接下来我们自己实现一个阻塞队列 1.先实现一个循环队列 2. 引入锁,实现线程安全 3.实现阻塞 实现生产者消费者模型 案例三:定时器 问题 线程安全 线程饿死 理解代码过程 案例四:线程池

【javaee初阶】万字详解tcp/ip协议!!!(一)_tcp/ip协议 二进制 java-爱代码爱编程

文章目录 1. 应用层和传输层的联系2. UDP协议3. TCP协议3.1 TCP报头介绍3.2 TCP实现可靠传输的核心机制(1)确认应答(2)超时重传(3)连接管理建立连接(三次握手)断开连接