java中kotlin函数如何使用
1、说明(1)Kotlin提供了扩展函数的语言功能,借助于该功能,我们可以为任何对象添加定制方法。(2)编译后,使用javap查看生成SayHelloKt.class文件的字节码。2、实例//SayHello.ktpack...
1、说明(1)Kotlin提供了扩展函数的语言功能,借助于该功能,我们可以为任何对象添加定制方法。(2)编译后,使用javap查看生成SayHelloKt.class文件的字节码。2、实例//SayHello.ktpack...
1、什么是集合框架?在java中,有一套现成的数据结构,例如顺序表,链表,队列,栈,优先级队列,哈希表等,被封装成了相应的接口/类,供程序员直接使用,只需要创建相关的对象即可以使用,而不需要...
自定义Starter命名规则注意artifactId的命名规则,Spring官方Starter通常命名为spring-boot-starter-{name}如 spring-boot-starter-web, Spring官方建议非官方Starter命名应遵...
1.添加pom依赖首先在原来的pom文件基础上加上这两个配置<!-- tomcat 的支持.--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spr...
问:请谈谈你对volatile的理解?
答:volatile是Java虚拟机提供的轻量级的同步机制,它有3个特性:
1)保证可见性
2)不保证原子性
3)禁止指令重排刚学完java基础,如果有人问你什么是volatile?它...
前言根据源码来分析一下它的基本实现流程。This class is usually preferable to AtomicLong when multiple threads update a common sum that is used for purposes such...
下表中给出常见的菜单相关组件: 菜单组件名称 功能 MenuBar 菜单条 , 菜单的容器 。 Menu 菜单组件 , 菜单项的容器 。 它也是Menultem的子类 ,所以可作...
1 方法 ApplicationListener< ContextRefreshedEvent> 不推荐 ApplicationListener 推荐 CommandLineRunner 推荐方法1:spring的ApplicationListener< ContextRefreshedE...
0. 开发环境IDE:IntelliJ IDEA 2017.1 x64jdk:1.8.0_91Spring Boot:2.1.1.RELEASE1. 简单定时任务对于一些比较简单的定时任务,比如固定时间间隔执行固定方法,在标准Java方法上注...
1.基本介绍SpringBoot 支持的 webServer: Tomcat, Jetty, or UndertowSpringBoot 应用启动是 Web 应用时。web 场景包-导入 tomcat支持对 Tomcat(也可以是 Jetty 、Undertow...
1.引入依赖,版本3.0.0只引入一个即可<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <...
一、什么是SQL注入SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员...
第一步:后端简单建个SpringBoot项目,提供一个 helloWorld接口;版本选用 2.2.6.RELEASEpackage com.java1234.controller;import org.springframework.web.bind.annotation.GetM...
Hibernate的一对多和多对多Hibernate是一种出色的ORM框架,简化了Java应用程序与关系型数据库之间的数据访问。在Hibernate中,复杂的数据模型可以使用一对多和多对多关系来处理...
字符串和输入流的相互转换在读取网络资源时经常要用到字符串和输入流之间的相互转化,找到了些方法,记录一下。将字符串转化为输入流,代码如下:public static InputStream getStr...
HTTPS 配置由于HTTPS具有良好的安全性,在开发中得到了越来越广泛的应用,像微信公众号、小程序等的开发都要使用HTTPS来完成。对于个人开发者而言,一个HTTPS 证书的价格还是有点...
目录为什么要给图片添加水印绘制文字水印动态计算字符串的宽度自适应文字水印位置绘制图片水印提升图片处理速度为什么要给图片添加水印为图片添加水印的主要作用是保护图片...
目录前言1. 原型模式2. 建造者模式3. 工厂模式4. 单例模式5. 总结前言本文针对一些基础的知识进行一下总结。创建型模式相对其它两种模式也比较简单,用的地方也会更多,理解起...
目录引言Build Time vs Run TimeNative Image Heap静态分析引言native image是GraalVM中提供的一个命令,可以把字节码文件或Jar包编译成为一个二进制可执行文件,同时它自己也...
目录@ConditionalOnClass的底层源码实现ConditionOutcome对象ClassNameFilter.MISSING判断某类是否不存在@ConditionalOnClass的底层源码实现在SpringBoot中,支持了很多种条...
首先,我们想要知道一个接口有哪些功能,就必须要看这个接口的源代码,在idea中,选中这个接口Ctrl+F12,来查看这个接口里面有哪些方法:表面上来看,功能其实很少,查看源码及其方法、功能...
第一步,我们先来看这个接口的内部结构,了解别人的内部,知己知彼,百战不殆:这个接口的扩展功能主要体现在它继承的四个接口上:MessageSource:国际化功能ResourcePatternResolver: 资...
目录快速使用 获取异步方法返回值 注意事项 本文带你快速了解@Async注解的用法,包括异步方法无返回值、有返回值,最后总结了@Async注解失效的几个坑。在 SpringBoot 应用中,经...
一、旧世界的Web后端(1)刚开始,web后端基本都是php写的,脚本化的语言,嵌入到HTML里面很方便。(2)然后Java开始发力,JSP+Servlet成为主流。(3)发现Java又臭又长,开始把一些常用的思路封...
目录介绍作用保证变量的可见性:禁止指令重排:不能保证原子性可见性、有序性、原子性不会导致线程阻塞使用场景实现原理happens-before局限性和 synchronized 关键字比较和 Ato...
目录概述Path 路径Files 文件FileSystems 文件系统WatchService 文件监控PathMatcher 文件匹配读文件内容小文件大文件总结概述在早期的 Java 版本中,文件 IO 操作功能一直相...
目录起源实现拦截器接口InnerInterceptor修改sql常用的工具类起源最近公司要做多租户,Mybatis-Plus的多租户插件很好用,但是有一个场景是:字典表或者某些数据表,一些数据需要在...
目录什么是上下文切换上下文切换代码测试引起线程上下文切换的原因如何减少上下文切换什么是上下文切换即使是单核CPU也支持多线程执行代码,CPU通过给每个线程分配CPU时间片...
目录前言Consumer整体介绍Consumer实现类Consumer消费类型DefaultMQPushConsumer主要APIDefaultMQPushConsumer关键属性Consumer消费模式Consumer消费策略Consumer使用Defau...
目录一. Object简介1. 简介二. 常用方法1. clone()方法1.1 clone方法作用1.2 clone源码分析1.3 Java的浅克隆与深克隆2. hashCode()方法2.1 简介2.2 hash值2.3 案例3. equal...
目录前言StoreCheckPoint介绍StoreCheckPoint时间戳更新时机StoreCheckPoint刷盘源码消息加载源码分析CommitLog加载ConsumeQueue加载IndexFile加载ConsumeQueue与IndexFile...
目录1.MQ概述1.1 RocketMQ简介1.2 MQ用途1.3 常见MQ产品2.RocketMQ 基本概念2.1 消息2.2 主题2.3 标签2.4 队列2.5 Producer2.6 Consumer2.7 NameServer2.8 Broker2.9 Rocke...
目录前言刷盘服务源码分析CommitRealTimeService刷盘源码分析FlushRealTimeService刷盘源码分析GroupCommitService刷盘源码分析总结前言上篇文章我们介绍了消息刷盘的四种...
目录前言角色介绍官方例子Quartz如何分布式?跟着官方例子看源码Trigger的处理结合起来总结前言前几篇介绍了单体架构的定时任务解决方式,但是现代软件架构由于业务复杂度高,业...
目录概述从 List 转换为 Set使用原生 Java 代码使用 Guava使用 Apache Commons Collections从 Set 转换为 Array使用原生 Java使用 Guava结论概述在本文章中,我们对如何在 Ja...
HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。HashSet 实现了 Set 接口。HashSet 允许有 null 值。HashSet 是无序的,即不会记录插入的顺序。HashSet 不是线...
Java迭代器(Iterator)是 Java 集合框架中的一种机制,它提供了一种在不暴露集合内部实现的情况下遍历集合元素的方法。Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的...
目录一段看似平平无奇的代码报了异常将classroom是否为null单独拿出来判断一段看似平平无奇的代码Classroom classroom = this.getOne( Wrappers.<Classroom>lambdaQuery()...
目录介绍语法介绍try-with-resources是Java中的环绕语句之一,旨在减轻开发人员释放try块中使用的资源的义务。它最初在Java 7中引入,背后的全部想法是,开发人员无需担心仅在一...
目录前言Broker消息清理机制简介Broker与消息清理相关配置消息清理机制源码分析CommitLog清理源码分析ConsumeQueue和IndexFile清理源码分析ConsumeQueue文件清理IndexFile...
目录一. 内部类简介1. 概念2. 优点3. 分类4. 内部类的特点5. Java类的创建要求二. 成员内部类1. 概念2. 特点3. 语法4. 案例4.1 定义成员内部类4.2 定义测试类5. 访问方式小...
目录一、问题二、优化建议三、Repository模式一、问题最近在做代码重构,代码工程采用了Controller/Service/Dao分层架构,Dao层使用了Mybatis-Plus框架。
在查看Service层时发...
目录起源实现拦截器接口InnerInterceptor修改sql常用的工具类起源最近公司要做多租户,Mybatis-Plus的多租户插件很好用,但是有一个场景是:字典表或者某些数据表,一些数据需要在...
目录Object 类提供的方法方法实例clone() 方法equals() 方法finalize() 方法getClass() 方法hashCode() 方法wait() 方法notify() 与 notifyAll() 方法toString() 方法Java...
目录一. instanceOf关键字1. 简介2. 语法3. 案例二. 结语一. instanceOf关键字1. 简介在上面学习类型转换时,跟大家讲过,在向下转型时,如果两个类型之间没有直接或间接的继承关...
目录项目结构:项目环境:问题:maven依赖原则:复习springcloud-alibaba的时候,在自己本地搭建好了环境并做了个测试没有发现异常,第二天在公司克隆代码下来之后服务器启动失败,在此记...
目录每台计算机中的配置具体步骤配置原型部署集群HDFS 集群是建立在 Hadoop 集群之上的,由于 HDFS 是 Hadoop 最主要的守护进程,所以 HDFS 集群的配置过程是 Hadoop 集群配置...
目录线程组概念理解线程组实践线程组和线程池的区别线程组概念理解在java的多线程处理中有线程组ThreadGroup的概念,ThreadGroup是为了方便线程管理出现了,可以统一设定线程组...
目录一. String字符串简介1. 概述2. 与字符的区别3. 定义方式3.1 构造方法定义3.2 直接赋值定义二. 字符串实用方法1. 字符串的比较方法2. 判断字符串是否为空3. 判断相关的...
目录一. Integer底层原理探究1. int和Integer的区别2. 被final修饰的Integer类3. IntegerCache缓冲区4. 几个核心实验4.1 比较new出的两个Integer对象4.2 Integer对象和int...