JavaWeb
文章平均质量分 91
-孤单又灿烂的神-
2022
展开
-
【JavaWeb】前端三剑客—JavaScript基础知识
目录一、JavaScript 是什么JavaScript (简称 JS)JavaScript 和 HTML 和 CSS 之间的关系JavaScript 运行过程二、前置知识第一个程序JavaScript 的书写形式行内式内嵌式外部式输入输出三、语法概览变量的使用基本数据类型number 数字类型string 字符串类型boolean 布尔类型undefined 未定义数据类型四、数组创建数组获取数组元素新增数组元素删原创 2022-03-24 11:13:09 · 3309 阅读 · 9 评论 -
【JavaWeb】前端三剑客—CSS基础知识
一、CSS 是什么层叠样式表 (Cascading Style Sheets). CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离.二、基本语法规范选择器 + {一条/N条声明}选择器决定针对谁修改 (找谁)声明决定修改啥. (干啥) 声明的属性是键值对. 使用 ; 区分键值对, 使用 : 区分键和值.<head> <style> ...原创 2022-03-24 09:41:38 · 7206 阅读 · 9 评论 -
【Javaweb】玩转Maven工具与Tomcat
一、Maven工具1,关于mavenMaven是一个项目构建工具,创建的项目只要遵循Maven规范(称为Maven项目),即可使用Maven 来进行管理:编译,打包等。2、安装maven如果你的安装idea的时候已经配置好JDK,那么你就不需要安装maven,idea已经自带maven。如果未安装配置JDK,具体下载配置过程网上都有,比较简单,这里就不多赘述3,使用maven4,认识pom.xmlpom.xml是maven项目中最核心的配置文件,xml是.原创 2022-03-17 11:35:26 · 1483 阅读 · 1 评论 -
Linux常用基础命令
目录1、ls2、pwd3、cd4、touch5、cat6、mkdir7、rm8、cp9、mv10、man11、less12、head13、tail14、vim15、ps16、netstat1、ls语法: ls [选项] [目录或文件]功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常用选项:-a 列出目录下的所有文件,包括以 . 开头的隐含文件。-d 将目录象文...原创 2022-03-14 11:32:13 · 549 阅读 · 1 评论 -
【多线程】进阶(JUC常见类+线程安全的集合类+死锁)
目录一、JUC常见类ReentrantLock信号量 Semaphore原子类以AtomicInteger二、线程安全的集合类三、死锁死锁是什么产生死锁的场景如何避免死锁四,线程面试题一、JUC常见类ReentrantLock1,ReentrantLock把加锁和解锁拆封成两个方法,确实存在遗忘解锁的风险,但可以让代码更加灵活2,ReentrantLock除了lock和unlock方法之外,还提供一个tryLock方法,对于lock方法来说,如果原创 2022-03-12 15:09:00 · 954 阅读 · 0 评论 -
【多线程】Synchronized 原理与Callable 接口
目录一、基本特点二、加锁工作过程偏向锁轻量级锁重量级锁三、其他的优化操作锁消除锁粗化四、Callable 接口一、基本特点1. 开始时是乐观锁, 如果锁冲突频繁, 就转换为悲观锁.2. 开始是轻量级锁实现, 如果锁被持有的时间较长, 就转换成重量级锁.3. 实现轻量级锁的时候大概率用到的自旋锁策略4. 是一种不公平锁5. 是一种可重入锁6. 不是读写锁二、加锁工作过程JVM 将 synchronized 锁分为 无锁、偏向锁、原创 2022-03-12 13:34:33 · 1083 阅读 · 0 评论 -
【多线程】CAS详解
目录一、什么是CAS二、CAS 是怎么实现的三、CAS 应用实现原子类实现自旋锁四、CAS 的 ABA 问题什么是 ABA 问题ABA问题引来的BUG解决方案一、什么是CASCAS: 全称Compare and swap,字面意思:”比较并交换“,一个 CAS 涉及到以下操作:我们假设内存中的原数据V,旧的预期值A,需要修改的新值B。1. 比较 A 与 V 是否相等。(比较)2. 如果比较相等,将 B 写入 V。(交换)3. 返回操作是否成功原创 2022-03-12 09:32:41 · 3622 阅读 · 3 评论 -
【多线程】常见的锁策略
一、乐观锁与悲观锁举个栗子: 同学 A 和 同学 B 想请教老师一个问题. 同学 A 认为 "老师是比较忙的, 我来问问题, 老师不一定有空解答". 因此同学 A 会先给老师发消息: "老师 你忙嘛? 我下午两点能来找你问个问题嘛?" (相当于加锁操作) 得到肯定的答复之后, 才会真的来问问题. 如果得到了否定的答复, 那就等一段时间, 下次再来和老师确定时间. 这个是悲观锁同学 B 认为 "老师是比较闲的, 我来问问题, 老师大概率是有空解答的". 因此同学 B 直接就来找老师.(没 加锁, 直原创 2022-03-12 08:53:56 · 2427 阅读 · 0 评论 -
【Javaweb】TCP原理(三次握手四次挥手)
目录一、TCP协议二、TCP原理1,确认应答机制2,超时重传机制3,连接管理机制4,滑动窗口5,流量控制6,拥塞控制7,延迟应答8,捎带应答9,粘包问题一、TCP协议TCP,即Transmission Control Protocol,传输控制协议。人如其名,要对数据的传输进行一个详细的 控制。TCP协议段格式源/目的端口号:表示数据是从哪个进程来,到哪个进程去;序列号:在建立连接时由计算机生成的随机数作为其初始值,通过原创 2022-03-10 20:17:44 · 28788 阅读 · 58 评论 -
【Javaweb】模拟实现HTTP服务器
一,HTTP 协议的工作过程二、HTTP协议格式1,抓包分析搜狗主页HTTP请求首行: [方法] + [url] + [版本]Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部 分结束 Body: 空行后面的内容都是Body.Body允许为空字符串. 如果Body存在, 则在Header中会有 一个Content-Length属性来标识Body的长度HTTP响应首行: [版本号] + [状态码] + [状态码原创 2022-03-09 21:12:15 · 2801 阅读 · 11 评论 -
【Javaweb】浅谈JVM
一、JVM简介JVM 是 Java Virtual Machine 的简称,意为 Java虚拟机。虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。常见的虚拟机:JVM、VMwave、Virtual Box。JVM 和其他两个虚拟机的区别:1. VMwave与VirtualBox是通过软件模拟物理CPU的指令集,物理系统中会有很多的寄存器;2. JVM则是通过软件模拟Java字节码的指令集,JVM中只是主要保留了PC寄存器,其他的寄存器都进行了裁原创 2022-03-07 22:00:06 · 1546 阅读 · 19 评论 -
【Javaweb】TCP/IP协议
目录一、网络基础1,IP地址2,子网掩码3,认识MAC地址二、应用层重点协议1,DNS2,NAT3,NAPT二、传输层重点协议1,TCP协议2,UDP协议3,TCP 和 UDP 区别一、网络基础1,IP地址概念IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址作用IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址原创 2022-03-05 20:47:15 · 8966 阅读 · 3 评论 -
【Javaweb】HTTP协议
目录一、认识HTTP二、理解 HTTP 协议的工作过程三、抓包工具的使用四、HTTP 请求 (Request)1,认识 URL2,认识 "方法" (method)2,认识请求 "报头" (header)3,认识请求 "正文" (body)五、HTTP 响应详解1,认识 "状态码" (status code)2,认识响应 "报头" (header)3,认识响应 "正文" (body)一、认识HTTPHTTP (全称为 "超文本传输协议") 是一种应原创 2022-03-05 15:28:57 · 2407 阅读 · 0 评论 -
【Javaweb】HTML 基础
目录一、HTML结构1,认识HTML标签2,HTML 文件基本结构3,标签层次结构4,快速生成代码框架二、HTML 常见标签1,注释标签2,标题标签3,段落标签: p4,换行标签: br5,格式化标签6,超链接标签: a7,表格标签8,列表标签9,表单标签form 标签input 标签label 标签select 标签11,无语义标签: div & span一、HTML结构1,认识HTML标签HTML原创 2022-03-04 20:55:14 · 6260 阅读 · 17 评论 -
【Javaweb】网络编程基础
一、Socket套接字1,概念Socket套接字,是由系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本操作单元。基 于Socket套接字的网络程序开发就是网络编程。2,分类流套接字:使用传输层TCP协议TCP,即Transmission Control Protocol(传输控制协议),传输层协议。以下为TCP的特点有连接可靠传输面向字节流有接收缓冲区,也有发送缓冲区...原创 2022-03-04 16:24:29 · 1289 阅读 · 23 评论 -
【Javaweb】网络通信基础
目录一、IP地址1,概念2,格式二、端口号1,概念2,格式三、认识协议四、五元组五、协议分层1,OSI七层模型2,TCP/IP五层(或四层)模型六、网络设备所在分层1,网络设备所在分层2,封装和分用一、IP地址1,概念IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。2,格式IP地址是一个3原创 2022-03-03 17:24:54 · 1917 阅读 · 2 评论 -
【Javaweb】文件操作——IO
目录一、认识文件二、Java 中操作文件1,方法示例1示例2示例3示例4三、文件内容的读写 —— 数据流1,InputStream 概述2,OutputStream概述3,流对象操作4,代码优化5,BufferedInputStream与BufferedOutputStream6,字符流四、序列化与反序列化一、认识文件我们先来认识狭义上的文件(file)。针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时, 往往不是保存成一原创 2022-03-02 20:54:15 · 752 阅读 · 1 评论 -
【Javaweb】多线程案例
目录一、单例模式1,什么是单例模式2,单例模式分类二,生产者消费者模型1,阻塞队列是什么2,标准库中的阻塞队列3,生产者消费者模型三、定时器1,定时器是什么2,标准库中的定时器3,实现定时器四、线程池1,线程池是什么2,标准库中的线程池3,实现线程池一、单例模式1,什么是单例模式设计模式好比象棋中的 "棋谱". 红方当头炮, 黑方马来跳. 针对红方的一些走法, 黑方应招的时候有 一些固定的套路. 按照套路来走局势就不会吃亏软件原创 2022-03-03 12:00:00 · 645 阅读 · 7 评论 -
【Javaweb】有关线程中的关键字和方法
目录一、volatile关键字1,volatile 能保证内存可见性2,编译器优化问题二、wait 和 notify1,wait()方法2,notify()方法3,notifyAll()方法一、volatile关键字1,volatile 能保证内存可见性代码在写入 volatile 修饰的变量的时候改变线程工作内存中volatile变量副本的值将改变后的副本的值从工作内存刷新到主内存代码在读取 volatile 修饰...原创 2022-02-28 21:21:49 · 1340 阅读 · 1 评论 -
【Javaweb】线程安全详解
一、观察线程的所有状态线程的状态是一个枚举类型 Thread.State public static void main(String[] args) { for (Thread.State state : Thread.State.values()){ System.out.println(state); } }NEW: 安排了工作, 还未开始行动RUNNABLE: 可工作的. 又可以分成正在工作中和即将开始工作.就绪状态原创 2022-02-28 19:56:26 · 3003 阅读 · 6 评论 -
【Javaweb】Thread的类及其常见方法
目录一、Thread 的几个常见属性二,线程调试1,启动一个线程2,中断一个线程3,等待一个线程4,休眠线程一、Thread 的几个常见属性Thread 类是 JVM 用来管理线程的一个类,换句话说,每个线程都有一个唯一的 Thread 对象与之关联。Java中创建线程显示继承Thread,重写run方法来指定线程执行的代码匿名内部类来继承Thread,重写run方法来指定线程执行的代码显示实现Runnable接口,重写run方法匿名内部类来继承Ru原创 2022-02-28 16:08:44 · 928 阅读 · 2 评论 -
【Javaweb】进程与线程多图分析
目录一、认识进程1,线程初识2,进程属性二,为什么要有线程三、认识线程与进程的区别四、Linux中的线程1,内核态与用户态2,PCB描述线程五、多种类型1,单进程单线程2,多进程单线程3,单进程多线程4,多进程多线程5,进程中线程分析一、认识进程1,线程初识一个可执行程序运行起来,就可以看作是一个进程进程也是操作系统分配资源的最小单元一个进程在内核中都会对应一个PCB对象一个线程就是一个 "执行流". 每个线程之间都可以按照顺原创 2022-02-27 16:01:49 · 513 阅读 · 7 评论