![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
WEB专栏
文章平均质量分 83
前端知识的一些简介(了解)
LIT-涛
纯手写博客,欢迎大佬指出不足,也欢迎大家来找我交流(交流内容不限/坏笑)Q:1206297146,V:Smile-Xlang
展开
-
WEB入门浅谈22
WEB入门浅谈22JVMJVM的内存区域划分垃圾回收识别垃圾的手段垃圾回收算法标记清除复制算法标记整理分代回收垃圾回收器类加载初始化流程双亲委派模型补充JVMJVM全称 Java Virtual Machine。就是java的虚拟机,虚拟机就是软件模拟出来的 “计算机” ,是一个运行平台。虚拟机诞生的意义就是为了跨平台。最初,操作系统种类很多,CPU种类也很多,C/C++就遇到一个致命难题,写的代码换平台后就很难运行通过。于是后面的语言如 java python go等都带有虚拟机(但是现在基本都不用原创 2022-01-21 17:17:31 · 527 阅读 · 0 评论 -
WEB入门浅谈21
WEB入门浅谈21多线程synchronized工作原理无锁偏向锁轻量级锁重量级锁synchronized锁优化锁消除锁的粗化CallableJUC的其它组件ReentrantLockSemaphoreCountDownLatch补充多线程synchronized工作原理JVM将synchronized锁分为了 无锁、偏向锁、轻量级锁、重量级锁 状态,会根据具体情况,依次升级。这整个锁策略自动切换的过程也就是锁升级,就叫做 锁膨胀 都是由synchronized内部完成的。目的就是为了在不同场景下使原创 2022-01-18 16:38:17 · 378 阅读 · 0 评论 -
WEB入门浅谈20
WEB入门浅谈20多线程锁策略乐/悲观锁读写锁重/轻量级锁(非)公平锁(不)可重入锁死锁CAS机制总结多线程锁策略乐/悲观锁乐观锁:出现锁竞争的概率较低(线程少,不太涉及锁竞争)悲观锁:出现锁竞争的概率较高(线程多,很可能涉及锁竞争)在操作系统中提供的锁接口,Mutex(互斥量,操作系统的锁),就是一个典型的悲观锁,认为竞争很大,一旦竞争,那么就有线程阻塞,进入等待,而什么时候被唤醒,就要看调度器的实现了在应用程序里面,还可以通过一些其它的方式实现锁(如:CAS),相当于仅仅一个 用户态的锁,原创 2022-01-17 18:08:39 · 3216 阅读 · 0 评论 -
WEB入门浅谈19
WEB入门浅谈19多线程阻塞定时器线程池补充多线程阻塞阻塞队列,先进先出阻塞:这个队列是线程安全的(内部进行了加锁处理)当队列满的时候,往里插入元素,就会阻塞,直到队列不满时,才会完成插入操作当队列为空的时候,往出取元素,也会阻塞,直到队列不为空时,才会完成取出操作阻塞队列可以帮我们完成 生产者消费者模型在Java标准库中,BlockingQueue 在标准库中就是阻塞队列的一个接口,而LinkedBlockingQueue实现了这个接口,用法如下:public class Demo01原创 2022-01-13 17:30:30 · 224 阅读 · 0 评论 -
阻塞队列的实现
实现阻塞队列原创 2022-01-09 20:00:23 · 260 阅读 · 0 评论 -
WEB入门浅谈18
WEB入门浅谈18多线程线程的状态线程安全synchronized 锁volatile对象等待集单例模式饿汉模式懒汉模式补充多线程进程的调度 操作系统实际调度的基本单位是线程操作系统内核里为了管理所有的进程(线程),有一个链表。链表中存储了当前进程的pid以及当前线程的tid系统内核中有一个专门的等待队列和就绪队列当执行sleep时,就是让这个线程进如等待队列中,而等待完成后就进入到就绪队列中。线程只有在就绪队列里,才可能被执行。等待队列中可能会有多个线程,所以等待队列并不是一个先进先出的队列原创 2022-01-07 18:09:25 · 536 阅读 · 0 评论 -
WEB入门浅谈17
WEB入门浅谈17多线程多线程进程是为了实现并发编程的效果,但为了追求更高的效率就引进了线程创建一个进程和销毁一个进程,开销比较大(进程管理中存在一些系统分配的资源,申请和释放这些资源不是一个容易的事),因此就希望能够更高效,更轻量的完成并发编程。于是就通过线程来完成线程也被称为 轻量级进程每个线程就对应到一个 独立的执行流 ,在这个执行流里就可以完成一系列的指令。有多个线程,就对应的有多个执行流,就可以并发的完成多个系列的指令了一个进程包含了多个线程。一个进程从操作系统中申请了很多资源,进程统原创 2021-12-27 19:54:51 · 3090 阅读 · 0 评论 -
线程的中断
线程的中断中断线程执行完毕修改判定标记在catch中添加break补充中断线程要中断一个线程1、让线程的入口方法执行完毕2、使用Thread类提供的interrupt方法(如:把while中的判定标记改成基于Thread.currentThread().isInterrupted(),或者在catch里添加break,)执行完毕public class Demo05 { static boolean isQuit = true ; public static void main(原创 2021-12-27 16:26:41 · 282 阅读 · 0 评论 -
线程的创建
线程的创建创建线程继承Thread类实现Runnable接口匿名Thread类匿名Runnable接口使用lambda表达式补充创建线程继承Thread类实现Runnable接口通过匿名Thread类通过匿名Runnable接口使用lambda表达式继承Thread类创建一个类,继承自Thread重写Thread的run方法,在新的run中编写执行流创建子类实例调用子类的start方法class MyThread extends Thread{ @Override p原创 2021-12-25 17:54:53 · 1325 阅读 · 0 评论 -
如何用多线程提高代码效率
如何用多线程提高代码效率代码目的单线程代码多线程代码补充代码目的把两个long类型的数分别自增10E次单线程代码public class Demo01 { private static long count = 1_000_000_000; public static void serial(){ long begin = System.currentTimeMillis(); long a = 0; for (long i = 0;原创 2021-12-25 13:59:00 · 452 阅读 · 0 评论 -
WEB入门浅谈16
WEB入门浅谈16操作系统进程补充操作系统现在大部分计算机,都遵守冯诺依曼体系结构(如图)存储器分为内存和外存CPU 进行算术运算和逻辑判断(核心设备) 它的核心功能就是执行一些 指令 ,CPU在设计生产时,就会提供一组类似 API 的东西,可以称之为指令,指令就是一组二进制数据,用来表示一些特定的含义 。而代码在编译好之后就得到了一些二进制的机器指令(CPU的指令也成为机器语言),而这些指令是保存在硬盘上的。CPU内部也提供了一些寄存器,也能存储数据,访问速度比内存要快很多,但是相对的空间小很多原创 2021-10-01 13:19:32 · 234 阅读 · 0 评论 -
WEB入门浅谈15
WEB入门浅谈15网络原理网络层网段划分路由选择数据链路层ARP协议应用层DNS协议补充网络原理网络层网络层主要负责:地址管理、路由选择主要协议:IP协议IP协议当前主要就两个版本:IPv4、IPv6网段划分把一个IP地址分为两部分网络号:局域网的身份标识主机号:用来区分一个局域网中不同的主机同一个局域网中,各个设备的网络号相同,主机号不同两个相邻的局域网,网络号不同过去曾提出把所有的IP地址分为5类A 0+7位网络号+24位主机号 0.0.0.0-127.255.255.255原创 2021-09-30 22:39:11 · 97 阅读 · 0 评论 -
WEB入门浅谈14
WEB入门浅谈14网络原理TCP/IP状态滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流TCP异常处理总结补充网络原理TCP/IP状态ESTABLISHED 连接建立成功,可以进行后续通信(类似打电话拨通状态)LISTEN 服务器进入的状态,服务器准备就绪,允许客户端随时来建立连接(类似手机开机,信号良好)CLOSE_WAIT 等待关闭状态,这个状态正常情况下存在时间较短,处在收到FIN时返回ACK到发送FIN的时间间隙中,一般情况下出现这个状态就表示代码出bug了,导致close没有及时原创 2021-09-29 21:17:09 · 131 阅读 · 0 评论 -
WEB入门浅谈13
WEB入门浅谈13网络原理OSI 七层模型TCP/IP端口号UDP协议TCP三次握手四次挥手实例分析补充网络原理两个主机一系列的约定就叫做协议,协议中约定的细节就表示传输的数据表达的意义,两个主机之间传输数据的本质就是光电信号,表示1/0这样的bit流由于任意两台主机之间都需要进行通信,所以所有主机都遵守同一个协议,彼此才能进行交流网络通信要规定的细节是非常多的,如果放在一起就会显得非常复杂,把不同的细节由不同的协议规定,于是就有了很多协议,又根据协议的功能类型,把这些协议分为 协议栈/协议族OS原创 2021-09-29 11:22:48 · 287 阅读 · 0 评论 -
WEB入门浅谈12
WEB前端入门浅谈12原创 2021-09-27 17:17:55 · 125 阅读 · 0 评论 -
WEB项目-音乐播放器
音乐播放器需求分析需求分析原创 2021-09-21 18:21:39 · 1211 阅读 · 0 评论 -
WEB项目-博客
WEB项目-博客需求分析数据库设计封装数据库创建实体类Dao层实现页面博客列表页面博客展示页登陆页面导航栏注销注册页面博客编辑页删除博客补充需求分析1、博客列表页博客列表页能够展示当前的博客列表,每一篇博客展示标题,发布时间、摘要。点击标题可以跳转至正文页2、博客正文页显示博客详细内容,标题、发布时间、作者、正文3、博客编辑页显示一个编辑框,用户可以编辑博客内容并提交给服务器4、删除博客功能5、注册登陆功能登陆成功,才可以对博客进行相关操作,没登陆只能查看数据库设计使用数据库存储博客原创 2021-09-15 22:41:52 · 219 阅读 · 0 评论 -
WEB入门浅谈11
WEB前端入门浅谈11ServletHttpServletRequest应用HttpServletResponse应用状态码Cookie和Session一个简单的登陆界面上传文件ServletHttpServletRequest应用实现一个代码,让浏览器把请求的相关信息全部显示出来 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException原创 2021-09-13 11:56:25 · 165 阅读 · 0 评论 -
WEB入门浅谈10
WEB前端入门浅谈10ServletServlet生命周期使用post方法HttpServletRequestHttpServletResponse补充ServletServlet 是一组API ,Tomcat提供的API,功能是开发动态页面API里核心的类:HttpServlet HttpServletRequest HttpServletResponseServlet里内置了Session机制Session一般是搭配Cookie来使用的Cookie保存的是客户端的信息,如:用户身份标识S原创 2021-09-08 12:10:52 · 176 阅读 · 0 评论 -
WEB入门浅谈09
WEB前端入门浅谈09Servlet一个简单的Servlet程序简单的 动态页面Tomcat和Servlet补充ServletServlet 就需要使用maven创建出一个java web 的项目,也需要通过maven来下载 Servlet 依赖的jar包,还需要maven把代码打包Servlet 其实就是Tomcat 给我们提供的一组编程接口,这个接口就将http协议的一些细节封装供我们使用。Servlet是一种实现 动态页面 的机制,根据用户请求参数的不同,返回的结果就可能完全不同,每次响应都是原创 2021-09-06 11:48:06 · 133 阅读 · 0 评论 -
WEB入门浅谈08
WEB前端入门浅谈08Tomcat启动TomcatMavenTomcatHTTP 协议是浏览器和 HTTP 服务器之间交互的协议客户端:浏览器服务器:HTTP 服务器HTTP 服务器是一个统称,HTTP 服务器的种类是非常多的,但凡能处理HTTP请求的服务器都可以认为是HTTP服务器。Tomcat是JAVA世界中服务器的佼佼者Tomcat对于HTTP协议进行了很好的封装处理,这就意味着 Tomcat 进行开发的时候,不需要关注协议本身的细节,只需要关注要写的 业务逻辑 即可Tomcat 不仅原创 2021-09-04 15:39:29 · 148 阅读 · 0 评论 -
WEB入门浅谈07
WEB前端入门浅谈07HTTP报头一些重要的属性HTTPS补充HTTP报头一些重要的属性HOST:描述了服务器(主机)的地址 , 有的时候URL会省略域名,默认访问的地址就是html所在的地址下。Connection:keep-alive 表示浏览器和服务器之间使用长连接User-Agent:简称UA,里面就包括了用户设备的操作系统和浏览器的类型和版本,现在主要区分手机和电脑。Referer:这个属性表示当前页面是从哪个页面跳转过来的,也就是前始页,如果是直接在地址栏中输入url来访问,一般是没原创 2021-09-03 20:53:21 · 138 阅读 · 0 评论 -
WEB入门浅谈06
WEB前端入门浅谈06后端前端与后端的交互URLurlencode和urldecodeHTTP具体格式后端前端与后端的交互浏览器就相当于一个客户端程序,用户通过浏览器发送一个 HTTP 请求至服务器上,服务器核对请求内容之后返回一个 HTTP 响应到客户端(浏览器)上。客户端:主动发送请求的一方服务器:被动接收请求的一方在网络通信中,两台主机,一方是主动发起的,一方是被动接收的一般情况下,请求和响应是一对一的关系,典型的交互方式就是一问一答,(也是最主要的交互方式),也存在一问多答,多问多答原创 2021-09-03 11:00:47 · 221 阅读 · 1 评论 -
WEB入门浅谈05
WEB前端入门浅谈05JavaScriptDOM API创建/删除元素JavaScriptDOM API创建/删除元素创建元素的过程可以理解为在DOM树上添加新节点1、创建新的节点document.createElement('li');引号内就是要新建的标签名2、寻找合适的位置,把这个节点添加到这棵树上ul.appendChild(li); <ul></ul> <button onclick="addLi('qqq')">增加</but原创 2021-07-30 14:12:44 · 196 阅读 · 1 评论 -
WEB入门浅谈04
WEB前端入门浅谈04JavaScriptJavaScript基本语法匿名函数对象JSONDOM API事件获取DOM对象获取/修改元素内容修改样式补充JavaScriptJavaScript基本语法匿名函数//匿名函数子调用 (function () { console.log('hello') })();//函数表达式(创建一个函数,把这个函数保存在一个变量中) let fun = f(){ console.log('hello'); }原创 2021-07-29 16:31:36 · 93 阅读 · 0 评论 -
WEB入门浅谈03
WEB前端入门浅谈02JavaScriptJavaScriptJavaScript是运行在浏览器上的,功能就是控制页面与用户之间进行交互原创 2021-07-29 10:55:07 · 481 阅读 · 2 评论 -
WEB入门浅谈02
WEB前端入门浅谈02CSS选择器标签选择器ID选择器类选择器子元素选择器CSS的常用属性字体的相关属性文本的属性背景的属性盒模型页面的布局补充CSSCSS全称Cascading Style Sheets ,也叫层叠样式表,是键值对形式的结构,key表示CSS不同的属性,而value表示不同属性的值,其中key和value中间用:连接,键值对与键值对之间用;进行分割CSS主要写在三个位置:1、在 html 文件的标签内用标签的 style 属性来指定(内联样式)2、在 html 文件内以<s原创 2021-07-28 18:44:17 · 350 阅读 · 2 评论 -
WEB入门浅谈01
WEB前端的浅谈01原创 2021-07-25 19:44:28 · 270 阅读 · 0 评论 -
WEB学习目录
WEB前端学习目录WEB前端的浅谈01原创 2021-07-17 14:08:55 · 217 阅读 · 0 评论