自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 【Java多线程】总结(完)JUC下常用类

该类用于控制信号量的个数,构造时传入个数。假如是5,程序执行前用acquire()方法获得信号,则可用信号变为4,程序执行完通过release()方法归还信号量,可用信号又变为5。它可以协同多个线程,让多个线程在这个屏障前等到,直到所有线程都到达了这个屏障时,再一起执行后面的操作。假如每个线程各有一个await,任何一个线程运行到await方法时就阻塞,直到最后一个线程运行到await时才同时返回。信号量个数为2,线程1和线程2先得到令牌,信号量为0,直到线程1释放了令牌,线程3才可以得到令牌,

2023-03-09 17:04:40 215

原创 网络之与TCP UDP的爱恨情仇(不是

TCP UDP 特性 区别

2023-03-08 19:11:40 149

原创 从输入URL到页面展示发生了什么

发生了....

2022-07-18 23:58:00 312 1

原创 网络基础知识

网络基础

2022-07-15 18:32:07 154

原创 Cookie和Session

Cookie Session的定义和区别

2022-07-15 14:12:31 120

原创 软件测试基础知识总结&&面试题(四)

测试划分

2022-06-28 17:42:33 1490

原创 HTTP协议基本格式和抓包工具Fiddler

1 http是什么?http(超文本传输协议)是一种应用非常广泛的应用层协议2 http工作工程当我们在浏览器输入一个网址,此时浏览器就会给对应服务器发送一个http请求,对方服务器收到这个请求后,经过计算处理,就会返回一个http响应我们可以通过谷歌浏览器f12进入开发者模式观察这个过程,点击刷新页面就可看到如下效果2.1 http协议格式http是一个文本格式的协议,可通过谷歌浏览器开发者工具f12或者使用Fiddler抓包,分析http请求响应的细节1 抓包工具使用(以Fiddler

2022-05-23 21:13:24 808

原创 软件测试基础知识总结&&面试题(三)测试用例 (小彩蛋

1 为什么要在测试前设计测试用例:测试用例是测试执行的依据可以复用(回归测试衡量需求的覆盖率自动化测试的依据有借鉴意义(后续测试人员可以借鉴前人写的东西2 测试用例的设计方法:思想:1 基于需求的测试用例:需求是测试人员进行测试的依据先分析需求 验证需求的正确性和合理性 无二义性逻辑自洽细化需求 从需求中提取测试项 从每一个测试项提取提取测试点 根据测试点提取测试用例2 从功能性和非功能性考虑:1)功能性需求 :从界面考虑,验证界面的功能(ui设计手稿)从业务角度,使

2022-04-28 20:48:56 1348

原创 软件测试基础知识总结&&面试题(二)

1 软件测试的生命周期(流程需求分析–测试计划–测试开发–测试执行–测试报告分析需求 验证需求的(正确性 合理性) 细化需求 根据需求提炼测试点根据需求确定测试范围 目标 测试人员 测试工具 时间 测试环境开发测试用例开发人员提交代码 开始执行测试 提交bug本次迭代的测试情况进行总结 写了多少测试用例 执行了多少测试用例 发现了多少bug 修改了多少bug 剩余bug的解决方案 测试的覆盖率(总结用例执行情况 bug验证情况)2 如何描述bug?(定位测试版本(代码提交版本测

2022-04-27 21:03:53 2157

原创 【css基础】css选择器常见用法总结

css选择器1 css类型:行内样式<div style="color:green">行内样式</div> 内部样式写在style标签中,嵌套在html页面里<style>​ body{​ color: green;​ font-size: 54px;​ }</style> 外部样式1 创建一个css文件2 使用link标签引入css文件<link rel="stylesheet" href="[CSS

2022-04-24 16:48:21 2392

原创 【Java多线程】总结(五)策略锁篇

1 乐观锁1 概念:它认为一般情况下不会发生冲突,所以在又在搞让心数据的时候才会检测冲突,如果没有发生冲突直接进行修改,如果发生了冲突不做任何修改,然后把结果返回给⽤户,让⽤户⾃⾏决定处理。2 实现:CAS(Compare and Swap)比较并替换V :内存值A :旧值B :新值1 流程 V==A?true(没有发生并发冲突)->V=B:false(发生并发冲突)3 CAS 底层实现:CAS 实现是借助 Unsafe 类,Unsafe 类调⽤操作系统的 Atomic:

2022-04-23 09:56:49 192

原创 【Java多线程】总结(四)单例模式之 懒汉模式 饿汉模式 线程安全问题

线程1的执行顺序可能为 1、3、2,获得时间片的线程2会将线程1未初始化(2)但已分配内存地址(3)的对象返回(dataSource!在公共获取实例的方法内判断是否为第一次访问,这样当程序启动后不会立马实例化,而是等调用时才会初始化,防止了资源浪费。在第一次判断处加锁,然后再进行一次判断,这样只有在第一次访问时才会排队执行,提高执行效率。饿汉模式:程序启动后,立即创建对象,不存在线程安全问题,但可能会造成资源浪费。1 定义:单例模式是指一个程序的运行中只有一个实例,并且提供一个全局访问点。

2022-04-21 21:34:21 1848

原创 软件测试基础知识总结&&面试题(一)

什么是软件测试:软件测试人员验证软件是否满足用户的需求软件测试和开发的区别开发:光度小,专业度高 开发阶段测试:所需技能广泛,但专业度低 贯穿软件开发的生命周期软件测试和软件调试的区别:测试目的:软件测试人员验证软件是否是否实现了他应该实现的功能角色:开发人员和测试人员共同完成 (开发是开发人员调试目的:软件开发人员要确保程序做了他想让程序实现的功能(用户需求)角色:开发人员选择软件按测试的原因:综合能力:沟通,学习,开发,文字自动化测试技..

2022-04-15 19:33:58 4763

原创 【Java多线程】总结(三)死锁 sleep方法和wait方法的区别 线程通讯 线程休眠 线程池创建 线程池拒绝策略

1 死锁1 死锁概念:两个线程在拥有锁的情况下,又在尝试获取对方锁2 死锁产生的必要因素:互斥条件:一个资源同一时间只能被一个线程占用,当这个资源被占用后其他线程只能等待不可剥夺条件:一个资源被占有后,如果不是拥有资源的线程主动释放,其他线程不可用由此资源请求并持有条件:当一个线程拥有一个资源是不满足,并且申请其他资源环路等待条件:多个线程在请求资源的情况下,形成了环路链以上四个条件是导致死锁的必要条件,四个条件缺一不可3 解决死锁:打破死锁形成的一个或多个条件只有

2022-04-15 16:50:52 1222

原创 【Java多线程】总结(二)线程状态 线程安全问题 可重入锁ReentrantLock 与 内存锁synchronized

线程状态1 打印线程的所有状态private static void printState() { for(Thread.State item:Thread.State.values()) System.out.println(item);}NEWRUNNABLEBLOCKEDWAITING 等待TIMED_WAITING 超时等待 有明确结束时间TERMINATED2 线程状态:new:新建状态,当线程被创建,但未启动(start()之前runnable

2022-04-03 09:30:25 371 1

原创 【Java多线程】总结(一)线程的创建 线程方法 附详细()代码(更新

进程:是指一个内存中正在运行的应用程序。每个进程都有自己的内存空间和系统资源,一个进程可以有多个线程。线程:是一个顺序控制流,是一条执行路径。单线程:一个进程如果只有一条执行路径,则称为单线程程序;多线程:一个进程有多个执行路径,则称为多线程程序;进程和线程的区别总结:进程是操作系统资源分配的基本单位,线程是处理机调度的基本单位线程是轻量级进程,在引入线程的操作系统中,通常一个进程有多个线程多线程的实现方式:继承Thread类:public class ThreadD.

2022-04-01 18:49:22 620

原创 【java】七大排序算法总结(常看常新 应该没啥bug了

排序方法最好情况最坏情况平均情况辅助空间插入直接插入排序(稳定)nn^2n^2O(1)插入希尔排序nn^2n1/n3O(1)交换冒泡排序(稳定)nn^2n^2O(1)交换快速排序nlognn^2nlognO(nlogn)选择直接选择排序n^2n^2n^2O(1)选择堆排序nlognnlognnlognO(n^2)归并排序(稳定)nlognnlognnlognO(n)七大.....

2022-03-25 21:54:22 966 1

原创 【mysql】数据库事务基础知识总结

什么是事务就是将一组操作封装成一个执行单元,要么一块执行成功,要么一块执行失败,不会出现执行一般的情况。(InnoDB才支持事务,MYSAIM不支持事务的使用开启事务:mysql8之前 start transactiom,之后begin转账业务(多条sql提交业务:commit(作为结束)回滚事务:rollback(作为结束)注意事项:事务开启后必须以2,3为结束事务的四大特性:ACID原子性:事务中的所有操作,要么全部成功,要么全部失败一致性:事务开始执行前..

2022-03-12 13:52:43 1014

原创 【mysql】数据库索引基础知识总结~

索引基础知识索引(基于mysql5.5之后的默认数据库引擎 innoDB实现的定义:索引是⼀种特殊的⽂件,包含着对数据表⾥所有记录的引⽤指针。可以对表中的⼀列或多列创建索引,并指定索引的类型,各类索引有各⾃的数据结构实现。通俗理解 他就书的目录 通过索引 我们可以快速找到书的内容数据库中一张表可以创建多个索引 一张表可以有多个书籍目录mysql常见引擎(mysql5.5之后的默认数据库引擎innoDB 之前myISAM)稳定性: innoDB支持

2022-03-10 19:33:26 655

原创 【Java基础】异常处理的总结与回顾 Error Exception RuntimeException

编译: javac->.java->.class(jvm可以识别的二进制文件)运行:java 主类名->jvm运行上一步生成的.class文件运行时异常:程序在运行时出现错误时通知调用者的一种机制防御式编程用户登录载入界面进入游戏LBYL: Look Before You Leap. 在操作之前就做充分的检查 (不使用异常)if(用户登陆不出错)用户登录if(载入界面不出错)载入界面if(进入游戏不出错)开始补兵EAFP: It’s Easier to Ask

2022-03-02 15:37:04 242

原创 【java基础】String类常用方法总结 一些复习回顾

*方法中定义的变量在栈上存储创建字符串//创建字符串三种方式String str="hello world";//字符串字面量String str1=new String("hello world");char[] data=new char[]{'f','a','s','z','a'};String str2=new String(data);方式一创建过程方式二创建过程两种创建方式的差异1 直接赋值()2 newstring中”==“比较的是引用的地址 比较字符串内容

2022-03-02 00:20:59 135

原创 试试哈

封装 继承 多态继承:可以使得子类具有父类的属性或方法,还可以在子类中重新定义和追加方法是is a关系 当 A is a B 我们就可以说 A 是 B的子类(天然的向上转型),这时就可以使用关键词extends 即 A extends B ,此时A可以具备了B的属性和方法,也可以有自己特有内容继承中变量访问的特点:先在子类局部范围找,无去子类成员范围找,无去父类成员范围找若在三者全部存在 访问子类成员变量用this. ,问父类成员变量用super. ,this 代表当前对象的引用,su

2021-12-11 11:46:49 1892

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除