JavaEE初阶
文章平均质量分 87
IUIUStar
星星在发光~
展开
-
【JVM】JVM执行流程 && JVM类加载 && 垃圾回收机制等
🌷5、垃圾回收机制(重要,针对的是堆)当main函数中调用完test()方法之后,test对象就无效,这种无效对象就会被回收掉。原创 2023-07-21 22:35:05 · 235 阅读 · 0 评论 -
【Bug记录篇】IDEA双击打不开,报错的问题
但是上面的方法都不行,应该是报错的问题不一样。最后是参考了这篇文章,是Pycharm无法打开。我试了一下,修改了权限:改为管理员方式打开就可以了!早上,带着满满的干劲来实验室,准备继续我的IDEA之旅,结果好嘛,一打开IDEA,给我这样?(2)修改端口号(我没试过这种)(1)cmd管理员方式启动。原创 2023-07-21 09:50:45 · 668 阅读 · 0 评论 -
【Linux学习】记录下Linux的常用基本指令~
Linux是一个操作系统,和windows是“并列”关系。Linux已经成为"世界第一大操作系统"。(1)节省系统资源:运行图形化界面需要让系统付出一些额外开销;(2)节省网络带宽:如果通过网络访问服务器,使用图形界面需要传输一帧一帧的图像,但是使用命令行只要传输简单的字符串;(3)便于批量执行任务:可以通过一些“脚本”代码(Linux Shell)批量执行任务,完成一些简单的编程工作(比如定时备份文件,删除文件等)。原创 2023-07-10 17:12:08 · 210 阅读 · 0 评论 -
【Servlet综合项目练习】实现一个简单的博客系统~
注意这里的用户信息不能从sessio获取,session中获取的是当前登录的用户信息,是唯一且固定的,但是现在显示的是每个博客的作者,也就是博客是谁写的。根据以上响应的格式,在DAO中的sql,应该是从数据库的blog中查询所有,查询出来的是一个集合,集合的每个对象都是一条博客记录,包括id,标题,内容,发布时间,用户id。分析:在登录的时候,前端输入用户名和密码,此时我们需要从数据库中获取用户名,判断该用户名是否存在,因此提供一个通过用户名来查询用户信息的数据库访问方法,原创 2023-07-07 17:46:21 · 694 阅读 · 0 评论 -
【Servlet学习二】Servlet原理(Tomcat)&& ServletAPI
1、Servlet的执行原理(重点)2、Tomcat伪代码的简单理解2.1 Tomcat初始化流程2.2 Tomcat处理请求流程2.3 Servlet 的 service 方法的实现 2.3 Servlet 的 servi原创 2023-07-01 22:19:30 · 680 阅读 · 0 评论 -
【Servlet学习六】Cookie 与Session && 实现登录与上传文件
(1)HttpServletRequest 类方法方法描述获取请求中给定 name 的文件获取所有的文件(2)Part 类方法方法描述获取提交的文件名获取提交的文件类型获取文件的大小把提交的文件数据写入磁盘文件。原创 2023-06-30 12:01:20 · 696 阅读 · 0 评论 -
【Servlet学习三】实现一个内存版本的简易计算器~
jQuery有一个方法叫ajax,当获取到数值不为空的时候,就发送ajax到后端,前端与后端实现交互,就是 ajax实现。计算完之后,不能再进行下一次操作了,因为采用的是form表单的提交,form表单的提交是全部提交,将之前的页面一起提交了,只能计算一次,因此并不适用现实,实际中我们采用的是局部提交的技术,也就是ajax技术,见方式2。方式1点击提交之后,将结果显示在按钮下方,页面保持不变,方便进行下一次操作。id是给js用的,name是form表单提交时给后端用得,要设置name属性。原创 2023-06-29 17:27:31 · 850 阅读 · 0 评论 -
【Servlet学习四】实现一个内存版本的表白墙~
/存储所有的表白数据//定义OBJECT_MAPPERreturn msg;🌈3、获取所有信息:getMessageServlet实现前后端的交互/*** 获取所有的表白信息*/@Override//1、定义编码格式//2、获取所有的表白数据,转化为json格式//jsonStr相当于只有下面的data//放在map中返回//3、将结果返回🌈4、添加数据:addMessageServlet,实现前后端交互。原创 2023-06-29 14:53:20 · 619 阅读 · 0 评论 -
【Servlet学习五】实现一个简单的数据库版本的留言墙!
(model下的message.java文件)//要在数据库中先设置好这个表,包括这四个属性//对应到数据库中的主键//发送者//接受者//留言内容//生成相应的get和set方法return id;//1、先声明一个数据源对象//注意这个DataSource是javax.sql下的,不要选错啦//定义数据库连接的参数//在静态方法中初始化数据源:static在类加载的时候只执行一次,生命周期只有一次static {//使用的是哪个数据库,就设置哪个数据源。原创 2023-06-28 22:34:47 · 637 阅读 · 0 评论 -
【Servlet学习一】认识Servlet && 创建第一个Servlet项目
Tomcat 是一个 HTTP 服务器。maven是帮助开发者构建统一项目(maven项目)的工具,使用它可以是实现jar包的管理,编译和打包项目等操作,解决版本不同的问题。maven是国外开发的,叫做“中央仓库”,每次使用的时候都要去下载很麻烦,reload才是真正去下载,成本高,并且面向所有开发者。做两件事:(1)做一个本地仓库:当第一次去访问的时候,本地还没有,此时去中央仓库访问,获取jar包并放在本地仓库里面,因此以后访问的时候就去本地访问就行。原创 2023-06-22 21:53:15 · 481 阅读 · 0 评论 -
【HTTP】HTTP协议 && HTTPS 协议
HTTP(超文本传输协议)是一种应用非常广泛的应用层协议。HTTPs 是在 HTTP基础之上做了一个加密解密的工作。平时我们打开一个网站,就是通过HTTP协议来传输数据的。(所谓 "超文本" 的含义, 就是传输的内容不仅仅是文本(比如 html, css 这个就是文本), 还可以是一些其他的资源, 比如图片, 视频, 音频等二进制的数据)一个完整应用是由前端+后端构成的,而前后端之间的通讯是要依靠HTTP来完成的。原创 2023-06-20 11:13:49 · 3955 阅读 · 5 评论 -
【网络原理】TCP/IP四层模型中的重点网络协议
实际上,每个程序对协议的数据格式进行自定义,但是如果每个程序都定义的不一样没那么就不太灵活,双方都要按照不太的方式去解析和编码请求和响应内容,于是大佬们对一些常用的应用场景做了一些特殊协议并确定下来,形成了标准常见的应用层协议,原因:消息在网络传输的过程中:操作系统->网卡->交换机->路由器->其他的网络设备,每个设置都有自己的负载能力,如果超出了范围,当前的数据包就可能阻塞或者丢弃。四次是可以的,不过三次就足够了。,先发少量的数据,探探路,摸清当前的网络拥堵状态,再决定按照多大的速度传输数据;原创 2023-06-01 14:44:51 · 1530 阅读 · 0 评论 -
【网络编程二】UDP与TCP协议你学会了吗~
网络编程,指的是网络上的主机通过不同的进程以程序的方式来实现网络通信(网络数据传输)。也可以是同一个主机的不同进程。比如MySQL的服务端和客户端,在开发环境中一般都是同一台主机上运行的两个不同的程序。(1)客户端:服务的使用方-->请求:一般是客户端主动发起,表示目的;(2)服务器:服务的提供方-->响应:一般是服务器根据客户端的请求计算出来的结果。原创 2023-05-30 14:59:15 · 251 阅读 · 0 评论 -
【网络编程一】初识网络:IP与端口号 && 网络模型
将多个计算机通过网线(传输介质)连接在一起就形成了初级的网络。连接方式主要有以下几种:(1)基于网线直连:(2)基于集线器组建:(集线器是一种网络设备)(3)基于交换机组建:(4)基于交换机和路由器组建:2、根据网络规模的大小分为局域网和广域网。(1)局域网:一般指网络规模较小;比如一个公司,一个学校;(2)广域网:一般指网络规模较大,通常我们指的是国际互联网。原创 2023-05-26 18:02:39 · 919 阅读 · 1 评论 -
【文件操作与IO】
需要知道一些简单的概念:1、狭义上的文件硬盘上保存的数据,都是“文件”来组织的,本质上都是二进制或者字符组织的数据,被打包成一个文件存储在硬盘中。常见的文件有图片(png),文本(txt),可执行文件(exe),音频和视频等(mp3)。其中的文件夹也是一种特殊的文件,也叫作目录。通常说的文件都是存储在硬盘上的(实现数据的持久化),原因主要在于硬盘的特点:(1)硬盘容量大,内存容量小;(2)硬盘读写速度慢,内存读写速度快;(3)硬盘造价低,内存成本高;原创 2023-05-24 20:48:53 · 781 阅读 · 0 评论 -
【多线程进阶二】JUC工具类 && 线程安全的集合类 && 死锁
(4)创建线程,线程的构造方法传入FutureTask,此时新线程就会执行FutureTask内部的Callable接口中的call方法,完成计算。(4)循环等待:线程1等待线程2释放锁,线程2要释放锁要先等待线程3释放锁,线程3释放锁要先等待线程1释放锁...形成了循环关系。(1)Vector,Stack,HashTable是线程安全的,是JDK中提供的线程安全的类,但是强烈不推荐使用。(2)锁竞争激烈的时候,使用ReentrantLock,搭配trylock更加灵活的控制加锁的行为,而不是死等;原创 2023-05-22 16:57:50 · 1308 阅读 · 0 评论 -
【多线程进阶一】常见的锁策略
解决ABA问题:给预期值加一个版本号,在做CAS操作的时候同时更新预期值的版本号,版本号只增不减。预期值 A B A版本号 1 2 3关于CAS:(1)先获取预期值(2)通过CAS指定完成比较并交换(3)如果在CAS的过程中,预期值与真实值不相等,就进入自旋操作;(4)如果出现ABA问题,就是给预期值加一个版本号,在比较的时候同时比较预期值和版本号。原创 2023-05-15 15:23:24 · 627 阅读 · 0 评论 -
【多线程初阶五】线程池&&常考面试题
线程池的模拟实现和常考面试题原创 2023-05-12 22:20:23 · 726 阅读 · 0 评论 -
【多线程初阶四】单例模式&&阻塞队列
是类似于棋谱一样的东西。而单例是什么?单例指的是在全局范围内只有一个实例对象。比如之前数据库的JDBC中就只有一个DataSource。定义数据库的用户名,密码,连接串之后就可以通过DataSource的实例对象获取数据库的连接。原创 2023-05-12 16:35:26 · 660 阅读 · 0 评论 -
【多线程初阶三】简单了解wait和notify方法~
等到所有的资料都打印完毕,辅导员这时候喊一声:所有的班长都过来,怎么就是notifyAll(),唤醒了所有的线程;如果是只喊了一个一班的班长来一下,那就是notify(),只唤醒了一个线程,其他的线程还在等待。(1)wait与sleep是完全没有可比性的🤣一个是用于县城之间的通信,另一个是让线程阻塞等待的。(2) wait()是Object类中的方法,sleep()是Thread类中定义的方法;(1)wait()是Obejct类中的方法,join()是Thread类中的方法;原创 2023-05-06 10:48:26 · 772 阅读 · 0 评论 -
【多线程初阶二】多线程带来的风险~线程安全
(1)线程在获取到锁之后开始执行锁中代码;(2)其他线程在执行代码之前要先检查锁的状态;(3)如果该锁被其他线程占用,那么就要阻塞等待,对应的线层状态我们就称为BLOCK;(4)当锁被释放之后,其他线程才可以继续竞争锁资源。原创 2023-05-06 09:54:00 · 532 阅读 · 0 评论 -
【多线程初阶一】认识线程(Thread)
在学习之前,我们先简单的了解一下计算机中的常见的概念。1、冯诺依曼结构体系现代的计算机大多遵循冯诺依曼体系结构。主要由运算器,控制器,存储器,输入设备,输出设备组成。2、操作系统操作系统是一组做计算机资源管理系统的统称。常见的操作系统由Windows系列,Linux系列,OSX系列,ISO系列,Android系列。操作系统的作用主要有:(1)向上为应用程序提供一个稳定的运行环境;(2)向下管理所有的硬件设备;(3)为用户提供一个人机交互的界面。3、进程。原创 2023-04-28 15:22:44 · 605 阅读 · 0 评论