逢考必过 \(^▽^)ノ1
码龄5年
求更新 关注
提问 私信
  • 博客:7,375
    7,375
    总访问量
  • 37
    原创
  • 0
    粉丝
  • 24
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
加入CSDN时间: 2020-04-15
博客简介:

weixin_47093904的博客

查看详细资料
个人成就
  • 获得4次点赞
  • 内容获得1次评论
  • 获得14次收藏
创作历程
  • 37篇
    2021年
成就勋章
TA的专栏
  • JVM
    15篇
  • 软件测试
    5篇
  • redis
    6篇
  • JUC
    9篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 1

TA参与的活动 0

  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

java自动测试

三大等待硬性,显式,隐式aler弹窗控制:comfirm弹窗控制:也使用alert
原创
发布博客 2021.08.31 ·
266 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Selenium

安装Firefox安装Selenium插件idea添加Selenium依赖元素定位findElement()可以通过id,name,tgname等变量来定位,sendkeys写入数据使用tgname重复率高,容易定位到多个元素使用className注意,只能使用一个当前页面唯一的类名定位...
原创
发布博客 2021.08.30 ·
185 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Jmeter运行badboy脚本

使用badboy进行录制这里我使用禅道提bug导出为Jmeter文件即可Jmeter运行脚本使用Jmeter打开jmx文件,添加结果树点击回放,测试脚本是否正常运行根据结果树,对脚本进行调试调试脚本需要自己摸索...
原创
发布博客 2021.08.24 ·
231 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

性能测试(loadrunner)

性能测试常见分类负载测试,压力测试,并发测试,配置测试,可靠性测试loadrunner是一个性能测试工具loadrunner自带的web tours订票系统
原创
发布博客 2021.08.23 ·
92 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

软件测试介绍

软件测试方法分为:黑盒(不透明),白盒(透明),灰盒(半透明)软件测试方向分为:性能测试,功能测试,安全测试性能测试分为:压力测试,负载测试,并发测试压力测试:测试最大性能负载测试:测试在负载情况下能运行多长时间软件测试具体阶段:单元测试,集成测试,系统测试,验收测试软件测试流程:需求分析,测试设计(测试计划,测试方案,测试策略,测试用例),测试执行,测试总结测试用例需要有这些内容:5w1h: 1.测试的目的。(why) 2.测试的范围。(what) 3.测试进度安排
原创
发布博客 2021.08.22 ·
145 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

过期删除策略

redis中缓存的数据是有过期时间的,当缓存数据失效时,redis会删除过期数据以节省内存,那redis是怎样怎样的策略来删除过期数据的呢?过期键删除策略过期删除策略通常有以下三种定时删除:在为键设置过期时间的同时创建一个定时器,当过期时间到来时就会触发定时器中的处理函数,立即执行过期键的删除操作定期删除:每隔一段时间就对数据库进行一次检查,删除其中的过期键。检查的数据库数量及删除的过期键数量由算法决定惰性删除:不会主动去删除过期键。每次获取键时都会判断获取的键是否过期,如果过期则删除,没过期则返
原创
发布博客 2021.08.21 ·
119 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis持久化

RDBrdb是一种类似于快照的方式进行持久化,原理是他单独fork了一个子进程专门去干这件事。可以通过修改配置文件来修改rdb的持久化策略。他的工作就是按照定义的策略,定时或者在修改多少次之后来进行快照。在宕机或者关闭时声称已个dump文件。当redis再次开启时他会自动读取这个dump文件来回复数据。rdb默认是开启的所以绝大多数情况下的需求他是可以满足的。AOFaof是以一种日志记录的方式来进行持久化的。他会记录每一次的操作。默认是每秒同步一次。在宕机或者异常情况重启后他会自动恢复。如果aof文件
原创
发布博客 2021.08.19 ·
68 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis配置文件

原创
发布博客 2021.08.19 ·
67 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

事务和Jedis

事务Redis单条命令 保证原子性,但事务不保证原子性,没有回滚一个事务中的所有命令都被序列化,一次性、顺序性、排他性的执行命令Redis没有事务隔离级别事务的执行:​ 开启事务:multi​ 命令入队:…​ 执行/放弃事务:exec/discard编译时异常:不会执行任何代码运行时异常:执行正常代码,抛出错误悲观锁认为什么时候都会出问题,做什么都加锁效率不高,使用场合少乐观锁认为什么时候都不会出问题,自己更新数据才去判断是否有人修改数
原创
发布博客 2021.08.17 ·
96 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis数据类型

数据类型Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU evi
原创
发布博客 2021.08.17 ·
233 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis入门

Redis入门概述Redis(Remote Dictionary Server ),即远程字典服务是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。支持大多数语言。使用NoSQL技术特点内存存储,持久化(rdb,aof)效率高,可用于高速缓存。支持集群支持事务安装宝塔安装。简单快捷连接redis-cli -p 6379关闭shutdown测试//宝塔在 www/server/redis
原创
发布博客 2021.08.15 ·
114 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CAS和volatile

CAScompareAndSet,它的简称就是 CAS (也有 Compare And Swap 的说法),它必须是原子操作。public void withdraw(Integer amount) { while(true) { // 需要不断尝试,直到成功为止 while (true) { // 比如拿到了旧值 1000 int prev = balance.get(); // 在这个基础上 1000-10 = 990 int next = prev - amount; /* co
原创
发布博客 2021.08.10 ·
214 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

几种垃圾回收器

垃圾回收器分类按线程分:1.串行垃圾回收器。2.并行垃圾回收器按工作模式分:1.并发式垃圾回收器2.独占式垃圾回收器:GC时STW。按碎片处理分:1.压缩式垃圾回收器:压缩整理,清理碎片2.非压缩式垃圾回收器:没有压缩整理。按工作的内存分:1.老年代垃圾回收器2.年轻代垃圾回收器评估GC的指标吞吐量:运行用户代码的时间占总运行时间的比例。(总运行时间=程序运行时间+内存回收时间)垃圾开销:吞吐量的补数。暂停时间:STW的时间收集频率:收集操作的频率内存占用:占用java堆
原创
发布博客 2021.08.09 ·
1053 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

几种引用和一些名词

System.gc()的理解调用system.gc()或者Runtime.getRuntime().gc(),会触发Full GC ,同时对老年代和新生代进行尝试回收,无法保证对垃圾收集器的调用内存溢出内存溢出(OOM):在OOM之前会进行垃圾回收,如果内存还是不够,就报OOM。特殊情况:分配一个超大对象,超过了堆的大小,直接报OOM。内存泄露对象不被用到,但是被引用,无法回收,叫做内存泄露。举例:单例模式中,单例的生命周期很长,如果对调用外部对象的引用,则会导致内存泄露。Stop the
原创
发布博客 2021.08.09 ·
145 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

常见垃圾回收算法

标记-清除算法(Mark-Sweep)标记:从根对象开始遍历,标记所有被引用的对象清除:堆内存,从头到尾遍历,发现没有被标记的,回收。优点:实现简单缺点:效率不高(两次遍历)。​ GC时需要STW。​ 这种方式会导致清理出的内存不连续。所以需要维护空闲列表。什么是清除、回收?对象并没有被正在的清除,而是把对象地址放在空闲列表里,需要用内存时,覆盖他。复制算法原理:将活着的内存空间分为两块,每次只使用一块,回收时,将存活的对象复制到另一块内存中,原来这块完全清除。优点:没有标记清
原创
发布博客 2021.08.09 ·
68 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

垃圾回收概述

垃圾程序运行中,没有任何指针指向的对象。java自动内存管理开发人员无需参与分配和回收堆是垃圾回收的重点区域新生代:频繁回收老年代:较少回收方法区:基本不动垃圾回收相关算法标记阶段:找出哪些是垃圾清除阶段:回收垃圾标记阶段:对象存活判断 方式:引用计数算法(java未使用)原理:对象有一个引用计数器属性,每多个引用,加1,当为0时,可以被回收。优点:实现简单,垃圾容易辨识,判断效率高,回收没有延迟性缺点:无法处理循环引用的情况,如:废弃的循环链表循环引用:两个或多个对象互
原创
发布博客 2021.08.09 ·
86 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM中的String

String的不可变性String s1="abcd";String s1=new String("abcd");String不可被继承String底层Hashtable字符串常量池不会存储相同的东西。字符串常量池底层是固定大小的Hashtable使用-XX:StringTableSize 设置常量池大小String的内存分配java6以前:在永久代java7:在堆,保留永久代java8:元空间,在堆String字符串拼接面试题equals和==本质是相同的string的eq
原创
发布博客 2021.08.09 ·
90 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于执行引擎

执行引擎前端编译:源码编译成字节码文件后端编译:字节码文件编译成机器语言jvm的主要任务是负责把字装载字节码到其内部执行引擎的任务是把字节码解释成机器指令解释器:翻译字节码成机器指令jit编译器:也是翻译字节码,区别是编译后生成了机器指令文件。为什么java是半编译半解释型语言?同时存在解释器和编译器。两者各有千秋,优势互补。解释器如今,解释器变得低效。响应速度快,但是执行速度慢。jit编译器/即时编译器(Hotspot的C1,C2编译器)不会立刻执行,先编译成机器指令,但编译完
原创
发布博客 2021.08.09 ·
66 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

重点:happens-before

happens-before 规定了对共享变量的写操作对其它线程的读操作可见,它是可见性与有序性的一套规则总结happens-beforehappens-before 规定了对共享变量的写操作对其它线程的读操作可见,它是可见性与有序性的一套规则总结线程解锁 m 之前对变量的写,对于接下来对 m 加锁的其它线程对该变量的读可见static int x;static Object m = new Object();new Thread(()->{ synchronized(m) { x
原创
发布博客 2021.08.08 ·
150 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JMM 可见性 原子性 有序性

Java 内存模型JMM 即 Java Memory Model,它定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、 CPU 指令优化等。JMM 体现在以下几个方面:原子性 - 保证指令不会受到线程上下文切换的影响可见性 - 保证指令不会受 cpu 缓存的影响有序性 - 保证指令不会受 cpu 指令并行优化的影响可见性现象:在main中修改run的值,线程也无法停止static boolean run = true;public static void mai
原创
发布博客 2021.08.08 ·
198 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多