自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员麦冬的博客(公众号同名)

欢迎关注公众号:Java程序员聚集地,领取JAVA相关资料

  • 博客(41)
  • 收藏
  • 关注

原创 面试官:我就问了一个JVM性能调优,没想到他能吹半个小时

一、JVM内存模型及垃圾收集算法1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代)Tenured(年老代)永久代(Perm)其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,由虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小。年轻代(New):年轻代用来存放JVM刚分配的Java对象年老代(Tenured):年轻代中经过垃圾回收没有回收掉的对象将被Cop

2020-08-31 19:23:13 359

原创 RabbitMQ是如何保证消息可靠性?

1. 如何保证消息的可靠性?先来看看我们的万年老图,从图上我们大概可以看出来一个消息会经历四个节点,只有保证这四个节点的可靠性才能保证整个系统的可靠性。生产者发出后保证到达了MQ。MQ收到消息保证分发到了消息对应的Exchange。Exchange分发消息入队之后保证消息的持久性。消费者收到消息之后保证消息的正确消费。经历了这四个保证,我们才能保证消息的可靠性,从而保证消息不会丢失。2. 生产者发送消息到MQ失败我们的生产者发送消息之后可能由于网络闪断等各种原因导致我们的消息并没有发送

2020-08-30 20:46:57 348

原创 Spring Validation最佳实践与实现原理

简单使用Java API规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernate validation是对这个规范的实现,并增加了校验注解如@Email、@Length等。Spring Validation是对hibernate validation的二次封装,用于支持spring mvc参数自动校验。接下来,我们以spring-boot项目为例,介绍Spring Validation的使用。引入依赖如果spring-boot版本小于2.3.x,sp

2020-08-29 20:40:32 321

转载 一个@Transaction怎么可以有这么多坑?

事务失效事务失效我们一般要从两个方面排查问题数据库层面数据库层面,数据库使用的存储引擎是否支持事务?默认情况下MySQL数据库使用的是Innodb存储引擎(5.5版本之后),它是支持事务的,但是如果你的表特地修改了存储引擎,例如,你通过下面的语句修改了表使用的存储引擎为MyISAM,而MyISAM又是不支持事务的alter table table_name engine=myisam;这样就会出现“事务失效”的问题了「解决方案」:修改存储引擎为Innodb。业务代码层面业务层面的代码是否有

2020-08-28 19:14:00 268

原创 实现延时任务的 4 种实现方案

一、应用场景在需求开发过程中,我们经常会遇到一些类似下面的场景:a. 外卖订单超过15分钟未支付,自动取消b. 使用抢票软件订到车票后,1小时内未支付,自动取消c. 待处理申请超时1天,通知审核人员经理,超时2天通知审核人员总监d. 客户预定自如房子后,24小时内未支付,房源自动释放那么针对这类场景的需求应该如果实现呢,我们最先想到的一般是启个定时任务,来扫描数据库里符合条件的数据,并对其进行更新操作。一般来说spring-quartz 、elasticjob 就可以实现,甚至自己写个 T

2020-08-27 21:07:44 475

原创 四张图带你了解Tomcat类加载机制—让面试官颤抖的回答系列

结论:Tomcat的类加载机制违反了双亲委派机制。对于一些未加载的非基础类(Object,String等),各个web应用自己的类加载器(WebAppClassLoader)会优先加载,加载不到时再交给commonClassLoader走双亲委托。因此,按照这个过程可以想到,如果同样在CLASSPATH指定的目录中和自己工作目录中存放相同的class,会优先加载CLASSPATH目录中的文件。问题:1、既然 Tomcat 不遵循双亲委派机制,那么如果我自己定义一个恶意的HashMap,会不会

2020-08-26 19:20:01 429

原创 Docker 最常用的镜像命令和容器命令

一 、镜像命令1.docker images 列出本地能够运行的images2.docker search 镜像的名字 在docker hub 上面搜索镜像 -s 30 过滤30星以下的3.docker pull 镜像名字 在阿里云上面下载镜像 docker pull redis:2.0 2.0标签 一般指2.0版本4.docker rmi 镜像的名字 删除镜像 默认删除最新版本 也就是:latest版本 -f(force) 强制删除 可以删除多个 docker rmi -f $(docker i

2020-08-25 22:21:48 521

原创 长沙浪漫七夕是红绿灯,程序员的浪漫属于代码

福利时刻(1)静态心import matplotlib.pyplot as plt import numpy as np t=np.arange(0,2*np.pi,0.1) x=16*np.sin(t)**3 y=13*np.cos(t)-5*np.cos(2*t)-2*np.cos(3*t)-np.cos(4*t) plt.plot(x,y,color="red") plt.show()运行结果为:(2)动态心print('\n'

2020-08-25 20:37:53 321

原创 21个MongoDB经典面试题

1、什么是MongoDB?MongoDB是一个文档数据库,提供好的性能,领先的非关系型数据库。采用BSON存储文档数据。BSON()是一种类json的一种二进制形式的存储格式,简称Binary JSON.相对于json多了date类型和二进制数组2、MySQL与MongoDB之间最基本的差别是什么?MySQL和MongoDB两者都是免费开源的数据库。MySQL和MongoDB有许多基本差别包括数据的表示(data representation),查询,关系,事务,schema的设计和定义,标准化(

2020-08-24 21:45:19 7048

原创 一文搞懂BeanFactory和FactoryBean区别

BeanFactory这个其实是所有Spring Bean的容器根接口,给Spring 的容器定义一套规范,给IOC容器提供了一套完整的规范,比如我们常用到的getBean方法等The root interface for accessing a Spring bean container. This is the basic client view of a bean container;定义方法:getBean(String name): Spring容器中获取对应Bean对象的方法,如存

2020-08-24 19:35:46 560

原创 面试官想问的Java问题,都在这篇文章中了!

2020,可谓是招聘面试最难季。不少大厂,如腾讯和字节的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言。今天我讲给大家分享一份资深Java架构师花费几个月整理的Java工程师的学习笔记,希望大家能够通过这份笔记了解大厂面试经常会被问到的一些问题,以及或许会给大家分享的一些面试真题。警告!警告!特大警告!所有的资料及文档小编已经整合,需要的朋友可以点击下方链接获取Java学习交流,面试题,视频,PDF资料文档资料包专注于java技术,包括Kafka、Mysql、

2020-08-23 21:32:44 344

原创 面试官:你对Kafka了解吗?这41个问题你能答出几个

一、请说明什么是Apache Kafka?Apache Kafka是由Apache开发的一种发布订阅消息系统,它是一个分布式的、分区的和重复的日志服务。二、请说明什么是传统的消息传递方法?传统的消息传递方法包括两种:排队:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人。发布-订阅:在这个模型中,消息被广播给所有的用户。三、 请说明Kafka相对传统技术有什么优势?快速:单一的Kafka代理可以处理成千上万的客户端,每秒处理数兆字节的读写操作。可伸缩:在一组机器上对

2020-08-23 19:23:26 534

原创 什么是BFC?看这一篇就够了

BFC 定义BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。在解释什么是BFC之前,我们需要先知道Box、Formatting Context的概念。Box:css布局的基本单位Box 是 CSS 布局的对象和基本单位, 直观点来说,就是一个页面是由很多个 Box 组成的。元素的类型和 display 属性,决定了这

2020-08-21 21:36:12 288

原创 不用写注解就可以生成文档的工具,你晓得不?

今天给大家安利一款接口文档生成器——JApiDocs。不用写注解,就可以生成文档的工具,你心动了吗?下面我们一起来看看如何使用!一、添加依赖<dependency> <groupId>io.github.yedaxia</groupId> <artifactId>japidocs</artifactId> <version>1.3</version></dependency>二、配置生成参

2020-08-21 19:14:50 384

原创 谈谈微服务中的限流、熔断和降级

1、限流1.1 为什么需要限流对外的API服务用户增长过快因为某个热点事件(微博热搜)竞争对象爬虫恶意的刷单开学季(可预知)这些情况都是无法预知的,不知道什么时候会有10倍甚至20倍的流量打进来,如果真碰上这种情况,扩容是根本来不及的(弹性扩容都是虚谈,一秒钟能扩容完成吗?)对内的RPC服务一个服务A的接口可能被BCDE多个服务进行调用,在B服务发生突发流量时,直接把A服务给调用挂了,导致A服务对CDE也无法提供服务。1、每个调用方采用线程池进行资源隔离2、使用限流手段对每个调用

2020-08-20 19:35:23 1024 1

原创 面试官最爱问的Nginx中的这些问题,你搞懂了没?

1、请解释一下什么是 Nginx?Nginx 是一个 web 服务器和反向代理服务器,用于 HTTP、HTTPS、SMTP、POP3和 IMAP 协议。2、请列举 Nginx 的一些特性Nginx 服务器的特性包括:反向代理/L7 负载均衡器嵌入式 Perl 解释器动态二进制升级可用于重新编写 URL,具有非常好的 PCRE 支持3、请解释 Nginx 如何处理 HTTP 请求Nginx 使用反应器模式。主事件循环等待操作系统发出准备事件的信号,这样数据就可以从套接字读取,在该实例中读

2020-08-19 21:00:46 459

原创 一文看懂java中int和Integer的区别

一、java基本数据类型及其封装类java数据类型有基本数据类型和引用数据类型,为了方便将基本数据类型当作对象处理,java引入了基本数据类型相对应的封装类,如int封装类是Integer。二、java自动拆箱和自动装箱1、自动装箱自动装箱其实就是将基本数据类型转换为引用数据类型(对象)2、自动拆箱自动拆箱其实就是将引用数据类型转化为基本数据类型代码如下 public static void main(String[] args) { Integer a = 1;//这里就

2020-08-18 21:41:57 314

原创 MySQL 偶尔抽风,性能突然下降

SQL 执行突然变慢的原因当内存数据页(redo log)和磁盘数据页内容不一致时,将该内存也称为 “脏页”。将内存数据写入到磁盘后,数据一致,内存页称为 “干净页”。在内存数据写入磁盘时,这个过程称为 flush 过程。SQL 突然执行变得很慢,性能下降。原因就可能和 flush 操作有关。因为在进行 flush 操作时,更新操作会等待 redo log 的写入。引起 flush 操作的原因场景一:redo log 日志已经记满。这时系统会停止更新操作,将 check point 向前推进,让

2020-08-18 20:31:42 304

原创 一文读懂JMM内存模型

Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理想,因此Java1.5版本对其进行了重构,现在的Java8仍沿用了Java1.5的版本。关于并发编程在并发编程领域,有

2020-08-17 21:33:06 710

原创 我不允许你还不会垃圾回收

垃圾收集(Garbage Collection,GC),哪些内存需要回收?什么时候回收?如何回收?一,对象在内存中的状态当一个对象在堆内存中运行时,可分为三种状态:1.可达状态当一个对象被创建后,若有一个以上的引用变量引用它,则这个对象在程序中处于可达状态,程序可通过引用变量来调用该对象的实例变量和方法2.可恢复状态程序中某个对象不再有任何引用变量引用它,系统的垃圾回收机制准备回收该对象所占用的内存,在回收该对象之前,系统会调用所有可恢复状态对象的finalize方法进行资源清理,如果系统在调用

2020-08-17 19:29:46 274 1

原创 Spring中的@Import注解作用

1.简介在平时看源码或者很多配置类上面都会出现@Import注解,功能就是和Spring XML 里面 的 一样. @Import注解是用来导入配置类或者一些需要前置加载的类.2.源码解析2.1 导入配置的三种类型@Import支持 三种方式1.带有@Configuration的配置类(4.2 版本之前只可以导入配置类,4.2版本之后 也可以导入 普通类)2.ImportSelector 的实现3.ImportBeanDefinitionRegistrar 的实现2.2 源码解释/** * I

2020-08-16 21:14:06 941

原创 深入了解K8s之DaemonSet

Daemon Pod有三个主要特征:这个 Pod 运行在 Kubernetes 集群里的每一个节点(Node)上;每个节点上只有一个这样的 Pod 实例;当有新的节点加入 Kubernetes 集群后,该 Pod 会自动地在新节点上被创建出来;而当旧节点被删除后,它上面的 Pod也相应地会被回收掉。Daemon Pod可以运用在网络插件的Agent组件上、日志组件、监控组件等。创建一个DaemonSetCopyapiVersion: apps/v1kind: DaemonSetmeta

2020-08-14 21:55:32 1735

原创 脑裂是什么?Zookeeper是如何解决的?

1、脑裂和假死1.1 脑裂官方定义:当一个集群的不同部分在同一时间都认为自己是活动的时候,我们就可以将这个现象称为脑裂症状。通俗的说,就是比如当你的 cluster 里面有两个结点,它们都知道在这个 cluster 里需要选举出一个 master。那么当它们两之间的通信完全没有问题的时候,就会达成共识,选出其中一个作为 master。但是如果它们之间的通信出了问题,那么两个结点都会觉得现在没有 master,所以每个都把自己选举成 master。于是 cluster 里面就会有两个 master。举例:

2020-08-14 19:52:48 1065

原创 为什么Nginx作为后端服务器代理会好一些?

1. 前言我们真实的服务器不应该直接暴露到公网上去,否则更加容易泄露服务器的信息,也更加容易受到攻击。一个比较“平民化”的方案是使用Nginx反向代理它。今天就来聊一聊使用Nginx反向代理的一些能力,Nginx代理能帮助我们实现很多非常有效的API控制功能。这也解释了我为什么一直推荐使用Nginx来代理我们的Spring Boot应用。2. Nginx可以提供哪些能力Nginx已经不用太多的赞美了,它已经得到了业界的广泛认可。我们就聊聊它具体能够实现什么功能。2.1 代理能力这是针对服务器端我们

2020-08-13 22:00:50 318

原创 手撕spring和springmvc父子容器

一、背景Spring和SpringMVC是有父子容器关系的,而且正是因为这个才往往会出现包扫描的问题,我们在此来分析和理解Spring和SpringMVC的父子容器关系并且给出Spring和SpringMVC配置文件中包扫描的官方推荐方式。二、概念理解和知识铺垫在Spring整体框架的核心概念中,容器是核心思想,就是用来管理Bean的整个生命周期的,而在一个项目中,容器不一定只有一个,Spring中可以包括多个容器,而且容器有上下层关系,目前最常见的一种场景就是在一个项目中引入Spring和Sprin

2020-08-13 20:50:43 241

原创 9道多线程并发面试题,你能答对几道?

1. synchronized的实现原理以及锁优化?synchronized的实现原理synchronized作用于「方法」或者「代码块」,保证被修饰的代码在同一时间只能被一个线程访问。synchronized修饰代码块时,JVM采用「monitorenter、monitorexit」两个指令来实现同步synchronized修饰同步方法时,JVM采用「ACC_SYNCHRONIZED」标记符来实现同步monitorenter、monitorexit或者ACC_SYNCHRONIZED都是「基于

2020-08-12 22:16:17 540

原创 你常用的加密算法有哪些?

加密算法我们整体可以分为:可逆加密和不可逆加密,可逆加密又可以分为:对称加密和非对称加密。一、不可逆加密常见的不可逆加密算法有MD5,HMAC,SHA1、SHA-224、SHA-256、SHA-384,和SHA-512,其中SHA-224、SHA-256、SHA-384,和SHA-512我们可以统称为SHA2加密算法,SHA加密算法的安全性要比MD5更高,而SHA2加密算法比SHA1的要高。其中SHA后面的数字表示的是加密后的字符串长度,SHA1默认会产生一个160位的信息摘要。不可逆加密算法最大的特

2020-08-12 20:30:39 1579

原创 TCP三次握手与四次握手是怎么回事?

TCP/IP 协议族在互联网使用的各种协议中最重要和最著名的就是 TCP/IP 两个协议。现在人们经常提到的 TCP/IP 并不一定是单指 TCP 和 IP 这两个具体的协议,而往往是表示互联网所使用的整个 TCP/IP 协议族。互联网协议套件(英语:Internet Protocol Suite,缩写IPS)是一个网络通讯模型,以及一整个网络传输协议家族,为网际网络的基础通讯架构。它常被通称为TCP/IP协议族(英语:TCP/IP Protocol Suite,或TCP/IP Protocols)

2020-08-11 19:21:15 229

原创 你知道java中的注释有多重要吗?

实现注释从 JDK5 开始,Java 开始引入注释功能,从此,注释已成为许多 Java 应用程序和框架的重要组成部分。 在绝大多数情况下,注释将被用于描述语言结构,例如类,字段,方法等,但是在另一种情况下,可以将注释作为可实现的接口。在常规的使用方法中,注释就是注释,接口就是接口。例如,下面的代码为接口 MyInterface 添加了一个注释。@Deprecatedinterface MyInterface {}而接口也只能起到接口的作用,如下面的代码,Person 实现了 IPerson 接

2020-08-10 22:31:45 507

原创 还不会Kafka吗?你真的成OUT慢了

一、定义Apache Kafka 是一款开源的消息系统。可以在系统中起到“肖峰填谷”的作用,也可以用于异构、分布式系统中海量数据的异步化处理。系统包括四个主要API:Producer API允许一个应用推送流记录通过一个或多个Kafka topics ;Consumer API允许一个应用订阅一个或多个topics 并且处理这些流记录;Streams API允许一个应用作为一个流处理者,通过topics 输入或输出流数据 ;Connector API绑定并运行 Producer 或 C

2020-08-10 20:44:17 206

原创 Java面试不通过?RabbitMQ你熟悉了吗?

1.rabbitmq 的使用场景有哪些?①. 跨系统的异步通信,所有需要异步交互的地方都可以使用消息队列。就像我们除了打电话(同步)以外,还需要发短信,发电子邮件(异步)的通讯方式。②. 多个应用之间的耦合,由于消息是平台无关和语言无关的,而且语义上也不再是函数调用,因此更适合作为多个应用之间的松耦合的接口。基于消息队列的耦合,不需要发送方和接收方同时在线。在企业应用集成(EAI)中,文件传输,共享数据库,消息队列,远程过程调用都可以作为集成的方法。③. 应用内的同步变异步,比如订单处理,就可以由前端

2020-08-09 19:54:08 246

原创 基于RateLimiter的分布式限流实现

限速控制1. 令牌桶模型首先定义令牌桶模型,与RateLimiter中类似,包括几个关键属性与关键方法。其中关键属性定义如下,@Datapublic class RedisPermits { /** * 最大存储令牌数 */ private double maxPermits; /** * 当前存储令牌数 */ private double storedPermits; /** * 添加令牌的时间间隔/毫秒

2020-08-06 22:05:08 1280 1

原创 面试官问我MySQL怎么递归查询,我懵逼了

Oracle 递归查询在 Oracle 中是通过 start with connect by prior 语法来实现递归查询的。按照 prior 关键字在子节点端还是父节点端,以及是否包含当前查询的节点,共分为四种情况。prior 在子节点端(向下递归)第一种情况: start with 子节点id = ’ 查询节点 ’ connect by prior 子节点id = 父节点idselect * from dept start with id='1001' connet by prior id=

2020-08-06 20:30:16 314

原创 深拷贝和浅拷贝的区别,你真的弄懂了吗?

一、拷贝的引入(1)引用拷贝创建一个指向对象的引用变量的拷贝。Teacher teacher = new Teacher("Taylor",26);Teacher otherteacher = teacher;System.out.println(teacher);System.out.println(otherteacher);输出结果:blog.Teacher@355da254blog.Teacher@355da254结果分析:由输出结果可以看出,它们的地址值是相同的,那么它们肯

2020-08-05 22:45:45 996

原创 当面试官问我Nginx如何实现负载均衡,我这么答让他眼前一亮

负载均衡介绍在介绍Nginx的负载均衡实现之前,先简单的说下负载均衡的分类,主要分为硬件负载均衡和软件负载均衡,硬件负载均衡是使用专门的软件和硬件相结合的设备,设备商会提供完整成熟的解决方案,比如F5,在数据的稳定性以及安全性来说非常可靠,但是相比软件而言造价会更加昂贵;软件的负载均衡以Nginx这类软件为主,实现的一种消息队列分发机制。简单来说所谓的负载均衡就是把很多请求进行分流,将他们分配到不同的服务器去处理。比如我有3个服务器,分别为A、B、C,然后使用Nginx进行负载均衡,使用轮询策略,此时如

2020-08-05 19:33:31 595

原创 Redis的这些都没有掌握,你还想要拿Offer?

Redis 简介Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库Redis 与 其他 key - value 缓存产品有以下三个特点:Redis 支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis 不仅仅支持简单的 key - value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。Redis 支持数据的备份,即 master - slave 模式的数据备份。Redis

2020-08-04 22:00:38 228

原创 删库不跑路,MySQL数据来恢复

日常工作中,总会有因手抖、写错条件、写错表名、错连生产库造成的误删库表和数据的事情发生。那么,如果连数据都恢复不了,还要什么 DBA。1. 前言数据恢复的前提的做好备份,且开启 binlog,格式为 row。如果没有备份文件,那么删掉库表后就真的删掉了,lsof 中还有记录的话,有可能恢复一部分文件。但若刚好数据库没有打开这个表文件,那就只能跑路了。如果没有开启 binlog,那么恢复数据后,从备份时间点开始的数据都没了。如果 binlog 格式不为 row,那么在误操作数据后就没有办法做闪回操作,只能

2020-08-04 19:32:19 281

原创 你知道你的 IntelliJ IDEA 为什么没有别人的好用吗?

IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也因为这些人性化的设置让我们这些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。推荐设置IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。如上图标注 1 所示,默认就是 First letter 区分大小写的;区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer IntelliJ IDEA 是不会帮我们提示或是代码补充的,但是如果我们输入 StringBuf

2020-08-03 22:04:28 271

原创 一文加深你对Java线程池的印象

前言Java中的线程池是一个很重要的概念,它的应用场景十分广泛,可以被广泛的用于高并发的处理场景。J.U.C提供的线程池:ThreadPoolExecutor类,可以帮助我们管理线程并方便地并行执行任务。因此了解并合理使用线程池非常重要。什么是线程池线程池的本质是对任务和线程的管理,做到了将任务和线程两者解耦。线程池对任务的管理可看作生产者消费者的关系,通过阻塞队列的存与取。阻塞队列缓存待执行的任务,工作线程从阻塞队列中获取任务。线程池对线程的管理,是结合线程池状态,已有线程的状态,核心线程数和最大线

2020-08-03 20:30:33 225

原创 美团、饿了么面试绝命7问,你能接几招

问题1:解释一下对象的创建过程;先看以下代码:public static void main(String[] args){Object o = new Object();}此方法产生以下字节码文件:0 new #5 <java/lang/Object>3 dup4 invokespecial #1 <java/lang/Object.<init>>7 astore_18 return上述字节码中最重要的是1,3,4条,顺序为:1、

2020-08-02 21:59:36 567

空空如也

空空如也

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

TA关注的人

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