Java 第5页
快速排序最坏复杂度,最坏是什么情况-编程社

快速排序最坏复杂度,最坏是什么情况

快速排序是一种不稳定排序,它的时间复杂度为O(n·lgn),最坏情况为O(n2);空间复杂度为O(n·lgn) 快速排序最坏的情况还得看枢轴(pivot)的选择策略。在快速排序的早期版本中呢,最左面或者是...
清欢渡的头像-编程社钻石会员清欢渡1年前
0375
jdk动态代理和cglib的区别-编程社

jdk动态代理和cglib的区别

JDK代理只能对实现接口的类生成代理;CGLib是针对类实现代理,对指定的类生成一个子类,并覆盖其中的方法,这种通过继承类的实现方式,不能代理final修饰的类。 JDK代理使用的是反射机制实现aop...
清欢渡的头像-编程社钻石会员清欢渡1年前
0548
Java为什么既是编译型也是解释型的?-编程社

Java为什么既是编译型也是解释型的?

首先在Java经过编译之后生成字节码文件,接下来进入JVM中,就有两个步骤编译和解释。 如下图: 编译性: Java源代码首先被编译成字节码,JIT 会把编译过的机器码保存起来,以备下次使用。 解释性...
清欢渡的头像-编程社钻石会员清欢渡1年前
0546
Java为什么是跨平台的?-编程社

Java为什么是跨平台的?

Java 能支持跨平台,主要依赖于 JVM 关系比较大。 JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码...
清欢渡的头像-编程社钻石会员清欢渡1年前
06211
简单使用Swagger-编程社

简单使用Swagger

1、介绍 Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务(https://swagger.io/)。 它的主要作用是: 使得前后端分离开发更加方便,有利于团队协作 接口的文...
清欢渡的头像-编程社钻石会员清欢渡1年前
0210113
Arthas中JVM相关命令详解-编程社

Arthas中JVM相关命令详解

在Java开发中,经常需要对JVM进行诊断和调优。 Arthas是一款功能强大的Java诊断工具,它提供了丰富的命令来帮助用户查看和分析Java应用程序的运行状态。 本文将深入介绍Arthas中常用的JVM相关命...
清欢渡的头像-编程社钻石会员清欢渡1年前
0324128
ConcurrenHashmap怎么实现线程安全?-编程社

ConcurrenHashmap怎么实现线程安全?

JDK 1.7 ConcurrentHashMap 在 JDK 1.7 中它使用的是数组加链表的形式实现的,而数组又分为:大数组 Segment 和小数组 HashEntry。 Segment 是一种可重入锁(ReentrantLock),在 ConcurrentHas...