面试官问我 volatile 是否存在伪共享问题?我懵逼了
共享在 Java 编程里面我们可以这样理解,有一个 Share 类,它有一个 value 的属性。如下: 我们初始化 Share 的一个实例,然后启动多个线程去操作它的 value 属性,此时的 Share 变量被多个线程操作的这种情况我们称之为 共享。 大家都知道在不添加任何…
Synchronized 同步出现失效的问题你碰到过吗?
Synchronized ,大家都知道这个是Java 提供的一种原子性内置锁,其实现原理是通过获取对象的监视器monitor进行来实现同步的,只有当线程获取到对象monitor才能继续执行,否则该线程进行阻塞(等待)。 示例: 描述一下代码示例: 该方法涉及++ 1 ,当如果多…
Java 有值类型吗?
有人看了我之前的文章『Swift 语言的设计错误』,问我:“你说 Java 只有引用类型(reference type),但是根据 Java 的官方文档,Java 也有值类型(value type)和引用类型的区别的。比如 int,boolean 等原始类型就是值类型。” 现在…
是时候扔掉 Postman 了,试试 IntelliJ IDEA 自带的高能神器!
接口调试是每个软件开发从业者必不可少的一项技能,一个项目的的完成,可能接口测试调试的时间比真正开发写代码的时间还要多,几乎是每个开发的日常工作项。所谓工欲善其事必先利其器,在没有尝到IDEA REST真香之前,postman(chrome的一款插件)确实是一个非常不错的选择,具…
一周的闪念胶囊,总有一个能帮助到你
1、不管是做需求还是测试,都应该考虑整个链路,确保兼容性或者其他模块不受影响。比如内容创作改动,应该考虑到审核侧、内容分发侧是否正常。 2、需求一定要经过测试。不要站在自己的角度,以为测试人员无法测试某种场景。因为方法总比困难多,比如可以把链路当中修改的点单独拎出来进行对比测试…
超好用的自带火焰图的 Java 性能分析工具 Async-profiler 了解一下
面试精选集,快快前往领取吧!offer.liangsonghua.me/。关注微信公众号:松花皮蛋的黑板报,获取更多精彩! 如果你经常遇到 Java 线上性能问题束手无策,看着线上服务 CPU 飙升一筹莫展,发现内存不断泄露满脸茫然。别慌,这里有一款低开销、自带火焰图、让你大呼…
技术面试最后反问面试官的话
面试精选集,快快前往领取吧!offer.liangsonghua.me/。关注微信公众号:松花皮蛋的黑板报,获取更多精彩! 绝对不要想把这个列表里的每个问题都问一遍。 请记住事情总是灵活的,组织的结构调整也会经常发生。 拥有一个 bug 追踪系统并不会保证高效处理 bug。CI…
Spring的BeanUtils的copyProperties方法需要注意的点
最近项目中在和第三方进行联调一个接口,我们这边发送http请求给对方,然后接收对方的回应,代码都是老代码。根据注释,对方的SDK中写好的Request类有一个无法序列化的bug,所以这边重新写了一个Request类,基本属性都是相同的,但是重点是有一个属性是静态内部类,还有两个…
分布式系统之负载均衡(案例篇)
我们知道单机的承载能力和垂直扩展能力都是有上限的,它无法满足高并发高吞吐量的场景,所以常使用水平扩展也就是增加机器数量来满足需求。但是不同机房、同机房不同年代上架的机器的性能也是千差万别的,甚至业务之前申请到的都是8核16G内存的配置脱销了(申请时抢不到),我们只能放低身位选择…
对开发人员有用的定律、理论、原则和模式
这篇文章包含对一些定律、原则以及模式的解释,但不提倡其中任何一个。它们的应用始终存在着争论,并且很大程度上取决于你正在做什么。 这个定律表明,在许多情况下,试图通过增加人力来加速已延期项目的交付,将会使项目交付得更晚。 布鲁克斯也明白,这是一种过度简化。但一般的论据是,新资源的…
Spring源码探究:事件机制
问题描述:项目中配置事件监听,监听当容器加载完成之后,做一些初始化工作。项目运行之后,发现初始化工作被重复做了两次。为了便于分析,去掉代码中的业务逻辑,只留下场景。 配置FreshListener监听器,监听当容器加载完成之后,将管理员名单加入缓存。却发现,名单被加载了两次。W…
Spring源码探究:容器
问题描述:项目中发现,自定义切面注解在Controller层正常工作,在Service层却无法正常工作。为了便于分析,去掉代码中的业务逻辑,只留下场景。 以上为主要代码,项目运行之后,发现在Service层的注解切面未生效,而在Controller层正常。而当我将springm…
虚拟机网络 polkit service
systemctlrestartnetwork时报错restartnetworkauthorizationnotavailablecheckifpolkitserviceisrunning,如下图检查polkitservice如下图使用polkitd来调试错误,运行:/usr/lib/plokit-
c#编程 刚上手的小白 刚刚开始正在读书但是任务紧 求解读这段代码什么含义 ?
privatevoidFillPatientInfo(PatientInfoDtoinfo,Exceptionex){this.info=info;lblFeeType.Text=string.Empty;lblFamilyAddress.Text=string.Empty;lblContracts
双11实战 | 聊聊高可用“大杀器”限流降级技术
我们常说的N个9,就是对SLA的一个描述。 SLA全称是ServiceLevel Agreement,翻译为服务水平协议,也称服务等级协议,它表明了公有云提供服务的等级以及质量。 例如阿里云对外承诺的就是一个服务周期内集群服务可用性不低于99.99%,如果低于这个标准,云服务公…
你猜一个 TCP 连接上面能发多少个 HTTP 请求
一道经典的面试题是从 URL 在浏览器被被输入到页面展现的过程中发生了什么,大多数回答都是说请求响应之后 DOM 怎么被构建,被绘制出来。但是你有没有想过,收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的呢? 在…
WPF中的\r\n显示问题
在使用WPF中的textbox显示读取的一段字符串,如:vara="asadf\r\nasdsd";textbox.text=a;当a中包含\r\n这类字符时,textbox会自动换行显示,我想直接显示出\r\n该怎么办?
BAT的java多线程面试题整理及答案
线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越…
在京东我们是如何做服务降级的
当我们依赖的中间件资源或者是上游服务性能出现严重问题时,为了防止用户看到错误页面或者加载页面时间过长,我们需要将服务降级静态页面。或者将不影响主流程的旁路服务关闭掉,以让出资源给主要流程。这类操作称为降级。服务降级方案有三种方式,降低一致性、减少非必要功能、简化功能,后面我会分…
朋友的一年工作经验跳槽字节跳动社招经历分享(已拿offer)
虽然已经临近年末,但是还是萌生要看新机会的想法,主要的原因是觉得在目前的岗位上技术增长遇到的瓶颈,因此想去做一些更有挑战的工作。因为仍然准备继续在深圳工作,因此选定了三家公司,腾讯、字节跳动和 shopee,考虑的岗位方向仍然是后台开发(其他岗位也面不上呀,伤心)。虽然年底跳拿…