前言 字节码增强:指的是在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用程序的二进制文件进行修改。 为什么要进行字节码增强呢?字节码增强可以用在什么地方呢?如何对字节码进行增强?增强的手段都有哪些?一起来看看吧 做为JAVA开发,你应该无数次的听过一句话:一次编译,到处运行。没错,这是JAVA的优势,但你有没有想过这究竟是为什么呢?Why??? 是因 […]
前言 字节码增强:指的是在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用程序的二进制文件进行修改。 为什么要进行字节码增强呢?字节码增强可以用在什么地方呢?如何对字节码进行增强?增强的手段都有哪些?一起来看看吧 做为JAVA开发,你应该无数次的听过一句话:一次编译,到处运行。没错,这是JAVA的优势,但你有没有想过这究竟是为什么呢?Why??? 是因 […]
一、文章摘要 应用安全一直是一个非常重要的课题,2021年12月7日Log4j2爆出核弹级漏洞,Log4j2作为一款优秀的日志框架,其高使用率加上此漏洞利用难度低,导致企业安全风险剧增。那么猪八戒网是如何应对此类漏洞的呢? 此文主要讲述猪八戒在Java组件安全方面实施的防护措施,如何阻断存在安全漏洞的Java应用上线,在出现类似Log4j2这样的漏洞后如何及时发现哪些应用存 […]
背景 监控是服务端应用需要具备的一个非常重要的能力,通过监控可以直观的看到核心业务指标、服务运行质量等,而要做到可监控就需要进行相应的监控埋点。大家在埋点过程中经常会编写大量重复代码,虽能实现基本功能,但耗时耗力,不够优雅。根据“DRY(Don't Repeat Yourself)"原则,这是代码中的“坏味道”,对有代码洁癖的人来讲,这种重复是不可接受的。 那有什么方法解决 […]
01 背景 购物车面临的挑战: 1)新业务:随着业务形态的丰富,购物车在不断支持各种新业务,依赖的外部接口也随之增加; 2)下沉:一些前端调用的接口下沉到购物车中台; 3)前置:结算流程很多业务前置到购物车中,如优惠券、京豆; 4)扩容:为改善用户体验购物车可容纳的商品数量在不断增长; 这些导致购物车依赖的RPC接口数量及分页调用次数都在不断增加。购物车作为交易流程开端,本 […]
Netty是JVM中最著名、使用最广泛的异步网络应用程序框架之一。这个视频将向你展示Netty本身是如何工作的,并解释为什么会做出一些设计选择。除此之外,它还将包括关于Netty社区在开发过程中所面临的许多jvm相关的挑战,并解释采取了什么行动来解决这些问题等等。 《Netty - One Framework to rule them […]
B站视频地址:https://www.bilibili.com/video/BV1ia411X7SW (点击‘阅读原文’直达) 垃圾收集在很大程度上消除了在编写Java代码时考虑内存管理的需要,但是理解和最小化应用程序的内存使用仍然有好处,特别是随着在嵌入式设备上部署Java的数量不断增加 […]
一 相关概念 影子,我们都知道是什么意思,百度百科:物体挡住光线后,映在地面或其他物体上的形象。如果用在我们技术领域,比如数据方面,可以理解成是数据的一份拷贝,也就是“原封不动”的进行复制。那么把“影子”用在全链路压测是怎样的呢? 影子库:实际中使用的数据库的完整数据库数据拷贝,比如进行压测数据隔离的影子数据库,与生产数据库应当使用相同的配置。 影子表:是实际 […]
腾讯面试官:说说Redis的哈希表是如何扩容的? 面试者:what?额......,(我懵了!)这个我还没了解过,尬...。但我了解java里面的HashMap的扩容,我觉得应该有相通的一些原理在里面吧,然后我就把HashMap的扩容机制balabla的说了一遍...... Redis中使用哈希表作为底层实现的是叫做字典的数据结构,字典又称为符号表、关联数组或映射(map) […]
I/O多路复用(multiplexing)的本质是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述符,一旦某个描述符就绪(一般是读就绪或写就绪),能够通知程序进行相应的读写操作。 01 select int select (int n, fd_set *readfds, fd_set  […]
遇到了一个奇怪的问题,使用tomcat启动项目,从标准输出日志看,似乎很正常,但是访问却失败了! 如下图: ......(省略N多日志) Jun 04, 2018 12:42:27 PM org.apache.catalina.startup.HostConfig deployWAR INFO: Deployment of web application archive / […]
点击上方蓝色字关注我们~ 01 阻塞I/O blocking i/o ①等待数据:需要等待数据拷贝进内核 ②需要等内核将数据复制到用户空间。 ◇优点:①能够及时返回数据,无延迟。②内核开发者省事。 ◇缺点:对用户来说处于等待就要付出性能的代价了 02 非阻塞I/O nonblocking i/o 用户进程需要不断的主动询问kernel数据好了没有。 用户进程发 […]
超实用的30多款idea插件,有百万级下载量的优秀插件,你值得拥有! 好的工具助你事半功倍,快速协助敲出更漂亮更有效率的代码。搬运工这里收集了很不错的IDEA插件,相信你一定会喜欢的。 〓必备插件列表: Grep Console :自定义控制台输出格式插件,下载量115W+,推荐指数:☆☆☆☆ FindBugs-IDEA :潜在Bug检查,下载量108W+,推荐指数:☆☆☆ […]
点击上方蓝色字关注我们~ 最近在网上看到别人提出了这个问题 : 现在从源码的角度简单剖析其原因。 我们知道,一般在配置注册中心eureka的地址类似这个: eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/ 而访问eureka注册中心控制台页面管理则是:http://localhost:876 […]
点击上方蓝色字关注我们~ 我们经常会面临这样的问题,在确定某个topic下应该设置多少分区数,有时并不知道应该如何设置,如何评估等。或者别人问你当前kafka集群中,具体的业务topic中分区数是多少,是如何知道需要多少分区或怎么选择比较适合的分区数。 1 结合业务场景和非业务条件 那么我们应该如何选择合适的分区数呢? 具体的业务具体分析。 但是前期我们可以根据这些条件:实 […]
消息队列(MQ)的基本概念,很多时候都要了解清楚,这样在学消息队列中间件就比较能够游刃有余,遇到不清楚的也可以重新翻来看看,加深理解。这里有关于:优先级队列、延迟队列、死信队列、重试队列、消息回溯、消息堆积、消息追踪/消息轨迹、消息过滤、消息审计、消息路由等的介绍。 01 优先级队列 优先级队列不同于先进先出队列,优先级高的消息具备优先被消费的特权,这样可以为下游提供不同消 […]
COPYRIGHT © 2014-2023 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang