web开发
文章平均质量分 81
jade*
这个作者很懒,什么都没留下…
展开
-
多线程---7
文章目录1.线程池补充2.死锁3. volatile4.callable的使用1.线程池补充快捷方式创建线程池,为什么不能用?不能使用无边界的阻塞队列——生产速度(提交任务)如果快于消费速度(线程执行速度),阻塞队列存放的任务会越来越多,导致OOM,整个进程换掉。即便指定了有边界的阻塞队列,还需要指定拒绝策略(一般是自定义),一般是记录任务(日志,数据库,其他)2.死锁class Pen { private String pen = "笔" ; public String get原创 2021-06-10 16:17:11 · 389 阅读 · 1 评论 -
多线程---6
文章目录1.常见的锁策略1.1 锁的类型1.2乐观锁 vs 悲观锁1.3原子性的并发包2.CAS2.1 ABA问题3.自旋锁4. synchronized1.常见的锁策略1.1 锁的类型悲观锁,乐观锁公平锁,非公平锁可重入锁独占锁,共享锁自旋锁1.2乐观锁 vs 悲观锁两个都是设计思想上的概念,很多地方都有,不仅限于java多线程,只要符合设计思想的锁实现,都是其中的一种。乐观锁:乐观锁假设位数据在一般情况下不会产生并发冲突,所以在数据进行提交更新的时候,才会正式对数据是否产生并发原创 2021-06-09 23:39:46 · 380 阅读 · 1 评论 -
多线程---5
文章目录1.线程加锁2.阻塞式队列1.线程加锁适用加锁的操作(如synchronized),会造成多个线程依次执行临界区代码。(但不保证执行顺序)。有多种类型的线程,需要加同一把锁,而且都是需要在一定条件下等待(对象通知我再次竞争对象锁)。等待和通知就是线程通信:让线程之间满足一定的顺序/条件。/** * 面包店: * 1.生产者(面包师傅-线程):5个面包师傅,每次每个生产3个 * 2.消费者(线程)有10个消费者,每个每次消费一个 * 库存(共享变量):下限0,上限100个 */原创 2021-06-09 19:22:10 · 373 阅读 · 0 评论 -
多线程---4
文章目录1. volatile关键字2.多线程案例2.1单例模式2.1.1饿汉模式2.1.2懒汉模式---线程不安全2.1.3懒汉模式---线程安全2.1.4双重校验锁3.线程间的通信1. volatile关键字volatile是修饰一个变量的关键字作用:保证变量的可见性(分解为字节码指令后,有变量的指令行,变量有可见性)建立一个内存屏障,禁止指令重排序。使用场景:多线程对共享变量的操作,如果代码行本身保证了原子性(读是原子性,写(修改,赋值)操作:值不依赖共享变量,比如是一个常量,原创 2021-06-05 00:02:17 · 300 阅读 · 1 评论 -
多线程---3
文章目录1.线程的状态4.线程安全4.1线程不安全原因4.2如何解决线程安全问题1.线程的状态- 可运行态:就绪态+可运行态java进程无法决定线程在某个时间点一定处于运行态(由系统调度决定)有三个阻塞态,线程表现得特性都是相同得,线程暂停/挂起来, 划分为三种状态,只是jdk/底层实现有区别。Java线程得状态:NEWRUNNABLE 可运行态:就绪态+运行态BLOCKEDWAITINGTIMED——WAITINGTERMINATED4.线程安全4.1线程不安全原因j原创 2021-06-03 21:26:48 · 426 阅读 · 3 评论 -
多线程---2
文章目录1.多线程1.多线程多线程执行时,并发并行的特性,及状态的转变public class ThreadSeq { public static void main(String[] args) { new Thread(new Runnable() { @Override public void run() { System.out.println("子线程执行");原创 2021-06-03 16:34:39 · 402 阅读 · 0 评论 -
多线程---1
文章目录1.认识线程2.创建线程2.1内部类1.认识线程进程是系统分配资源的最小单位,线程是系统调度的最小单位。一个进程内的线程之间是可以共享资源的。每个进程至少有一个线程存在,即主线程。进程和线程的关系:一个进程是包含多个线程的线程和进程的(部分)区别:进程是系统分配资源源(CPU,内存)的最小单位,线程是系统调度CPU执行的最小单位。数据共享:同一个进程内的线程之间,可以共享资源,代价比较小。不同进程之间,要共享数据,需要进行进程通信。多线程的作用提高效率(尽可能重复利用系统资原创 2021-06-02 11:13:48 · 280 阅读 · 1 评论 -
进程---1
文章目录1.进程1.1 进程的初步认识1.2 时间片1.3并行和并发1.进程1.1 进程的初步认识程序和进程的区别?程序表现为系统的一个可执行文件(静态的)(说明:双击打开某个文件,不意味着这个文件就是程序,右键——>打开方式——>里边的才是程序)进程:程序(静态的可执行文件)运行起来之后就是一个进程(运行态的程序)(说明:操作系统把程序代码加载到内存,调用cpu执行程序的代码。系统再把进程管理起来)进程是作为分配资源的最小单位(CPU,内存等等)一个进程,系统是分配有唯一的id原创 2021-05-31 00:17:47 · 287 阅读 · 1 评论 -
操作系统--基础知识
文章目录1. 冯诺依曼体系结构2. 操作系统2.1 操作系统的概念1. 冯诺依曼体系结构计算机都是由一个一个硬件组成输入单元:包括键盘,鼠标,扫描仪,写板等;中央处理器(CPU):含运算器(做计算用的)和控制器(控制程序流向–条件判断,循环操作)等。CPU的指令类型:运算,控制,数据传输输出单元:显示器,打印机用户在键盘上按a按键:存储器指的是内存;不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)外设(输入或输出设备)要输入或者输出数据,也只原创 2021-05-30 14:39:46 · 266 阅读 · 0 评论 -
网络初始--基础理论
文章目录1. 网络发展2. 认识协议3. 网络协议初始3.1 网络分层3.2 OSI七层模型3.2 TCP/IP五层四层模型4. 网络中的地址管理4.1认识IP地址4.2 认识MAC地址5.网络传输流程5.1网络传输流程图5.2 数据包的封装和分用1. 网络发展独立不联网的主机: 互相不能共享数据网络互联: 基于一种网络设备(Hub集线器连接)把主机连接起来,主机之间就可以传输数据局域网LAN: 计算机数量更多了,通过交换机和路由器连接在一起。(基于一种网络设备把主机连接起来)组网的原创 2021-05-27 21:26:50 · 639 阅读 · 0 评论 -
Cookie和Session
文章目录前言前言目前登录页面+后端登录功能,存在的问题?访问敏感资源(前端的敏感资源,后端的敏感资源),未登录不允许访问,前端页面可以跳转到登录页面,后端接口(servlet):返回401状态码(Unauthorized未授权的访问),返回json数据。技术实现:Session和Cookie,目前比较好的解决方案是(Filter);次一点的解决方案:(1)提供一个校验用户是否登录的接口,每次前端都请求。(2)每个Servlet都去验证一下是否登录。...原创 2021-04-25 16:03:13 · 608 阅读 · 0 评论 -
Http之Servlet2
文章目录1.表单的方式提交http请求数据2.编写处理Servlet逻辑3 验证结果3.1登录页面3.2客户端js代码发送ajax异步请求1.表单的方式提交http请求数据<!--action="请求路径"--><!--method="请求方法",不写就默认为是post方法--><form action="login" method="post"> 用户名:<input type="text" name="username"> <原创 2021-04-22 18:06:30 · 535 阅读 · 1 评论 -
JavaWeb之Servlet
文章目录1.Servlet简介1.1 什么是servlet1.2理解Servlet2.Servlet的生命周期2.1概述2.2 init方法被设计成只调用一次2.3 service()方法是执行实际任务的主要方法2.4 destroy()方法1.Servlet简介1.1 什么是servlet概念: Java Servlet是运行在Web服务器或应用服务器上的程序,它作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的夹层。定位: Java Servlet用Jav原创 2021-04-20 10:57:12 · 534 阅读 · 0 评论 -
Servlet开发
文章目录1.Servlet的作用2.1 idea中搭建,部署,运行一个web项目3.开发步骤3.1 xml配置:web.xml中配置Servlet3.2注解方式4.Tomcat 与Servlet的关系5.Servlet相关的API5.1 HttpServletRequest5.2 HttpServletResponse1.Servlet的作用为什么要学习Servlet呢?服务资源:(1)tomcat部署的项目目录中,根目录下,除了WEB-INF文件夹外的,当作前端资源(静态资源)(2)Servl原创 2021-04-18 23:09:23 · 1197 阅读 · 10 评论 -
IDEA中部署Web项目
文章目录1.部署前的准备:配置Tomato2.部署Web项目1.部署前的准备:配置Tomato打开IDEA,点击Run,选择Edit Configurations。2.部署Web项目在之前配置好的Tomcat中部署:Run->Edit Configurations原创 2021-04-16 15:37:54 · 573 阅读 · 0 评论 -
web项目开发---部署
文章目录1.项目/应用文件夹1.1基于java的web运行时的结构:1.2 Maven标准的开发结构2.Web项目配置2.1配置为Web项目2.2打开项目的配置2.3配置Web资源文件2.4配置Web项目描述文件web.xml1.项目/应用文件夹1.1基于java的web运行时的结构:|---web资源(客户端/前端资源)|---WEB-INF |---web.xml web项目的描述/配置文件 |---classes 编译的class文件 |---lib原创 2021-04-16 11:57:43 · 622 阅读 · 1 评论 -
Http vs Https
文章目录`1.HTTP`2. `HTTPS`2.1 HTTPS是什么?2.2加密2.2.1对称加密(DES)2.2.2非对称加密2.2.3 认证2.2整个流程1.HTTP浏览器既解析http数据,又body,web服务器只解析http数据。2. HTTPS2.1 HTTPS是什么?HTTPS:基于HTTP数据+SSL/TLS协议http明文传输,https是加密后的数据传输,相对于http来说更加安全。2.2加密2.2.1对称加密(DES)对称加密:加密和解密使用相同的密钥。2.2.原创 2021-04-16 10:03:56 · 630 阅读 · 0 评论 -
网络原理之Http2
文章目录1.HTTP的方法1.HTTP的方法方法说明支持的HTTP协议版本GET获取资源1.0、1.1POST传输实体文件1.0、1.1PUT传输文件1.0、1.1HEAD获取报文首部1.0、1.1DELETE删除文件1.0、1.1OPTIONS询问支持的方法1.1TRACE追踪路径1.1CONNECT要求用隧道协议连接代理1.1LINK建立和资源之间的联系1.0UNION断开连接关系1.原创 2021-04-14 17:58:20 · 760 阅读 · 0 评论 -
网络原理之http1
文章目录1. Http2. Http协议3.认识URL1. Http2. Http协议协议: 网络数据传输约定好的数据格式。虽然,应用层的协议是程序员自己定的。但实际上,已经有大佬定义了一些现成的,又非常好用的应用层协议,供我们参考使用。HTTP(超文本传输协议)就是其中之一。3.认识URL平时我们俗称的“网址”其实说的就是URL。...原创 2021-04-13 15:51:56 · 553 阅读 · 0 评论 -
JavaScript
文章目录前言1. JavaScript简介1.1 JavaScript是脚本语言2.JavaScript的用法前言html是超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言,JavaScript是Web的编程语言,所有的现代html界面都会使用到JavaScript,那我们应该学习哪些JavaScript的知识呢?1. JavaScript简介JavaScript是互联网上最流行的脚本语言(动态语言,JavaScript变量的原创 2021-04-06 21:24:27 · 564 阅读 · 0 评论 -
CSS
文章目录前言1.内联样式做法前言在前一篇博客中,我介绍了html,html是告知浏览器如何组织页面的标记语言,这些只能够呈现出一些基本的样子,但是我们都喜欢美好的事物,那么我们可以使用CSS同时控制多重网页的样式和布局。1.内联样式做法直接在标签属性上加上style<h1 style="color :blue">这是第一个标题</h1>...原创 2021-04-05 22:40:59 · 520 阅读 · 0 评论 -
html(Web开发)
文章目录1.何为html?2.实例解析2.1嵌套元素2.2块级元素和内联元素2.2.1块级元素2.2.2内联元素2.3空元素1.何为html?HTML(Hyper Text Markup Language),html不是一门编程语言,而是一种告知浏览器如何组织页面的标志语言。html可复杂,可简单,一切取决与开发者。它由一系列的元素(elements)组成,这些元素可以用来包围不同部分的内容,使其以某种方式呈现或者工作。一对标签(tags)可以为一段文字或者一张图片,或添加超链接等等操作。2.实例解析原创 2021-04-05 17:09:32 · 1059 阅读 · 1 评论