JavaEE
文章平均质量分 92
奋斗べ青年.
本科 学生
展开
-
【JavaEE】简单了解JVM
一、JVM中的内存区域划分二、JVM的类加载机制1、类加载的触发时机2、双亲委派模型1.1、向上委派1.2、向下委派三、JVM中的垃圾回收机制(GC)1、确认垃圾1.1、引用计数(Java实际上没有使用这个方案,但是Python、PHP采用了)1.1.1、循环引用1.2、可达性分析(被Java采用)2、释放内存2.1、标记清除2.2、复制算法2.3、标记整理2.4、分代回收原创 2023-07-31 19:57:07 · 766 阅读 · 3 评论 -
【JavaEE】博客系统前后端交互
一、准备工作二、数据库的表设计三、封装JDBC数据库操作 1、创建数据表对应的实体类 2、封装增删改查操作四、前后端交互逻辑的实现 1、博客列表页 1.1、展示博客列表 1.2、博客详情页 1.3、登录页面 1.4、强制要求用户登录,检查用户的登录状态 1.5、实现显示用户信息的功能 1.5.1、针对列表页进行处理 1.5.2、针对详情页进行处理 1.6、用户退出登录功能原创 2023-07-28 16:05:36 · 982 阅读 · 1 评论 -
【JavaEE】基于Servlet与MySQL实现一个简易网站
之前小编在写前端页面的时候,实现了一个表白墙页面,但是这个页面中的数据只会在本次打开的页面中保存下来,下次重新打开或者刷新,之前的聊天记录就不存在了。还有就是我们写的这个页面只能在你本地的电脑上运行,其他人的电脑无法访问到这个页面。本章博客就是要实现一个后端的服务器来解决这两个问题,让用户可以访问到这个页面并且使用户的数据可以永久保存。原创 2023-07-24 21:16:16 · 622 阅读 · 0 评论 -
【JavaEE】Servlet常用的API
一、HttpServlet类1、Servlet的生命周期✨tomcat的两个端口✨设置告诉浏览器使用那种字符集解析响应✨Java中Unicode和utf8字符集的使用二、HttpServletRequest类1、获取请求的信息2、 前端给后端传递数据的三种方式2.1、通过query string传递2.2、发送Post请求通过form表单的格式传递数据2.3、使用post请求的body以json的方式传递数据(最常用的写法)三、HttpServletRespon原创 2023-07-23 22:58:27 · 564 阅读 · 0 评论 -
【JavaEE】Tomcat的安装和使用、创建Mevan项目使用Servlet写一个程序
目录前言一、Tomcat的下载和安装二、写一个简单的Servlet项目1、创建一个Maven项目2、引入依赖3、创建目录4、编写Servlet代码。5、打包程序6、将程序部署到Tomcat上7、验证程序运行结果三、在IDEA上安装Smart Tomcat插件四、Servlet中的一些常见错误原创 2023-07-18 18:34:47 · 1820 阅读 · 0 评论 -
【JavaEE】HTTPS及其安全机制
1、什么是HTTPS2、HTTPS的基本工作过程2.1、使用对称密钥进行加密2.2、使用非对称密钥进行加密2.3、中间人攻击2.4、证书原创 2023-07-15 18:33:44 · 407 阅读 · 0 评论 -
【JavaEE】HTTP请求的构造
在编写前端程序的时候,通常使用HTML和JS来构造请求。再简单方便一点,我们还可以使用一些工具来构造HTTP请求,例如使用postman软件。原创 2023-07-14 20:12:31 · 2004 阅读 · 0 评论 -
【JavaEE】HTTP协议和抓包工具的使用
1、HTTP的概述和抓包工具的使用1.1、HTTP是什么1.2、了解HTTP协议的工作过程1.3、抓包工具的使用1.3.1、抓包工具在HTTP传输时的工作原理1.3.2、Fiddler抓包工具的下载和使用2、HTTP协议格式2.1、HTTP请求格式2.1.1.基本格式2.1.2、了解HTTP请求包中的首行🍂、认识URL🍂、HTTP方法📒GET方法:获取资源📒POST方法:上传资源2.1.3、GET和POST方法的区别(面试题)原创 2023-07-12 20:36:01 · 733 阅读 · 0 评论 -
【JavaEE】网络层和数据链路层重点协议:IP和以太网
1、IP协议1.1、IP协议报头1.2、解决IPv4地址不够用的问题2、IP地址管理2.1、IP地址的组成2.1.1、子网掩码2.1.2、IP地址的分类3、路由选择4、数据链路层协议:以太网协议原创 2023-06-19 19:06:48 · 1187 阅读 · 0 评论 -
【JavaEE】网络原理——传输层协议:UDP和TCP
1、简单了解应用层协议2、传输层UDP协议3、传输层TCP协议3.1、TCP报文介绍3.2、TCP实现可靠传输的核心机制3.2.1、确认应答3.2.2、超时重传3.3、连接管理 (三次挥手,四次握手)3.3.1、建立连接(三次握手)3.3.2、断开连接(四次挥手)3.4、滑动窗口3.5、流量控制3.6、拥塞控制3.7、延时应答3.8、捎带应答3.9、面向字节流(粘包问题)3.10、 TCP异常情况4、TCP和UDP的应用场景的差别原创 2023-06-14 18:41:32 · 1935 阅读 · 3 评论 -
【JavaEE】网络编程之TCP套接字
1、TCP套接字1.1、ServerSocket 常用API1.2、Socket 常用API1.3、TCP中的长短连接2、基于TCP套接字实现一个TCP回显服务器2.1、服务器端代码2.2、客户端代码2.3、解决服务器不能同时和多个客户端建立链接的问题3、基于TCP socket 写一个简单的单词翻译服务器原创 2023-06-09 12:12:56 · 565 阅读 · 2 评论 -
【JavaEE】网络编程之UDP套接字
1、网络编程基础2、UDP数据报套接字编程2.1.DatagramSocket API(方法)2.2、DatagramPacket API(方法)2.3、InetSocketAddress API3、基于UDP socket写一个回显服务器3.1、服务器端3.2 、客户端3.3、完整回显服务器和客户端代码3.3.1、服务器和客户端代码的执行流程4、 写一个简单的单词翻译服务器4.1、服务器原创 2023-06-05 17:05:42 · 663 阅读 · 0 评论 -
【javaEE】计算机网络原理初始
1、网络发展史1.1、独立模式1.2、网络互连1.2.1、局域网(LAN)1.2.2、广域网(WAN)1.2.3、广域网和局域网的区别1.2.4、局域网组建网络的方式 (了解)2、网络通信基础2.1、IP地址2.2、端口号2.3、认识协议2.4、协议分层2.5、OSI七层网络模型2.6、TCP/IP五层模型2.7、封装和分用(大体了解封装和分用的流程)🧑发送方(封装)👧接收方(分用)2.8、网络设备所在分层2.9、五元组原创 2023-06-01 23:28:32 · 357 阅读 · 0 评论 -
【JavaEE】文件操作和IO
1、认识文件1.1、路径1.1.1 、绝对路径1.1.2、相对路径1.2、文本文件 vs 二进制文件2、文件系统操作3、文件内容操作3.1、字节流用来输入的抽象类InputStream的方法使用3.1.1、FileInputStream类的构造方法3.1.2、字节流读操作3.1.3、字节流写操作3.2、 字符流的读写操作4、文件操作的案例原创 2023-05-29 21:12:29 · 681 阅读 · 0 评论 -
【JavaEE】JUC(java.util.concurrent)的常见类以及线程安全的集合类
1、JUC(java.util.concurrent)的常见类1.1、Callable接口的用法(创建线程的一种写法)1.2、ReentrantLock可重入互斥锁1.2.1、ReentrantLock和synchronized的区别1.2.2、如何选择使用哪个锁1.3、Semaphore信号量1.4、CountDownLatch2、线程安全的集合类2.1、多线程环境使用ArrayList2.2、多线程使用队列2.3、多线程使用哈希表2.3.1、HashT原创 2023-05-27 20:06:07 · 897 阅读 · 0 评论 -
【JavaEE】锁策略、CAS和synchronized的优化
假设存在两个线程t1和t2,有一个共享变量num在内存中,初始值为A。接下来,线程t1想使用CAS把内存中的值(num)改成Z,那么就需要先从内存中读取num的值,记录到oldNum变量(寄存器)中。使用CAS判定当前内存中的值num和寄存器中的值oldNum是否相等为A,为A,就将内存中的值修改成B。但是内存中的值(num)和寄存器中的值(oldNum)相等中间存在两种情况。t1线程在执行上述两个操作的时候,中间没有其他线程修改内存中num的值,一直就是A。原创 2023-05-27 10:24:44 · 981 阅读 · 0 评论 -
【JavaEE】阻塞队列、定时器和线程池
1、阻塞队列1.1、概念1.2、生产者消费者模型1.3、阻塞队列的模拟实现2、定时器2.1、使用标准库中的定时器2.2、模拟实现定时器3、线程池3.1、标准库中的线程池3.1.1、ThreadPoolExecutor类的构造方法3.1.2、Java标准库的4种拒绝策略【经典面试题】【重点】3.1.3、工厂模式3.2、模拟实现线程池原创 2023-05-21 15:12:27 · 626 阅读 · 0 评论 -
【JavaEE】wait/notify方法 和 单例模型
这里补充一下上一个博客中的volatile和内存可见性的知识点。网上有些资料在说内存可见性的时候,会说t1线程在频繁读取主内存,效率比较低,就被优化成直接读自己的工作内存,t2修改了主内存的结果,由于t1没有读主内存,导致修改不能被识别到。上述中的工作内存就相当于我们说的CPU寄存器,主内存就是内存。主内存和内存这一说法来自于jvm规范文档(官方说法),为什么要这么说,而不使用我们采用的说法,原因在于Java的跨平台性使Java能够1.兼容多种操作系统,2.兼容多种硬件设备,尤其是CPU。原创 2023-05-16 13:37:26 · 284 阅读 · 0 评论 -
【JavaEE】线程安全(难点)
在说线程安全之前,先来了解一下静态方法和类对象这两个概念,静态方法是属于类的方法与对象没有关系。类对象(例如:TestDemo.class)我们写的.Java源代码文件通过javac编译成为.class二进制字节码文件。JVM就可以执行.class文件了,JVM想要执行这个.class文件就得先把文件内容读取到内存中,这个操作叫做类加载,类对象,就可以表示这个.class文件的内容,类对象描述了类的方方面面的详细信息,包括不限于:1、类的名字,2、类的属性,属性的名字、类型、权限,3、类有那些方法,方法的名原创 2023-05-10 14:46:13 · 677 阅读 · 0 评论 -
【JavaEE】Thread类
Java标准库中Thread类可以视为是对操作系统提供的API进行了进一步的抽象和封装。内部类是定义在类里面的有名字的类,匿名内部类是定义在类里面没有名字的类。//此处实现的匿名内部类是实现了Runnable接口的//这里的new表示的是创建对象的动作,//Runnable(),接口名称就是匿名内部类需要实现的那个接口//{..}表示的是匿名内部类的内容@Overridetry {});t.start();try {原创 2023-05-05 11:30:10 · 307 阅读 · 0 评论 -
【JavaEE】计算机组成以及操作系统(进程)的基本知识
相信计算机相关专业的同学对一定是相当熟悉吧。现代的计算机大多遵守冯诺依曼体系结构。原创 2023-04-15 17:58:01 · 438 阅读 · 0 评论 -
【JavaEE】认识线程
一个进程中可以有一个或者多个线程,每个线程都是一个独立的执行流。多个线程之间,也是并发(并行+并发)执行的。这里的多线程可能是在多个CPU核心上,同时运行,也可能是在一个CPU核心上,通过快速调度进行运行。在第一个JavaEE的博客中说到进程的调度,指的是这些进程里面只有一个线程。操作系统中真正调度的是线程,而不是进程。线程是操作系统调度运行的基本单位。进程是操作系统资源分配的基本单位。线程之间共享进程资源。原创 2023-05-01 23:11:22 · 1151 阅读 · 0 评论