Java
BFPRT 算法学习
今天看了MIT 算法导论的视频课程,学习top K问题的时候,按leetcode惯例,会用大顶堆来解决,但是现在学到的BFPRT算法,记录一下 PS,此算法的最坏结果是O(n)PS,好厉害
项目实战-前后端分离博客系统
项目实战-前后端分离博客系统 1.项目介绍 纯后端讲解 完整的前台后台代码编写 主流技术栈(SpringBoot,MybatisPlus,SpringSecurity,EasyExcel,Swagger2,Redis,Echarts,Vue,ElementUI....) 完善细致的需求分析 由易到难循序渐进 2.创建工程 我们有前台和后台两套系统。两套系统的前端工程都已经提供好了。所以我们
【报名开启】AIGC 交响乐奏起!亚马逊云科技开发者社区嘉年华 2023 上海站报名通道开启!
在云原生时代下,云原生与 AI ,相互赋能,共同成就,AI 应用的开发与落地,云原生架构的实现与迁移,给数据准备、算法开发、模型训练、模型推理以及围绕 AI 的代码和资源的共享带来惊人的飞跃!让我们相聚亚马逊云科技上海 Community Day 社区嘉年华活动现场,一起来讨论和欣赏 AIGC 和云原生的时代交响乐! 本期文章将开启 Community Day 上海站的活动报名,并继
JavaSE--JDK、JRE、JVM三者之间的关系
JDK:Java开发工具箱JRE:Java运行环境JVM:java虚拟机JDK包括JRE,JRE包括JVM。jvm是不能独立安装的,但是jre和jdk是可以单独安装的安装jdk后jre自动就安装了安装jre后jvm就自动安装了 问题:在客户进行项目部署时,把项目跑起来,需要安装jdk么?只需要安装jre就行,jre体积小,安装便捷 Java体系的技术被划分为三大块:
Spring中间件之Redis基础
复习目标 掌握Redis的数据类型 掌握Redis的常用命令 掌握Spring Data Redis操作Redis的常用方法 Resis命令前瞻 string hash list set zset 增加 set key value判定性添加:setnx key value hset key field value 左压入:lpush key value右压入:rpu
代码评审,揭示黑盒背后的真相
一、引言 黑盒测试犹如案发现场,只能根据表象推断事件经过。 代码评审即深入调查,挖掘蛛丝马迹的线索,揭示背后的真相。 "They think I am hiding in the shadows, but I am the shadows." 二、黑盒测试与白盒测试的区别 黑盒测试存在一些局限性: 可能无法发现与系统实现相关的问题 可能无法覆盖所有的测试场景 测试效率较低,比如准备
JavaSE--jdk的安装以及环境变量相关
一、jdk的安装 在oracle官网安装javase即可,有exe和zip两种 jdk的bin目录下有javac.exe负责编译,java.exe负责运行 二、有关环境变量的配置 1、配置环境变量path的步骤 桌面计算机右击》属性》高级系统设置》环境变量 path环境变量当中都是路径,路径与路径之间必须用英文半角分开 2、让javac.exe可以用怎么配置 把javac.exe的安装目录配置到p
认识o(logn)排序
mid=(L+R)/2 可能会溢出;改成 mid=L+(L-R)/2;提升效率,改成mid=L+(R-L)>>1。 mid=(L+R)/2 可能会溢出;改成 mid=L+(L-R)/2;提升效率,改成mid=L+(R-L)>>1。 其中:a代表子规模执行次数,b代表子规模大小,d代表除了子规模调用其他的操作的时间复杂度。 若logba<d ,时间复
Oracle表碎片分析
在Oracle运维的过程中,会经常遇到说表碎片严重的问题。表碎片严重会导致出现数据库的性能问题,在sql访问数据的时候需要消耗更多的资源,因此常常出现在数据库的优化中。想要获取表碎片的情况,计算方式和处理方式很重要。 1.计算表的碎片情况 查看某个用户下表的碎片情况,查询信息的准确性依赖于统计信息的准确性,并不能反映表的碎片率。 使用脚本时替换上面注释掉的条件 输出项说明如下: 如果
《摆与混》第三十章--8月3日--周三
明天去考科目一,今天加紧复习。 1.今天做了什么:今天8点起床。洗漱后,下楼吃了个早饭。早上看望一下弟弟,然后小学一会儿。中午摆烂时间,下午复习科目一,,晚上去看弟弟,他状态还可以,过几天估计可以出院。 2.解决了什么问题:PTA继续冲击,复习科目一。 3.明天干什么:继续Java学习,PTA收尾;
a-table 组件 让选中的表格中的某一项高亮显示
table 组件 让选中的一项高亮显示 <template> <a-table ref="clientLeve_table" bordered size="middle" rowKey="id" :columns="clientLeve_columns" :dataSource="clientL
JavaSE--第一个java程序的解释说明以及注释
一、注释 共有三种注释,java 程序运行时会过滤掉注释,也就是说注释是不会运行的 1、单行注释 // 两个斜杠 // 在这里面随便写 2、多行注释 /* 多行注释 可以在这个里面写多行 。。。。。 */ 3、javadoc注释 自动被javadoc.exe命令解析提取并生成到帮助文档中 /** * 类的注释信息 * @version 1.0 * @author hyy * ... *
Java中properties文件中的中文乱码问题
问题代码: 期望输出应该和上面文件的内容一样,结果中文内容输出的是一堆乱码: 1 å¼ æ å¿=minmin 2 å¨è·è¥=miejue 3 èµµæ=wuji 4 admin=123456 可如果将上面 properties.load(new FileInputStream("
SPSS将出生年、月、日字符串组合转换为日期格式
上面数据中的变量ba002_1、ba002_2、ba002_3分别对应出生年、月、日,下面将这三个变量转换为日期类型,步骤如下: 1. 点击转换,然后选择日期和时间向导 2.选择使用包含部分日期或时间内容的变量创建时间/日期变量,然后点击下一步 3. 选择出生年月日分别对应的变量 然后输出变量为birthday,输出日期格式为yyyy
设计模式原则之:开闭原则原则
类似于做一个多支付的业务,提供一个service来进行支付、查询操作,具体的实现类如:WeChat、AliPay等实现service服务,来进行服务的调用,如果后续增加Paypal支付,则由提供方实现service即可使用方无需动代码 引发开闭原则的实例 /** * @description: 引发开闭原则的示例 * @author: abel.he * @date: 202
spring-mvc系列:详解@RequestMapping注解(value、method、params、header等)
目录一、@RequestMapping注解的功能二、@RequestMapping注解的位置三、@RequestMapping注解的value属性四、@RequestMapping注解的method属性五、@RequestMapping注解的params属性六、@RequestMapping注解的header属性七、SpringMVC支持ant分格的路径八、SpringMVC支持路径中的占位符 一
ChatGPT 问答00005 Spring的ApplicationEventPublisher的使用案例
下面是一个使用ApplicationEventPublisher的简单示例,演示了如何在Spring Boot中使用该接口发布和监听事件: 首先,定义一个自定义的事件类CustomEvent,用于封装事件的数据: 然后,创建一个事件监听器CustomEventListener,用于处理CustomEvent事件: 接下来,在某个服务类中注入ApplicationEventPublisher接口
ChatGPT 问答00006 在Java开源社区中,推荐30个好用的支持JDK8的事件驱动库,按受欢迎程度排序并简介
以下是Java开源社区中30个受欢迎且支持JDK 8的事件驱动库,并按照受欢迎程度排序,并附有简要介绍: Spring Boot: 基于Spring框架的快速开发工具,提供了强大的事件驱动编程模型和机制。 Apache Kafka: 高吞吐量分布式流处理平台,适用于构建实时的事件驱动数据应用程序。 EventBus: 轻量级的事件总线库,提供了发布-订阅模式的事件通信机制。 Akk
【剑指Offer】16、合并两个排序的链表
【剑指Offer】16、合并两个排序的链表 题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解题思路: 首先需要判断几个特殊情况,即判断输入的两个指针是否为空。如果第一个链表为空,则直接返回第二个链表;如果第二个链表为空,则直接返回第一个链表。如果两个链表都是空链表,合并的结果是得到一个空链表。 两个链表都是排序好的,我们只需要从头遍历链表
ChatGPT 问答00007 RxJava介绍
RxJava 是一个基于反应式编程的库,它提供了一套丰富的操作符和数据类型,用于处理异步和事件驱动的编程。它是 ReactiveX 的 Java 版本实现,旨在简化异步和并发编程,并提供响应式流式处理的能力。 RxJava 的核心组件包括以下几个部分: Observable(可观察者):代表一个可被观察的数据流。它可以发出多个事件,并将这些事件推送给订阅者。常见的创建 Observable 的
ChatGPT 问答00008 RxJava 使用案例
RxJava 可以应用于各种异步和事件驱动的编程场景。以下是一些 RxJava 的使用案例: 网络请求:使用 RxJava 可以方便地处理网络请求和响应。你可以使用 Retrofit 或者其他网络库来发送异步请求,并将其封装为 Observable,然后通过操作符进行转换、过滤和合并等操作,最后将结果交给观察者处理。 数据转换和过滤:RxJava 提供了丰富的操作符,可以对数据进行转换和过
利用 docker 实现JMeter分布式压测
为什么需要分布式? 在工作中经常需要对一些关键接口做高QPS的压测,JMeter是由Java 语言开发,没创建一个线程(虚拟用户),JVM默认会为每个线程分配1M的堆栈内存空间。受限于单台试压机的配置很难实现太高的并发。所以,通过JMeter实现分布式,可以整合多台主机的硬件资源,实现同时对被测试接口进行压力测试。 Jmeter分布式测试环境中有两个角色:Master 和 Slaves Ma
ChatGPT 问答00009 EventBus的解释及使用案例
EventBus最常指的是Google Guava库中的EventBus。Google Guava是一个Java开发库,提供了许多实用工具和辅助类,用于简化Java编程。其中的EventBus是其事件总线的一部分,用于实现发布-订阅模式的事件通信机制。 在Google Guava库中使用EventBus时,可以通过引入相应的依赖,如Maven或Gradle依赖,来使用EventBus相关的类和功能
ChatGPT 问答00010 Akka简介,来源及使用方法
Akka是一个开源的分布式计算框架,基于Actor模型,旨在简化构建高并发、可扩展和弹性的分布式应用程序。它由瑞典的Lightbend公司(前身为Typesafe)开发和维护。 Akka框架提供了一种编程模型和一套工具,用于处理并发、分布式和容错性等问题。它的核心思想是使用轻量级的Actor作为基本的并发单元,通过消息传递进行通信和协作。每个Actor都是独立的、可扩展的计算单元,可以并发地执行任