- 本文节选自霍格沃兹测试学院内部教材Hook 技术需要预先分析目标应用的源代码和逻辑,根据目标测试场景设置目标、逻辑和数据,然后运行时动态的对目标函数参数值、逻辑或者返回值做修改,达到修改现有函数逻辑、实现目标测试场景的目的。Hook的价值在测试中,虽然通过修改数据以实现测试场景的需求,大部分情况下都可以通过 Mock 技术实现,但是还有一小部分场景,例如需要修改应用内部函数的参数、返回值或运... 本文节选自霍格沃兹测试学院内部教材Hook 技术需要预先分析目标应用的源代码和逻辑,根据目标测试场景设置目标、逻辑和数据,然后运行时动态的对目标函数参数值、逻辑或者返回值做修改,达到修改现有函数逻辑、实现目标测试场景的目的。Hook的价值在测试中,虽然通过修改数据以实现测试场景的需求,大部分情况下都可以通过 Mock 技术实现,但是还有一小部分场景,例如需要修改应用内部函数的参数、返回值或运...
- Java面试经常被环环相扣问到一些问题,下面这5个就是经典的例子 Java面试经常被环环相扣问到一些问题,下面这5个就是经典的例子
- 元空间(MetaSpace )与永久代(PermGen )的区别元空间使用本地内存(堆中),而永久代使用的是jvm的内存java.lang.OutOfMemoryError : PermGen spaceMetaSpace相比PermGen的优势字符串常量池存在永久代中,容易出现性能问题和内存溢出类和方法的信息大小难易确定,给永久代的大小指定带来困难永久代会为GC带来不必要的复杂性方便Ho... 元空间(MetaSpace )与永久代(PermGen )的区别元空间使用本地内存(堆中),而永久代使用的是jvm的内存java.lang.OutOfMemoryError : PermGen spaceMetaSpace相比PermGen的优势字符串常量池存在永久代中,容易出现性能问题和内存溢出类和方法的信息大小难易确定,给永久代的大小指定带来困难永久代会为GC带来不必要的复杂性方便Ho...
- 之前在学校举办的活动上,认识了一个学妹。我死磨硬泡终于加了她的微信,经常给她发微信。可是她总是对我爱答不理的,我心里总有一天让你高攀不起,后来就很少联系了。今天突然主动联系我:这么久没联系了,一上来就让我帮忙?这照片拍的,手抖的像是得了帕金森似的,字都有重影。放大照片仔细看,这应该是某大厂的笔试题吧。这些题都不是很难,答案脱口而出。 面向对象的三个特性分别是哪些? 封装封装是把客观事物封装成... 之前在学校举办的活动上,认识了一个学妹。我死磨硬泡终于加了她的微信,经常给她发微信。可是她总是对我爱答不理的,我心里总有一天让你高攀不起,后来就很少联系了。今天突然主动联系我:这么久没联系了,一上来就让我帮忙?这照片拍的,手抖的像是得了帕金森似的,字都有重影。放大照片仔细看,这应该是某大厂的笔试题吧。这些题都不是很难,答案脱口而出。 面向对象的三个特性分别是哪些? 封装封装是把客观事物封装成...
- 这篇文章主要介绍了Java中static关键字的作用和用法详细介绍,本文讲解了static变量、静态方法、static代码块、static和final一块用等内容 这篇文章主要介绍了Java中static关键字的作用和用法详细介绍,本文讲解了static变量、静态方法、static代码块、static和final一块用等内容
- 栈 存储局部变量堆 存储new出来的东西方法区 (面向对象进阶讲)本地方法区 (和系统相关)寄存器 (给CPU使用) 栈 存储局部变量堆 存储new出来的东西方法区 (面向对象进阶讲)本地方法区 (和系统相关)寄存器 (给CPU使用)
- JVM参数分为三大类1.标准参数查询java -?2.非标准参数查询java -X3.非stable参数查询#输出参数初始值(jdk默认值)java -XX:+PrintFlagsInitial或者#输出参数最终值(根据物理环境和用户配置最终采用的值)java -XX:+PrintFlagsFinal -version JVM参数分为三大类1.标准参数查询java -?2.非标准参数查询java -X3.非stable参数查询#输出参数初始值(jdk默认值)java -XX:+PrintFlagsInitial或者#输出参数最终值(根据物理环境和用户配置最终采用的值)java -XX:+PrintFlagsFinal -version
- 福哥答案2020-10-04:#福大大架构师每日一题#简单回答:1.局部变量。2.静态引用的对象。3.常量引用的对象。4.JNI引用的对象。中级回答:1.虚拟机栈(栈帧中的本地变量表)中引用的对象;各个线程调用方法堆栈中使用到的参数、局部变量、临时变量等。2.方法区中类静态属性引用的对象;java 类的引用类型静态变量。3.方法区中常量引用的对象;比如:字符串常量池里的引用。4.本地方法栈中... 福哥答案2020-10-04:#福大大架构师每日一题#简单回答:1.局部变量。2.静态引用的对象。3.常量引用的对象。4.JNI引用的对象。中级回答:1.虚拟机栈(栈帧中的本地变量表)中引用的对象;各个线程调用方法堆栈中使用到的参数、局部变量、临时变量等。2.方法区中类静态属性引用的对象;java 类的引用类型静态变量。3.方法区中常量引用的对象;比如:字符串常量池里的引用。4.本地方法栈中...
- 锁记录被用于偏向锁优化和轻量级锁优化。 lock record的数据结构 The lock record holds the original value of the object’s mark word and also contains metadata necessary to identify which object is locked. lock r... 锁记录被用于偏向锁优化和轻量级锁优化。 lock record的数据结构 The lock record holds the original value of the object’s mark word and also contains metadata necessary to identify which object is locked. lock r...
- 平时我们都使用 idea、eclipse 等软件来编写代码,在编写完之后直接点击运行就可以启动程序了,那么这个过程是怎么样的?总体过程我们编写的 java 文件在由编译器编译后会生成对应的 class 字节码文件, 然后再将 class 字节码文件转给 JVM 。 JVM 会处理解析 class 文件,将其内部设置的类、方法、常量等信息全部提取出来,然后找到 main 方法开始一步一步编译成... 平时我们都使用 idea、eclipse 等软件来编写代码,在编写完之后直接点击运行就可以启动程序了,那么这个过程是怎么样的?总体过程我们编写的 java 文件在由编译器编译后会生成对应的 class 字节码文件, 然后再将 class 字节码文件转给 JVM 。 JVM 会处理解析 class 文件,将其内部设置的类、方法、常量等信息全部提取出来,然后找到 main 方法开始一步一步编译成...
- 1.概述所谓”编译“,通俗来讲就是把我们写的代码“翻译“成机器可以读懂的机器码。而编译器就是做这个翻译工作的。Java技术中的编译器可以分为如下三类:前端编译器:把.java文件转变为.class文件的过程。比如JDK的Javac。即时编译器:JustInTimeCompiler,常称JIT编译器,在「运行期」把字节码转变为本地机器码的过程。比如HotSpotVM的C1、C2编... 1.概述所谓”编译“,通俗来讲就是把我们写的代码“翻译“成机器可以读懂的机器码。而编译器就是做这个翻译工作的。Java技术中的编译器可以分为如下三类:前端编译器:把.java文件转变为.class文件的过程。比如JDK的Javac。即时编译器:JustInTimeCompiler,常称JIT编译器,在「运行期」把字节码转变为本地机器码的过程。比如HotSpotVM的C1、C2编...
- 最近,很多小伙伴都在说,我没做过性能优化的工作,在公司只是做些CRUD的工作,接触不到性能优化相关的工作。现在出去找工作面试的时候,面试官总是问些很刁钻的问题来为难我,很多我都不会啊!那怎么办呢?那我就专门写一些与高并发系统相关的面试容易问到的问题吧。今天,我们就来说说在高并发场景下做性能优化有哪些衡量标准,以及做优化时需要注意哪些问题。 最近,很多小伙伴都在说,我没做过性能优化的工作,在公司只是做些CRUD的工作,接触不到性能优化相关的工作。现在出去找工作面试的时候,面试官总是问些很刁钻的问题来为难我,很多我都不会啊!那怎么办呢?那我就专门写一些与高并发系统相关的面试容易问到的问题吧。今天,我们就来说说在高并发场景下做性能优化有哪些衡量标准,以及做优化时需要注意哪些问题。
- 说到Redis,往往更多的场景是被用作系统的缓存,说到缓存,尤其是分布式缓存系统,在实际高并发场景下,稍有不慎,就会造成缓存穿透、缓存击穿和缓存雪崩的问题。那什么是缓存穿透?什么是缓存击穿,又什么是缓存雪崩呢?它们是如何造成的?又该如何解决呢?今天,我们就一起来探讨这些问题。 说到Redis,往往更多的场景是被用作系统的缓存,说到缓存,尤其是分布式缓存系统,在实际高并发场景下,稍有不慎,就会造成缓存穿透、缓存击穿和缓存雪崩的问题。那什么是缓存穿透?什么是缓存击穿,又什么是缓存雪崩呢?它们是如何造成的?又该如何解决呢?今天,我们就一起来探讨这些问题。
- 在Java中提供了synchronized关键字来保证只有一个线程能够访问同步代码块。既然已经提供了synchronized关键字,那为何在Java的SDK包中,还会提供Lock接口呢?这是不是重复造轮子,多此一举呢?今天,我们就一起来探讨下这个问题。 在Java中提供了synchronized关键字来保证只有一个线程能够访问同步代码块。既然已经提供了synchronized关键字,那为何在Java的SDK包中,还会提供Lock接口呢?这是不是重复造轮子,多此一举呢?今天,我们就一起来探讨下这个问题。
- 周末,跟阿里的一个朋友(去年晋升为P9了)聊了很久,聊的内容几乎全是技术,当然了,两个技术男聊得最多的话题当然就是技术了。从基础到架构,从算法到AI,无所不谈。中间又穿插着不少天马行空的想象,虽然现在看起来不太实际,但是随着技术的进步,相信五年、十年之后都会实现的。 周末,跟阿里的一个朋友(去年晋升为P9了)聊了很久,聊的内容几乎全是技术,当然了,两个技术男聊得最多的话题当然就是技术了。从基础到架构,从算法到AI,无所不谈。中间又穿插着不少天马行空的想象,虽然现在看起来不太实际,但是随着技术的进步,相信五年、十年之后都会实现的。
上滑加载中
推荐直播
-
智能观测进化论系列沙龙(第一期)
2025/02/28 周五 14:00-16:30
华为及外部讲师团
本期直播就智能化可观测技术的融合与创新、落地与实践、瓶颈与未来等业界关心的话题进行深入探讨。
回顾中 -
聚焦Deepseek,洞察开发者生态发展
2025/02/28 周五 19:00-20:30
蒋涛 csdn创始人
深入剖析Deepseek爆发后,中国开发者生态潜藏的巨大发展潜能与未来走向,精准提炼出可供大家把握的时代机遇,干货满满,不容错过。
回顾中
热门标签