算法 源码 编码java

一种新的流:为 Java 加入生成器(Generator)特性

这篇文章不是工具推荐,也不是应用案例分享。其主题思想,是介绍一种全新的设计模式。它既拥有抽象的数学美感,仅仅从一个简单接口出发,就能推演出庞大的特性集合,引出许多全新概念。同时也有扎实的工程实用价值,由其实现的工具,性能均可显著超过同类的头部开源产品。 ......
生成器 Generator 特性 Java

2023-04-24 算法面试中常见的贪心算法问题

贪心算法 1 贪心选择例题 455.饼干分配 假设你想给小朋友们饼干。每个小朋友最多能够给一块儿饼干。每个小朋友都有一个“贪心指数”,称为g(i),g(i)表示的是这名小朋友需要的饼干大小的最小值。同时,每个饼干都有一个大小值s(i)。如果s(j) >= g(i),我们将饼干j分给小朋友i后,小朋友 ......
算法 常见 问题 2023 04

Java基础

Java基础 Java基础篇 JDK 和 JRE 的区别是什么? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了 ......
基础 Java

JAVA运算符详解

JAVA运算字符详解 赋值运算符 符号作用说明 = 赋值 int a = 10; 将10赋值给变量a += 加后赋值 a += b; 将a+b的值给a - = 减后赋值 a -= b; 将a-b的值给a *= 乘后赋值 a *= b; 将a*b的值给a /= 除后赋值 a / =b ; 将a/b的值 ......
运算符 JAVA

基于互信息和归一化互信息的医学图像配准算法matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 信息论中将互信息定义为信息之间的关系,可以表示为两个随机变量之间统计相关性的度量,由此可以得出图像互信息的计算方法。作为图像多模态配准中的度量,图像互信息利用对图像灰度值的统计数据形成单个图像的灰度值概率函数和两个图像 ......
算法 图像 医学 matlab

基于Astar算法的智能避障最短路径搜索matlab仿真,可以任意选择起点和终点

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 Astar算法是一种图形搜索算法,常用于寻路。它是个以广度优先搜索为基础,集Dijkstra算法与最佳优先(best fit)算法特点于一身的一种 算法。它通过下面这个函数来计算每个节点的优先级,然后选择优先级最高的节 ......
算法 终点 起点 智能 matlab

Java并发(三)----创建线程的三种方式及查看进程线程

一、直接使用 Thread // 创建线程对象 Thread t = new Thread() { public void run() { // 要执行的任务 } }; // 启动线程 t.start(); 例如: // 构造方法的参数是给线程指定名字,推荐 Thread t1 = new Thre ......
线程 进程 方式 Java

文心一言 VS chatgpt (12)-- 算法导论3.1 6~7题

六、证明:一个算法的运行时间为θ(g(n))当且仅当其最坏情况运行时间为O(g(n)),且其最好情况运行时间为Ω(g(n)) 。 文心一言: chatgpt: 要证明「一个算法的运行时间为θ(g(n))当且仅当其最坏情况运行时间为O(g(n)),且其最好情况运行时间为Ω(g(n))」,需要证明两个方 ......
文心 导论 算法 chatgpt 3.1

vue2源码-十四、computed和watch的区别

computed和watch的区别 computed 和watch的相同点。底层都会创建一个 watcher(用法的区别:computed 定义的属性可以在模板中使用,watch 不能在视图中使用) computed 默认不会执行 只有取值的时候才会执行 内部会维护一个 dirty 属性,来控制依赖 ......
源码 computed watch vue2 vue

docker-compose一键部署java开源项目

这一年干的很多事都是为了降低我的开源项目消息推送平台austin使用门槛。 如果想学Java项目的,强烈推荐我的开源项目消息推送平台Austin(8K stars) ,可以用作毕业设计,可以用作校招,可以看看生产环境是怎么推送消息的。开源项目消息推送平台austin仓库地址: 消息推送平台🔥推送下 ......
docker-compose compose 项目 docker java

java排序算法2(简单选择排序、堆排序)

简单选择排序 不稳定 选择排序在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后以此类推,直到所有元素均排序完毕。 for (int i = 0; i < arr.length; i++) { //记录最小值下标位置 int min=i; for (int j=i+1;j<arr.le ......
算法 java

Problem G: 距离向量算法(D-V)

Problem Description RIP路由协议是一种分布式的基于距离向量的路由选择协议。距离向量(D-V)算法:收到相邻路由器(设其地址为 X)的一个 RIP 报文: ① 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。 ② 对修改后 ......
向量 算法 Problem D-V

Java打印日志接口

###在java开发过程中,为了分析程序异常,或者监控程序运行流程,经常需要用到打印日志。以下为日志接口的具体实现: 点击查看代码 import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; impor ......
接口 日志 Java

Java类实现某个接口后,是否需要实现接口中的所有方法?

1.结论 并不是所有的类实现接口后都必须实现接口的所有方法! 2.特殊情况 当Java抽象类实现某个接口后没必要实现所有的方法。 3.注意点 当Java普通类实现接口后必须实现接口中的所有方法。 4.原因 为什么抽象类不需要实现所有方法? 因为抽象类本身是具有抽象性的,它的方法也大多不需要进行实现, ......
接口 方法 Java

算法、表达式、生成器

1.算法简介及二分法 1.什么是算法: 算法就是解决问题的有效方法 不是所有的算法都很高效也有不合格的算法 2.算法应用场景: 各种软件、网站推送 成像算法(AI相关) 几乎涵盖了我们日常生活中的方方面面 3.算法工程师要求 待遇非常好 但是要求也非常高 4.算法部门 不是所有的互联网公司都养得起算 ......
生成器 表达式 算法

字符编码

字符编码理论 该知识点理论特别多 但是结论很少 代码使用也很短 1.字符编码只针对文本数据 2.既然计算机内部只认识01 为什么我们却可以敲出人类各式各样的字符 肯定存在一个数字跟字符的对应关系 存储该关系的地方称为>>>:字符编码本 3.字符编码发展史 3.1.一家独大 计算机是由美国人发明的 为 ......
字符 编码

JPEG图像压缩算法流程详解

JPEG是Joint Photographic Exports Group的英文缩写,中文称之为联合图像专家小组。该小组隶属于ISO国际标准化组织,主要负责定制静态数字图像的编码方法,即所谓的JPEG算法。 JPEG专家组开发了两种基本的压缩算法、两种熵编码方法、四种编码模式。如下所示: 压缩算法: ......
算法 图像 流程 JPEG

java反序列化(五) JNDI注入

JNDI注入 前置知识 JNDI JNDI (Java Naming and Directory Interface) 是一个应用程序设计的 API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口。可以通过字符串来锁定一个对象 JNDI 支持的服务主要有以下几种: RMI (JAVA ......
序列 java JNDI

java执行linux语句

public class CommandUtil { /** * 在指定路径下执行一条命令,不能执行cd之类的命令 * * @param command 要执行的Linux命令 * @param dir 目标路径,在该路径执行上述Linux命令 * @return 命令执行后显示的结果 * @thr ......
语句 linux java

java反序列化(五) JNDI注入

JNDI注入 前置知识 JNDI JNDI (Java Naming and Directory Interface) 是一个应用程序设计的 API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口。可以通过字符串来锁定一个对象 JNDI 支持的服务主要有以下几种: RMI (JAVA ......
序列 java JNDI

Java中Runnable和Callable的区别 Runnable接口

Callable接口 从Java 1.0开始,它是java.lang包的一部分 从Java 1.5开始,它是java.util.concurrent包的一部分。 Runnable接口不能返回计算的结果。 Callable接口可以返回一个任务的并行处理的结果。 Runnable接口不能抛出一个有检查的 ......
Runnable Callable 接口 Java

Java中缓存区的基本使用

前言 缓存区是一种内存空间,在计算机程序中被广泛使用来优化I/O操作的效率。在文件I/O操作中,缓存区用于缓存将要写入磁盘或读取到内存中的数据。这样可减少对磁盘的访问次数,提高I/O操作的效率。本文将介绍缓存区的基本使用以及一些注意点,并提供一个实例来演示如何将一个jpg图片复制一份。 使用缓存区进 ......
Java

Java中null和“”的区别

null和空字符串('')虽然都是没有任何内容,但是null却输出空指针异常,因为堆内存中根本就没有这个东西。 他们的区别可相当大,虽然都是没有信息,但是null代表堆内存中根本没有这个东西,这个对象不存在,怎么执行indexof操作?空字符串虽然没有信息,但是是有内存空间的,所以null与空字符串 ......
Java null

java开发环境、IDEA开发Hello World小程序

java开发环境、IDEA开发Hello World小程序: 1. java开发环境: 编译运行过程: 编译期:.java源文件,经过编译,生成.class字节码文件 运行期:JVM加载.class并运行.class(0和1) 特点:跨平台、一次编译到处使用 名词解释: JVM:java虚拟机 加载 ......
环境 程序 Hello World java

springboot mybatis 动态调用oracle存储过程,通过存储过程名称,就能动态调用存储过程、java动态调用oracle存储过程

由于在开发业务时,可能同时调用的存储过程不知道参数,但是参数从界面、或已经存储在数据库的获取,所以就不希望手动写存储过程的参数,通过简化的调用。 能不能写个动态的业务,只输入存储过程名称,自动获取存储过程参数,并且参数的数据从前台传递过来,这个就通用了。只写一个通用方法,就可以调用所有的存储过程。只 ......
过程 动态 oracle springboot 名称

C#凹凸曲线求拐点算法

凹凸曲线求拐点算法实现: 代码: 1 public static double diff(Func<double, double> f, double x, double h) 2 { 3 return (f(x+h)-f(x-h))/(2*h); 4 } 5 6 public static dou ......
拐点 凹凸 算法 曲线

Problem I: base64编码

Problem Description 对于任意二进制文件(如图像、声音、视频、程序等),都可以用base64编码。base64编码方法:先把二进制代码划分为一系列24位长的单元,然后把每一个24位单元划分为4个6位的组。每一个6位组按下列方法转换为ASCII码。6位二进制有64个不同的值,0-63 ......
编码 Problem base 64

BSGS(大步小步算法)学习笔记

解决高次同余问题。 $a^x\equiv b(\mod p)$,其中 $a$ 与 $p$ 同余。 这个形式与欧拉定理类似。 思想:meet in the middle(折半搜索)。 具体的,令 $x=A\times t-B$,且 $x$ 一定在 $[0,\phi(p))$ 的范围内。但是 $p$ 是 ......
小步 大步 算法 笔记 BSGS

java -- 注解

注解 注解概述 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 作用分类: 编写文档:通过代码里标识的注解生成文档 ......
注解 java

Java

HashSet contains add Stack+ empty peek pop push(add) size HashMap valueOf(value) get(key), put(key, value), isEmpty() containsKey(key) containsValue(v ......
Java