10 2023 档案
摘要:Spring Boot应用程序可以使用Dockerfiles容器化,或者使用Cloud Native Buildpacks来创建优化的docker兼容的容器映像,您可以在任何地方运行。 1. Efficient Container Images 很容易将Spring Boot fat jar打包为d
阅读全文
摘要:先打开idea,或者用springboot官网、阿里云那边都行 然后点击新建项目,spring Initializr,我们都知道,springboot是支持kotlin的,除非你是kotlin1.3之前的。可能你没有这个东西,因为社区版是没有的,要自己装一个插件 然后点击next下一步。(值得提一句
阅读全文
摘要:注:本人参考了openjdk官网,由于openjdk是开源的,所以不存在侵权行为,本章只为学习,我觉得没有什么比官网更具有话语权 1、jdk10的var的类型推测:就是这种处理将仅限于具有初始值设定项的局部变量、增强型 -循环中的索引以及在传统 -循环中声明的局部变量;它不适用于方法形式、构造函数形
阅读全文
摘要:本章可以说是完结,下一章可能讲kotlin+springboot 本章从第九章开始: 9. Creating Your Own Auto-configuration 如果您在开发共享库的公司工作,或者您在开发开源或商业库,那么您可能希望开发自己的自动配置。自动配置类可以捆绑在外部jar中,并且仍然由
阅读全文
摘要:本章从第7章开始: 7. Task Execution and Scheduling 在上下文中没有Executor bean的情况下,Spring Boot会自动配置一个ThreadPoolTaskExecutor,它具有合理的默认值,可以自动关联到异步任务执行(@EnableAsync)和Spr
阅读全文
摘要:本章从第6章开始 6. JSON Spring Boot提供了三个JSON映射库的集成: Gson Jackson JSON-B Jackson是首选的和默认的库。 6.1. Jackson 为Jackson提供了自动配置,Jackson是spring-boot-starter-json的一部分。当
阅读全文
摘要:本章从第4章开始 4. Logging Spring Boot使用Commons Logging进行所有内部日志记录,但保留底层日志实现开放。为Java Util Logging、Log4J2和Logback提供了默认配置。在每种情况下,记录器都预先配置为使用控制台输出和可选的文件输出。 默认情况下
阅读全文
摘要:从第三章开始 3. Profiles Spring profile提供了一种方法来隔离应用程序配置的各个部分,并使其仅在某些环境中可用。任何@Component、@Configuration或@ConfigurationProperties都可以用@Profile标记来限制加载时间,如下例所示: i
阅读全文
摘要:上集说到:2. 3,咱们从2.3集开始 2. Externalized Configuration 2.3. External Application Properties Spring Boot会自动找到并加载应用程序。属性和应用程序。当应用程序启动时,从以下位置获取Yaml文件: 从类路径 类路
阅读全文
摘要:1. SpringApplication SpringApplication类提供了一种方便的方式来引导从main()方法启动的Spring应用程序。在很多情况下,你可以委托给静态的SpringApplication.run方法,如下面的例子所示: import org.springframewor
阅读全文
摘要:一、springboot(如果没有配置)默认使用的是jvm缓存 1、Spring框架支持向应用程序透明地添加缓存。抽象的核心是将缓存应用于方法,从而根据缓存中可用的信息减少执行次数。缓存逻辑是透明地应用的,对调用者没有任何干扰。只要使用@EnableCaching注释启用了缓存支持,Spring B
阅读全文
摘要:第一步:在mongodb的官网里面创建云服务器 点进去 这是免费的,由于是一个项目只可以创建一个,这里我已经创建好了 用本地的mongodb服务也是可以的 第二步:点击connect,下载连接mongodb的软件:MongoDBCompass 第三步:创建springboot项目 3.1 、pom依
阅读全文
摘要:比如说这道题:我向前推进 从0到11的最短路径 按照图可以分5段,v1 是第一阶段 0,v2是第二段 有1,2,3,4 从0开始,路径为0,所以m(1,0)=0; 第二阶段的1点:m(2,1)=9, m(2,2)=7,m(2,3)=3,m(2,4)=2 第三段:第5点有两条路径,选最短的m(3,5)
阅读全文
摘要:第一步:现在邮箱里面开启smtp服务 这里用163邮箱举例,配置一下授权密码,这个要提前记住 第二步:引入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmln
阅读全文
摘要:1、jdk21: 引入一个 API,通过该 API,Java 程序可以与 Java 运行时之外的代码和数据进行互操作。通过有效地调用外部函数(即JVM外部的代码)和安全地访问外部内存(即不由JVM管理的内存),API使Java程序能够调用本机库并处理本机数据,而不会像JNI那样脆弱和危险。这是一个预
阅读全文
摘要:jshell 在我眼里,只能作为学校教学的一个玩具,事实上官方也做了解释,以下是官方的解释: 在学习编程语言时,即时反馈很重要,并且 它的 API。学校引用远离Java的首要原因 教学语言是其他语言有一个“REPL”并且要低得多 禁止初始程序。读取-评估-打印循环 (REPL) 是一个交互式编程工具
阅读全文
摘要:JDK 9是Java开发语言的一个重大版本。其中最令人兴奋的新特性之一是模块化系统。模块化系统提出了一种新的代码组织方式,它可以帮助开发人员更好地组织和管理代码,从而使Java应用程序更加可维护、可扩展和安全。 Java 9的模块化系统基于模块概念,即Java开发人员现在可以将他们的代码组织成一个个
阅读全文
摘要:我们都知道在jdk11之前都在用okhttp或者org.apache.httpcomponents 其实早在jdk9的时候这个方案就在孵化中 上面的截图来自openjdk的官网,注:openjdk是个开源项目,不存在侵权现象 这是openjdk的官网:JEP 110: HTTP/2 Client (
阅读全文
摘要:1、依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x
阅读全文
摘要:1、raft算法是什么? 答:共识算法 2、raft算法有什么用? 答:维持不同机器的强一致性 3、raft算法通过什么方式来维持不同机器的强一致性? 答:传递log日志 ,按照官方的说法日志里面包含命令,每台机器执行相同的命令,结果应该是一样的 4、raft算法如何传递日志? 答:Raft算法通过
阅读全文
摘要:这里我就简单的聊几句,如何用vertx web来搞一个web项目的 1、首先先引入几个依赖,这里我就用maven了,这个是kotlin+vertx web <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apac
阅读全文
摘要:Beyond the event bus 一、章节覆盖: 如何在事件总线之上公开服务 verticles和事件总线服务的异步测试 动态代理: MyService 接口 package porxy.test; import io.vertx.codegen.annotations.ProxyGen;
阅读全文
摘要:这章我们讲回调,英文名:Beyond callbacks 一、章节覆盖: 回调函数及其限制,如网关/边缘服务示例所示 未来和承诺——链接异步操作的简单模型 响应式扩展——一个更强大的模型,特别适合组合异步事件流 Kotlin协程——对异步代码执行流的语言级支持 二、Vert.x中的回调函数是一种非阻
阅读全文
摘要:一、异步数据和事件流 1.为什么流是事件之上的一个有用的抽象? 2.什么是背压,为什么它是异步生产者和消费者的基础? 3.如何从流解析协议数据? 1. 答:因为它能够将连续的事件序列化并按照顺序进行处理。通过将事件视为一个连续的流,我们可以更方便地处理和分析事件数据,并能够实时地对事件进行处理和响应
阅读全文
摘要:一、event bus是什么 各个verticle的通信 二、point-to-point, request-reply, publish/subscribe 通过 the event bus 例题一:点对点 package eventBus; import io.vertx.core.Abstra
阅读全文
摘要:一、什么是verticle verticle是vertx的基本单元,其作用就是封装用于处理事件的技术功能单元 (如果不能理解,到后面的实战就可以理解了) 二、写一个verticle 1. 引入依赖(这里用的是gradle,不会吧,不会吧,都学这个了还有人不会gradle 0.0) plugins {
阅读全文
摘要:一. vertx是什么? 答:lib工具包 二. 为什么要使用vertx 答: 异步和非阻塞:Vert.x 采用了事件驱动和非阻塞的编程模型,可以处理大量并发请求而不会阻塞线程,提供更好的响应性能和吞吐量。 多语言支持:Vert.x 支持多种语言,包括 Java、Kotlin、Scala、Groov
阅读全文