- 博客(237)
- 收藏
- 关注
原创 单例模式java
它的核心在于,单例模式可以保证一个类仅创建一个实例,并提供一个访问它的全局访问点。该模式有三个基本要点:一是这个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。由于在一个系统中,一个类经常会被使用在不同的地方,通过单例模式,我们可以避免多次创建多个实例,从而节约系统资源。
2024-05-22 17:23:05 514
原创 线程池核心参数
这跟我们之前通过CPU密集型的计算公式N+1所得出的结果差不多。等待队列大小:1.CPU密集型,将queueCapacity调大一些,减少线程上下文切换时间(因为核心线程池中的任务很快就能执行完,不妨等待一下)2.IO密集型,将queueCapacity调小一些,避免线程池不满但是任务却一直不执行的诡异现象等待队列的设置非常关键maximumPoolSize设置:主要根据系统资源。
2024-05-22 16:04:18 352
原创 查看springboot starter提供的jar包默认版本
3.最终文件为spring-boot-dependencies-版本.pom。2.在spring-boot-dependencies继续点版本号。1.找到parent的版本,ctrl点进去。
2024-01-08 21:19:00 673
原创 application.yml文件是如何被解析的
ConfigurationProperties对应的handler是ConfigurationPropertiesBindingPostProcessor,该类实现了BeanPostProcessor接口,可以在对象初始化之前,对事例中的属性进行设置。spring定义了org.springframework.boot.autoconfigure.web.ServerProperties类来解析,该类使用@ConfigurationProperties注解,代码片段。
2023-07-08 14:44:24 327
原创 Java 8 lambda表达式和函数式编程
Lambda 表达式是 Java 8 中引入的一个新特性,它可以用更加简洁的语法来表示匿名函数。Lambda 表达式可以作为参数传递给方法,也可以作为返回值返回。或者其中,parameters表示 Lambda 表达式的参数列表,可以为空或者包含多个参数,多个参数之间使用逗号分隔。expression表示 Lambda 表达式的执行体,可以是一个表达式或者一个语句块。如果expression是一个表达式,则 Lambda 表达式会自动返回该表达式的值。如果expression是一个语句块,则需要使用。
2023-06-30 16:34:39 296
原创 springboot @Value注解是怎么被处理的
Value注解是Spring Framework中的一个注解,用于将配置文件中的属性值注入到Bean中。它可以用于注入简单类型的属性值、字符串、数组、集合等。在上面的代码中,使用@Value注解将配置文件中名为"my.property"的属性值注入到MyComponent类的属性myProperty中。在上面的代码中,使用@Value注解将配置文件中名为"my.array"的属性值注入到MyComponent类的属性myArray中。
2023-06-16 16:39:19 773
原创 stringbuilder和+拼接字符串区别
在Java中,字符串可以使用或者运算符进行拼接。是可变的,而String是不可变的。使用可以避免在每次拼接字符串时都创建一个新的字符串对象,从而提高性能。可以使用链式调用,比如,这样可以更加简洁地拼接字符串。使用运算符进行字符串拼接时,实际上会创建一个新的字符串对象,将原来的字符串和新的字符串拼接起来。这样会导致内存的浪费,尤其是在循环中进行字符串拼接时,会频繁地创建新的字符串对象,从而影响性能。可以设置容量,从而避免频繁地扩容。在创建对象时,可以指定容量,例如,这样可以避免在拼接字符串时频繁地扩容。
2023-06-15 15:45:18 1491
原创 mongo常用命令
其中,第一个参数{age: 30}表示查询条件,第二个参数{name: 1, age: 1, _id: 0}表示只返回name和age字段,而忽略_id字段。需要注意的是,_id字段默认会返回,如果不需要可以将其设置为0。该命令会返回users集合中的所有文档,但只包含name和age字段,而忽略_id字段。查找符合条件的某字段。
2023-06-15 11:19:08 202
翻译 MANIFEST.MF文件使用说明
JAR 文件支持广泛的功能,包括电子签名、版本控制、包封装等等。什么赋予 JAR 文件这种多样性?答案是 JAR 文件的 MANIFEST 文件。MANIFEST 是一个特殊的文件,可以包含有关打包在 JAR 文件中的文件的信息。通过调整 MANIFEST 包含的这些“元”信息,您可以使 JAR 文件具有各种用途。本课程将解释 MANIFEST 文件的内容,并向您展示如何处理它,包括以下基本功能的示例:1.了解默认 MANIFEST2.修改 MANIFEST 文件3.设置应用程序的入口点。
2023-05-15 22:23:26 3829 1
原创 java泛型备忘
在Java语言早期版本中,集合框架(比如List)中的元素是Object类型的,这就意味着可以向集合中存储任何对象。但是,使用Object类型会因为运行时类型错误和难以维护的代码而带来许多问题。因此,为了提高代码的类型安全性和可维护性,Java引入了泛型。Java泛型的设计目标之一是提高代码的可读性。泛型使用类型参数来替代原来集合框架中使用的Object类型。在这个例子中,names列表中的元素类型是Object。这意味着我们需要在运行时对列表中的元素进行类型转换。
2023-05-05 11:16:28 484
原创 代理模式:代理在RPC、缓存、监控等场景中的应用
前面几节,我们学习了设计模式中的创建型模式。创建型模式主要解决对象的创建问题,封装复杂的创建过程,解耦对象的创建代码和使用代码。其中,单例模式用来创建全局唯一的对象。工厂模式用来创建不同但是相关类型的对象(继承同一父类或者接口的一组子类),由给定的参数来决定创建哪种类型的对象。建造者模式是用来创建复杂对象,可以通过设置不同的可选参数,“定制化”地创建不同的对象。原型模式针对创建成本比较大的对象,利用对已有对象进行复制的方式进行创建,以达到节省创建时间的目的。
2023-03-16 23:55:40 443
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人