Python中GC算法是什么
概念1、分为三点:引用标记-清除/分代回收。Python中每个对象的核心是一个结构PyObject,里面有一个引用计数器。typedef struct_object { int ob_refcnt; struct_typeobject *ob_type;} PyObject; 2、优点简单实时(一旦为零,就不跟你多BB,做掉)3、缺点维护能力强(简单实时,但额外占用了部分资源,虽然逻辑简单,...
2024-01-10java中Lombok有哪些注解
注解举例1、@ToString:实现toString()方法2、@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法3、@Setter:注解在属性上;为属性提供 setting 方法。@Getter:注解在属性上;为属性提供 getting 方法@Log4j :注解在类上;为类提供一个 属性名为log 的 log4...
2024-01-10java动态规划是什么
说明1、动态规划是一种编程原理,可以通过将非常复杂的问题分成较小的子问题来解决。2、这个原则类似于递归,但不同于递归,每个不同的子问题只能解决一次。使用流程确定适合上述问题的递归关系。初始存储器,数组,矩阵的初始值。确保当我们进行递归调用(可以访问子问题的答案)时,总是...
2024-01-10java通配符有哪些
1、通配符,代表未知类型,代表不关心或无法确定实际操作的类型,一般与容器类配合使用。public void testV(List<?> list) {}2、<? extends T>,定义上限,期间只有阅读能力。这种方法表明参数化的类型可能是指定的类型或子类型。//t1要么是Test2,要么是Test2的子类public void testC(Test1<? extends Test2> t1) { ...
2024-01-10java泛型中类型擦除的转换
说明1、泛型值存在于编译阶段,当代码进入虚拟机时,泛型值将被删除。2、这个特征被称为类型删除。当泛型被删除时,他有两种转换方法。第一种是,如果泛型没有设置类型上限,泛型将转换为Object类型,第二种是如果设置了类型上限,泛型将转换为其类型上限。实例//未指定上限public class Test1<T...
2024-01-10java泛型是什么意思?
概念1、泛型是指类型可以作为参数传递,本质上是类型参数。例如,当我们定义一种方法时,我们经常指定将特定类别的物体作为参数传输。2、如果使用泛型,特定的传输对象可以指定为特定的类型,而不需要指定特定的类型。也就是说,我们把某种类型作为参数传输。与Object的区别若使用Object,则...
2024-01-10javaSPI如何定义接口
使用说明服务提供者提供接口的具体实现后,在jar包的META-INF/services目录中制作以接口全限定名命名的文件,内容是实现类的全限定名1、接口实现类的jar包放在主程序的classpath中,主程序通过java.util.ServiceLoder动态装载实现模块,通过扫描META-INF/services目录下的配置文件找到实现类的全限定名,将类加载...
2024-01-10javaSPI的使用场景
概念1、SPI是服务提供界面,JDK内置的服务提供发现机制,是Java提供的第三方实现或扩展的API,可用于启用框架扩展和更换组件。Java SPI的具体约定在classpath下面时,在classpath下的META-INF/services/目录中同时创建以服务界面命名的文件。这个文件是实现这个服务界面的具体实现类别。当外部程序组装该模...
2024-01-10java中volatile的应用场景
在某些情况下,volatile关键词的性能优于synchronized,但需要注意的是,volatile关键词不能取代synchronized关键词,因为volatile关键词不能保证操作的原子化。应用场景1、只能在有限的一些情形下使用volatile变量替代锁。变量不依赖于当前值。2、该变量不包括在其他变量的不变形式中。实例volatile boolean shut...
2024-01-10java中HttpClient的错误处理
说明1、HttpClient异步请求返回CompletableFuture,其自带的exceptionally方法可用于fallback处理。2、HttpClient不像WebClient那样,它不会出现4xx或5xx的状态码异常,需要根据自己的情况进行处理,手动检测状态码异常或返回其他内容。实例 @Test public void testHandleException() throws ExecutionException, InterruptedExc...
2024-01-10