Java

SparkSQL 自定义标准函数

本文的前提条件: SparkSQL in Java 参考地址: Scalar User Defined Functions (UDFs) 完整代码

[刷题班] LeetCode80. 删除有序数组中的重复项II

题目描述 思路:快慢指针 slow指针指向已经处理元素的下一个位置 因为数组有序,如果nums[fast] == nums[slow - 2],那么nums[fast] 肯定等于nums[slow - 1],那么此时这个数就出现了三次。此时slow保持不变,fast继续遍历。 关键:nums[fast] != nums[slow - 2] 方法一:

JUC并发编程 用CompletableFuture 创建异步任务

1 CompletableFuture对Future的改进 1.1 CompletableFuture为什么会出现 get()方法在Future计算完成之前会一直处在阻塞状态下,阻塞的方式和异步编程的设计理念相违背。 isDene()方法容易耗费cpu资源(cpu空转), 对于真正的异步处理我们希望是可以通过传入回调函数,在Future结束时自动调用该回调函数,这样,我们就不用等待结果 1.2

Day49 创建对象内存分析

创建对象内存分析 Pet.java Application.java 结果是: 内存分析流程图

redis工具类封装

封装Redis工具类 方法1:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置TTL过期时间 方法2:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置逻辑过期时间,用于处理缓存击穿问题 方法3:根据指定的key查询缓存,并反序列化为指定类型,利用缓存空值的方式解决缓存穿透问题 方法4:根据指定的key查询缓存,并反

JUC并发编程 CompletableFuture 常用方法 (一)

1 get() 用get()方法来获取线程计算结果的返回值 1 从上述程序中我们可以看出,当我们使用get()方法获取线程的计算结果,必须要等到线程计算完毕,和FutureTask一样,还是阻塞了。 2 get()方法容易阻塞,一般建议放在程序后面,一旦调用不见不散,非要等到结果才会离开,不管你是否计算完成,容易程序堵塞。 2 get(long timeout,TimeUnit uni

JUC并发编程 CompletableFuture 业务代码实战

1 需求 电商网站比价需求分析: 1.1 需求说明: a. 同一款产品,同时搜索出同款产品在各大电商平台的售价 b. 同一款产品,同时搜索出本产品在同一个电商平台下,各个入驻卖家售价是多少 1.2 输出返回: a. 出来结果希望是同款产品的在不同地方的价格清单列表,返回一个List 例如:《Mysql》 in jd price is 88.05 《Mysql》 in taobao pr

Feign源码解析5:loadbalancer

背景 经过前面几篇的理解,我们大致梳理清楚了FeignClient的创建、Feign调用的大体流程,本篇会深入Feign调用中涉及的另一个重要组件:loadbalancer,了解loadbalancer在feign调用中的职责,再追溯其是如何创建的。 在讲之前,我先提个重点,本文章的前期是引用了nacos依赖且开启了如下选项,启用了nacos的Loadbalancer: nacos的Loadba

使用腾讯AIDesign的设计LOGO

      腾讯AIDesign免费开放全部功能,支持logo的智能设计、调优、VI生成、下载。推广期间,每个用户每日可免费下载10款logo及其衍生品,可下载内容包括:高清无水印的彩色logo图片、标准墨稿、标准反色稿、名片设计稿。      我们抱着试试,输入chinacreator字符,生成一

SparkSQL 自定义聚合函数[弱类型]

本文的前提条件: SparkSQL in Java 代码如下 1.自定义聚合函数 2.使用

JUC并发编程 CompletableFuture 常用方法(二)

1 获得结果和触发计算 1.1 获取结果 1.2 主动触发计算 1.3 案例实操 前面文章已经介绍过get() 和 get(long timeout,TimeUnit unit) 使用方法了,这里就直接略过。 1.3.1 join() 和get一样的作用,只是不需要抛出异常 1.3.2 getNow(T valuelfAbsent) 1.3.3

docker 常用命令大全

  docker 常用命令大全 个人理解 docker中的镜像 就像是咱们java 中的Class ,而容器呢 是基于这个镜像构建出的实例 类似于咱java 中 根据Class构造出的一个个实例对象 ,本人是初学者 理解有误还请见谅,并麻烦您说说您的看法让彼此相互学习…   按我理解 简言之 docker 镜像: ----java中 class docker容器 :

Docker完整教程

一、安装Docker ♦️ 1.下载关于Docker的依赖环境 在Xterm中输入以下代码安装依赖环境 回车 yum -y install yum-utils device-mapper-persistent-datalvm2 使用yum工具下载 yum是软件包管理工具 通过 执行 man yum 可以查看yum的帮助信息 ♦️2.设置一下下载Docker的镜像源 依赖环境下载完毕以后,设

[刷题班] LeetCode344. 反转字符串

题目描述 思路:左右指针 方法一:

[刷题班] LeetCode27. 移除元素

题目描述 思路:快慢指针 slow指针:其前面都是数值不等于val的元素。 fast指针:用于遍历。 方法一:

java后端设置Cookie和响应Cookie

@Slf4j @RestController @CrossOrigin public class LoginController { @GetMapping("/c1") public Result cookie1(HttpServletResponse response){ response.addCookie(new Cookie("Login_user","z

Compileflow工作流引擎使用讲解

目录1 Compileflow1.1 简介1.2 特点1.3 Compileflow插件下载1.4 main方法调用1.4.1 pom.xml1.4.2 新建bpm文件1.4.3 各个节点绑定方法1.4.4 测试方法1.5 bpm各个标签说明1.5.1 BPM根节点1.5.2 全局变量1.5.3 开始节点: start1.5.4 结束节点: end1.5.5 自动节点: autoTask--流程节

[刷题班] LeetCode125. 验证回文串

题目描述 思路:左右指针 只考虑数字和字母 字母的话需要全部转化为小写 然后使用左右指针判断是否是回文串 方法一: 时间复杂度:O(n)、空间复杂度:O(n) 方法二: 时间复杂度:O(n)、空间复杂度:O(1) Character.isLetterOrDigit():判断是否是字母或者数字 Character.toLowerCase():转小写 Character.toLowe

[刷题班] LeetCode11. 盛最多水的容器

题目描述 思路:左右指针 方法一:暴力,超出时间限制 模拟所有情况,记录最大的体积值。 体积 = Math.min(height[i], height[j]) * (j - i) 时间复杂度O(n2) 方法二:双指针 思路: 初始化:双指针left和right分别位于水槽左右两端; 循环收窄: 直至双指针相遇时跳出; 更新面积最大值:res; 选定两板高度中的短板,向中间收窄一格;

【SpringCloud】Spring Cloud Alibaba 及 Nacos开机启动

  前提:已经安装好nacos应用   1、在 /lib/systemd/system  目录底下,新建nacos.service文件   可使用以下命令:   里面的配置信息,如下:    2、然后执行如下命令   3、然后执行如下命令,使nacos开机自启生效   4、执行nacos启动命令   5、期间遇到的问题,启动报错,查看nacos运行

利用Session进行登录校验

@Slf4j @RestController @CrossOrigin public class LoginController { @GetMapping("/c1") public Result cookie1(HttpSession session){ session.setAttribute("Login","bmlg"); return

[刷题班] LeetCode1480. 一维数组的动态和

题目描述 思路:前缀和 前缀和数组(prefixSum)的构造 方法一:

Blazor学习之旅:文章目录索引

1 Blazor学习路径 微软学习社区(Microsoft Learn)早在两三年前就推出了一门学习路径《使用Blazor构建Web应用程序》,我们可以学到如何通过Blazor Web应用框架构建我们的第一个Web应用程序。 我也是从2023年开始系统学习这个学习路径并形成了一个14篇推文组成的小系列文章。下面,我将本系列的学习总结成目录索引,希望对你有帮助。 2 文章目录索引 快速了解Blaz

[刷题技巧] 前缀和相关知识点汇总

一、前缀和的作用 前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。 二、前缀和的思路 将原始数组进行预处理,将来需要查询数据的时候,只需要查询预处理的前缀和数组的某些值即可。 前缀和的求解是【动态规划】。 三、前缀和的定义 四、前缀和数组的构造 递推公式: 子数组[i ... j]的和:nums[i ... j ] = preSum[j + 1] - preSum[i] 如果区间

ambda表达式

01-lambda表达式举例与语法 02-方法引用 03-构造器引用、数组引用  

Stream API

01-Stream API的使用 View Code  

java于C配合

    虽然没有完成全部过程,最后卡在调用时报错,但还是记录下过程: 1、创建java类,声明native方法 2、编译java类,会有.class文件生成 3、生成jni头文件,可以通过maven直接打包生成,增加红色字体的配置,会在include目录下生成GPUMonitor.h文件。用javah(老sdk)或java(新sdk)没有成功。 4、

Lottery lec10-cnblog

Lottery lec10 lec10 主要实现的是一个路由中间件,用来选择对应的分库和分表。 下面主要介绍在阅读代码中遇到的基础知识点和业务相关内容。 @ConditionalOnMissingBean注解 它是修饰bean的一个注解,主要实现的是,当你的bean被注册之后,如果而注册相同类型的bean,就不会成功,它会保证你的bean只有一个,即你的实例只有一个,当你注册多个相同的bean时,

[刷题技巧] LeetCode238. 除自身以外数组的乘积

题目描述 思路:前缀/后缀乘积数组 构造除自身以外数组的左边前缀乘积 构造除自身以外数组的右边后缀乘积 然后对应位置相乘 方法一: 时间复杂度:O(n) 额外空间复杂度:O(n) 方法二:优化方法一 在方法一的基础上进行优化: 将res用于记录left数组 然后用一个变量维护right数组 时间复杂度:O(n) 额外空间复杂度:O(1)

Apollo之原理和使用讲解

目录1 Apollo1.1 简介1.1.1 背景1.1.2 简介1.1.3 特点1.2 基础模型1.3 Apollo 四个维度1.3.1 application1.3.2 environment1.3.3 cluster1.3.4 namespace1.4 本地缓存1.5 客户端设计1.5.1 客服端拉取原理1.5.2 配置更新推送实现1.6 总体设计1.7 可用性考虑2 操作使用2.1 配置Ap

<<  <  636  637  638  639  640  641  642  643  644  645  646  >  >>