
Java EE初阶
文章平均质量分 92
多线程、网络等知识
Fly upward
大家互相多多交流。现任职于某大厂测开职位
展开
-
基于 Servlet 项目——博客系统
为了避免麻烦和混淆,服务器代码在上面的blog_list.html和blog_detail.html已经实现好了。DAO全称为"dataaccessobject",主要的功能就是对于某个数据库表进行增删改查.提交按钮改成将.rowbutton{}和.rowbuttonactive{}修改成下面的样式。每个model.Blog对象,对应blog表里的一条记录。...原创 2022-07-16 12:50:22 · 1647 阅读 · 42 评论 -
前端页面项目——博客系统
基于HTML、CSS、JS来完成的前端页面项目 ,其中还引入了MD编辑器,用于博客的编写原创 2022-07-10 09:38:15 · 4185 阅读 · 61 评论 -
【多线程】锁策略
1)乐观锁,即预期锁冲突的概率很低。总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁例如,下一波疫情即使来了,也不用担心,生活还能正常运转,很多吃的和用品都可以买到,不需要专门做准备。(乐观锁)2)悲观锁,即预期锁冲突的概率很高1)对于普通的互斥锁,只有两个操作:加锁和解锁两个线程针对同一个对象加锁,就会产生互斥多线程之间,数据的读取方之间不会产生线程安全问题,但数据的写入方互相之间以及和读者之间都需 要进行互斥。......原创 2022-06-30 17:30:22 · 815 阅读 · 40 评论 -
Linux的常用指令用法
1. 常用指令 ls pwdcd touch cat mkdir rm cp mv man less head tail date vim grep ps netstat2.Linux 权限2.1 用户操作 2.2 文件类型和访问权限2.3 修改文件权限Linux 是一个操作系统,和Windows 是“并列的关系”。ls 是选择的前缀,选择目录或者文件。对于目录,该命令列出该目录下的所有子目录与文件对于文件,将列出文件名以及其他信息。.........原创 2022-07-02 16:06:50 · 2032 阅读 · 25 评论 -
Linux 中的程序部署
1.安装JDK 2.安装 Tomcat2.1 安装 2.3 验证 Tomcat 是否正常工作3.安装 MySQL 3.1 安装 3.2 更改配置 3.3 启动服务4. 实例验证4.1 连接数据库4.2 查看导入的数据4.3 在 idea 上重新打包程序4.4 验证 4.5 日志原创 2022-06-26 18:44:51 · 2426 阅读 · 35 评论 -
【多线程】定时器和线程池
定时器是软件开发中一个重要的主键,类似于一个“闹钟”,达到一个设定的时间之后, 就执行某个指定 好的代码。比如网络通信中, 如果对方 500ms 内没有返回数据, 则断开连接尝试重连。比如一个 Map, 希望里面的某个 key 在 3s 之后过期(自动删除). 类似于这样的场景就需要用到定时器。标准库中提供了一个Timer 类。Timer 类中的核心方法为 schedule。......原创 2022-06-15 09:41:11 · 1040 阅读 · 11 评论 -
制作表白墙,给TA一个惊喜吧
使用 IDEA 创建一个 Maven 项目来完成表白墙服务器的代码与前端、MySql建立交互,就可以完成。原创 2022-06-13 13:09:38 · 5050 阅读 · 55 评论 -
Servlet API 详解
在我们的 doGet / doPost 方法中, 就执行到了我们自己的代码. 我们自己的代码会根据请求中的一些信息, 来给 HttpServletResponse 对象设置一些属性. 例如状态码, header, body 等。我们的 doGet / doPost 执行完毕后, Tomcat 就会自动把 HttpServletResponse 这个我们刚设置好的对象转换成一个符合 HTTP 协议的字符串, 通过 Socket 把这个响应发送出去...原创 2022-06-11 10:31:49 · 5216 阅读 · 21 评论 -
Servlet 的初次部署
目录1. servlet 主要工作2. 第一个 Servlet 程序2.1 创建项目 2.2 引入依赖 2.3创建目录2.4 编写代码2.5 打包程序 2.6 部署程序 2.7 验证程序 2.8 总结3.更便捷的部署 3.1 安装 Smart Tomcat 插件3.2 配置 Smart Tomcat 插件4.常见出错问题4.1 出现 4044.2 出现 405 4.3 出现 500 4.4 出现 "空白页面" 4.5 出现 "无法访问此网站" 5. 总结 servlet 是一种实现动态页面的技原创 2022-06-10 12:28:59 · 985 阅读 · 11 评论 -
Tomcat的简单使用
.tomcat 运行和 直接 .html 运行区别 下载好之后,对压缩包进行解压,得到以下文件 对各个文件进行解释,如下所示 一个Tomcat 上面可以同时部署多个Servlet程序,所以,也可以把Tomcat称为"Servlet 的容器" ,或者简称为"容器”在 bin 目录中, 双击sartup.bat 即可启动 Tomcat 服务器。 看到形如以下内容的日...原创 2022-06-08 13:17:12 · 5755 阅读 · 14 评论 -
【HTTP】响应、构造请求、加密
所谓的 "发送 HTTP 请求", 本质上就是按照 HTTP 的格式往 TCP Socket 中写入一个字符串.所谓的 "接受 HTTP 响应", 本质上就是从 TCP Socket 中读取一个字符串, 再按照 HTTP 的格式来解析原创 2022-06-06 10:54:49 · 1970 阅读 · 26 评论 -
【HTTP】请求方法
在HTTP协议中,最常用的放法就是GET 和 POST.GET 和 POST 没有本质区别。具体来说,相当于是GET没有使用场景,也能替换成POST。POST 也能替换成GET细节上的区别: Content-Length表示 body 中的数据长度。原创 2022-06-04 11:39:57 · 796 阅读 · 26 评论 -
【HTTP】协议格式、请求
1.HTTP是什么HTTP(全文简称“超文本传输协议”)是一种应用非常广泛地应用层协议,处于TCP/IP五层协议栈的应用层。HTTP在传输层是基于TCP的。其中HTTP/1 、HTTP/2 是基于TCP. 最新版本的HTTP/3 是基于UDP,但如今互联网上大部分使用的HTTP都是 HTP/1.1传输层协议,主要关注的是 端对端 之间的数据传输。TCP重点关注的是可靠传输。应用层协议,则是站在程序应用的角度,要对传输的数据来进行具体使用。应用层协议很多时候都是程序员自定制的,根据实.原创 2022-06-02 17:16:34 · 851 阅读 · 19 评论 -
【多线程】单例模式、阻塞队列
1.单例模式单例模式是一种设计模式,单例模式能保证某个类在程序中只存在唯一一份实例, 而不会创建出多个实例. 1.1饿汉模式举个例子解释饿汉模式:中午使用了三个菜碟,吃完后,马上把三个碗都洗了。通过Singleton 这个类 来实现单例模式,保证 Singleton 这个类只有唯一实例在下面程序中使用到的 static。 static 修饰的成员更加准确的说,是“类成员”=>“类属性/类方法”。一个java 程序中,一个类对象只存在一份(JVM保证的),进一步的也就保证了类的.原创 2022-06-01 10:25:26 · 455 阅读 · 24 评论 -
【多线程】synchronized和 volatile
目录1.synchronized的基本使用2.监视器锁monitor lock2.1synchronized 的特性2.2死锁3.Java 标准库中的线程安全类4.volatile 关键字5.wait 和 notify5.1wait()方法5.2notify()方法1.synchronized的基本使用synchronized 的本质操作,就是修改了Object 对象中的 对象头 里的一个标记当两个线程同时针对一个对象加锁,才会产生竞争如果两个线程...原创 2022-05-25 11:24:49 · 266 阅读 · 13 评论 -
【多线程】状态和线程安全
目录1.观察线程的所有状态2、线程转换简图3.线程安全3.1不安全状态3.2安全状态(加锁synchronized)4.线程不安全原因4.1线程是抢占式执行的,线程间的调度充满随机性(根本原因)4.3多个线程对同一个变量进行修改操作4.3针对变量的操作不是原子行的4.内存不可见性5.指令重排序1.观察线程的所有状态线程的状态是一个枚举类型 Thread.State public class ThreadState { ...原创 2022-05-15 12:10:24 · 371 阅读 · 20 评论 -
【多线程】Thread 类及常见方法
1.Thread 类在Java标准库中,提供有一个Thread,来表示/操作线程。Thread 类也可以视为Java 标准库提供的API。创建好的 Thread 实例,其实和操作系统中的线程是一一对应的关系。操作系统,提供了一组关于线程API(C语言风格),Java对于这组API进一步封装了,就成了Thread类2.创建线程2.1继承Thread 类通过Thread 类创建线程,最基本的做法就是创建子类,继承自Thread ,并且重写run方法(1)继承Thread 来创建一原创 2022-05-14 12:30:46 · 5947 阅读 · 12 评论 -
离页面又进一步,CSS的常用语句
1.CSS的作用层叠样式表,基于HTML上面对页面进行布局修饰。CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离。2.基本语句规范选择器 + {一条/N条声明} 选择器决定针对谁修改 (找谁) 声明决定修改啥. (干啥) 声明的属性是键值对. 使用 ; 区分键值对, 使用 : 区分键和值. CSS 要写到 style 标签中(后面还会介绍其他写法) style 标签可以放到页面任意位...原创 2022-04-30 17:35:47 · 1778 阅读 · 47 评论 -
【课程开发设计】基于html 、css的网页简单制作
目录1、简历展示2.入职表格1、简历展示代码制作<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-...原创 2022-04-28 10:24:21 · 1057 阅读 · 22 评论 -
HTML的基本使用
目录1.HTML的文件结构2.标签层次结构3.常见标签3.1标题标签3.2段落标签3.3换行标签、空格标签3.4格式化标签3.5 图片标签3.6超链接标签4.表格标签5.列表标签6.表单标签1.HTML的文件结构直接输入 ! + Tab键 可以快速生成文件结构1.html 标签是整个 html 文件的根标签(最顶层标签)。2.head 标签中写页面的属性。<head>......</head>...原创 2022-04-22 18:49:34 · 4524 阅读 · 35 评论 -
给你朋友看看文件的别样操作
摘要通过Java对文件进行读、写、删、复制等操作。原创 2022-04-06 10:58:03 · 841 阅读 · 46 评论 -
进程与线程之前的区别
1.冯诺依曼体系cup中央处理器:进行算术运算和逻辑判断存储器:分为外存和内存, 用于存储数据(使用二进制方式存储)输入设备: 用户给计算机发号施令的设备输出设备: 计算机个用户汇报结果的设备.存储空间硬盘 > 内存 > CPU数据访问速度CPU >> 内存 > 硬盘 CUP的工作是有一些门电路来进行的电子开关、基础门电路、半加器、全加器、加法器CPU 中的 PC 寄存器,是决定 CPU 要执行哪条指令的关...原创 2022-04-05 10:12:08 · 284 阅读 · 11 评论