算法 垃圾 常见java

java代码审计-SpEL表达式注入

0x01 前言 Spring Expression Language(简称 SpEL)是一种功能强大的表达式语言、用于在运行时查询和操作对象图;语法上类似于Unified EL,但提供了更多的特性,特别是方法调用和基本字符串模板函数。SpEL 的诞生是为了给 Spring 社区提供一种能够与Spri ......
表达式 代码 java SpEL

全局视角看技术-Java多线程演进史

本篇语言通俗易懂,是一篇具有大纲性质的关于多线程的梳理,作者从历史演进的角度讲了多线程相关知识体系,让你知其然知其所以然。 ......
演进史 线程 全局 视角 技术

【LeetCode回溯算法#08】递增子序列,巩固回溯算法中的去重问题

递增子序列 力扣题目链接(opens new window) 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。 示例 1: 输入:nums = [4,6,7,7] 输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6 ......
算法 序列 LeetCode 问题 08

【LeetCode回溯算法#07】子集问题I+II,巩固解题模板并详解回溯算法中的去重问题

子集 力扣题目链接 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1, ......
算法 子集 问题 LeetCode 模板

【LeetCode回溯算法#06】复原IP地址详解(练习如何处理边界条件,判断IP合法性)

复原IP地址 力扣题目链接(opens new window) 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "19 ......
边界 算法 LeetCode 合法性 条件

装箱算法的性能测试

笔者第一次对算法做性能测试,记录本次测试的过程,方便以后复盘。 项目的背景是新提交了一个需求,在每个b2c出库订单入库时,给订单一个合适的推荐箱型。订单的sku属性中有长宽高,包材管理的表中也有各包材的长宽高。需要推荐一个能装下的最小包材,并且体积占比低于90%,剩余大于等于10%空间留给冷媒和充气 ......
算法 性能

搭个ChatGPT算法模型,离Java程序员有多远?

这一篇文章先给我自己以及大家对 ChatGPT 开个门,让对此感兴趣的编程爱好者可以参与进去学习。在我感觉 ChatGPT 的出现会打破某些平衡,对一些事项进行秩序重置。因此也让更多的人获得了大量的机会。 ......
程序员 算法 模型 ChatGPT 程序

推荐系统[八]算法实践总结V1:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结【冷启动召回、复购召回、用户行为召回等算法实战】

推荐系统[八]算法实践总结V1:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结【冷启动召回、复购召回、用户行为召回等算法实战】 ......
算法 实战 行为 个性 用户

深度优先搜索算法-dfs讲解

迷宫问题 有一个迷宫: S**. .... ***T (其中字符S表示起点,字符T表示终点,字符*表示墙壁,字符.表示平地。你需要从S出发走到T,每次只能向上下左右相邻的位置移动,不能走出地图,也不能穿过墙壁,每个点只能通过一次。) 现在需要你求出是否可以走出这个迷宫 我们将这个走迷宫过程称为dfs ......
算法 深度 dfs

推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计

推荐可分为以下四个流程,分别是召回、粗排、精排以及重排: 1. 召回是源头,在某种意义上决定着整个推荐的天花板; 2. 粗排是初筛,一般不会上复杂模型; 3. 精排是整个推荐环节的重中之重,在特征和模型上都会做的比较复杂; 4. 重排,一般是做打散或满足业务运营的特定强插需求,同样不会使用复杂模型... ......
系统 算法 全民 架构 音乐

加密,各种加密,耙梳加密算法(Encryption)种类以及开发场景中的运用(Python3.10)

不用说火爆一时,全网热议的Web3.0区块链技术,也不必说诸如微信支付、支付宝支付等人们几乎每天都要使用的线上支付业务,单是一个简简单单的注册/登录功能,也和加密技术脱不了干系,本次我们耙梳各种经典的加密算法,试图描摹加密算法在开发场景中的运用技巧。 可逆加密算法(对称加密) 加密算法是一种将原始数 ......
算法 Encryption 种类 场景 Python3

国内“谁”能实现chatgpt,短期穷出的类ChatGPT简评(算法侧角度为主),以及对MOSS、ChatYuan给出简评,一文带你深入了解宏观技术路线。

国内“谁”能实现chatgpt,短期穷出的类ChatGPT简评(算法侧角度为主),以及对MOSS、ChatYuan给出简评,一文带你深入了解宏观技术路线。 ......
算法 宏观 短期 ChatYuan 角度

从实现到原理,聊聊Java中的SPI动态扩展

八股文背多了,相信大家都听说过一个词,SPI扩展。 那么SPI扩展究竟是个啥,是怎么实现的,咱们来详细盘一盘它! ......
原理 动态 Java SPI

算法基础模板

时空复杂度分析 一般ACM或者笔试题的时间限制是1秒或2秒。在这种情况下,C++代码中的操作次数控制在10^7^~10^8^为最佳。下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: n ≤ 30,指数级别,dfs+剪枝,状态压缩dp n ≤ 100 => O(n^3^),floyd,dp ......
算法 模板 基础

分布式机器学习:异步SGD和Hogwild!算法(Pytorch)

同步算法的共性是所有的节点会以一定的频率进行全局同步。然而,当工作节点的计算性能存在差异,或者某些工作节点无法正常工作(比如死机)的时候,分布式系统的整体运行效率不好,甚至无法完成训练任务。为了解决此问题,人们提出了异步的并行算法。在异步的通信模式下,各个工作节点不需要互相等待,而是以一个或多个全局... ......
分布式 算法 机器 Hogwild Pytorch

衡量算法的性能-时空复杂度分析

算法 即存在输入输出,由有限步骤结束的程序. 因此,显而易见,算法并不是指一个单一的标准答案,而是一切能够完成要求的程序都可以称之为算法.但是算法之间根据性能的不同存在差异,评判这个差异的指标就是本篇分享的重点. 评判算法优劣的指标 1.时间复杂度 时间复杂度用O()表示,它的实质是算法的计算次数 ......
复杂度 算法 性能 时空

微软出品自动化神器【Playwright+Java】系列(九)多线程、重定向、弹出新窗口、截图、新页面、录制、页面对象模式操作

写在前面 关于Playwright系列的文章,真的很久没有写了,今天一个不小心官方API部分过完了,下面将为大家逐一演示,感兴趣的同学可以自行动手练习。 API部分 多线程 直白点说就是多线程下Playwright的使用,示例代码如下: package org.example; import com ......
页面 神器 线程 截图 Playwright

精华推荐 |【算法数据结构专题】「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南

时间轮的介绍 时间轮(TimeWheel)是一种实现延迟功能(定时器)的精妙的高级算法,其算法应用范围非常广泛,在Java开发过程中常用的Dubbo、Netty、Akka、Quartz、ZooKeeper 、Kafka等各种框架中,各种操作系统的定时任务crontab调度都有用到,甚至Linux内核 ......

Java 调用 PaddleDetection 模型

文章地址 介绍 训练好的模型要给业务调用,deepjavalibrary/djl:Java 中与引擎无关的深度学习框架 (github.com) 可以完成这件事,它支持使用 Java 调用 PyTorch、TensorFlow、MXNet、ONNX、PaddlePaddle 等引擎的模型(也支持部分 ......
PaddleDetection 模型 Java

限流器算法实现(JUC原子类使用实践)

系列文章目录和关于我 一丶限流器存在的意义 在高并发系统中,出于系统保护角度考虑,通常会对流量进行限流。 限流*的目的是在遇到流量高峰期或者流量突增(流量尖刺)时,通过对流量速率进行限制,当达到限制速率时,可以拒绝服务(定向到错误页或告知资源没有了)、排队或等待(比如秒杀、评论、下单)、降级(返回兜 ......
原子 算法 JUC

《深入理解java虚拟机》第七章读书笔记——虚拟机类加载机制

系列文章目录和关于我 一丶虚拟机类加载机制是什么 java虚拟机将描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可用被虚拟机直接使用的java类型。 二丶类加载时机 1.什么时候会触发虚拟机的类类加载昵? 遇到new(使用new关键字实例化对象),getstat ......
机制 笔记 java

我有一篇Java Stream使用手册,学了就是你的了!

原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 简介 日常编程工作中,Java集合会经常被使用到,且经常需要对集合做一些类似过滤、排序、对象转换之类的操作。 为了简化这类操作,Java8添加了一套新的Stream API,使用方式就像写SQL一样,大大简化了这 ......
手册 就是 Stream Java

模型压缩-剪枝算法详解

近年来主流的模型压缩方法包括:数值量化(Data Quantization,也叫模型量化),模型稀疏化(Model sparsification,也叫模型剪枝 Model Pruning),知识蒸馏(Knowledge Distillation), 轻量化网络设计(Lightweight Netwo... ......
算法 模型

深度学习基础-优化算法详解

所谓深度神经网络的优化算法,即用来更新神经网络参数,并使损失函数最小化的算法。优化算法对于深度学习非常重要,网络参数初始化决定模型是否收敛,而优化算法的性能则直接影响模型的训练效率。 ......
算法 深度 基础

万字长文概述单目3D目标检测算法

基于深度学习的主流单目3D目标检测算法可以分为两个过程:2D目标检测 + 基于投影几何原理的回归网络设计。本文首先介绍了单目 3D 目标检测的理论基础-投影几何原理和算法原理,并解读了几个主流模型。 ......
长文 算法 目标

使用java.util.Timer实现定时任务,详解Thread.sleep() in a loop, probably busy-waiting问题

很多时候,我们需要定时任务实现一些诸如刷新,心跳,保活等功能。这些定时任务往往逻辑很简单,使用定时任务的框架(例如springboot @Scheduled)往往大材小用。 下面是一个定时任务的典型写法,每隔30s发送心跳 public static void main(String[] args) ......
busy-waiting probably 任务 waiting Thread

高效字符串匹配算法——BM 算法详解(C++)

定义 BM 算法是由 Boyer 和 Moore 两人提出的一种高效的字符串匹配算法,被认为是一种亚线性算法(即平均的时间复杂度低于线性级别),其时间效率在一般情况下甚至比 KMP 还要快 3 ~ 5 倍。 原理 BM 算法跟其他的字符串匹配算法相比,其中一个不同之处是在比对字符的时候,扫描的顺序不 ......
算法 字符串 字符

webrtc QOS笔记一 Neteq直方图算法浅读

webrtc QOS笔记一 Neteq直方图算法浅读 想起博客园帐号了,回来填点webrtc qos的坑, 本文分析个很好用的直方图算法,不仅可以在音频里面计算抖动延迟,我发现用来统计丢包率也很好用. Histogram Algorithm DelayManager::Update()->Histo ......
直方图 算法 笔记 webrtc Neteq

Java ”框架 = 注解 + 反射 + 设计模式“ 之 注解详解

Java ”框架 = 注解 + 反射 + 设计模式“ 之 注解详解 每博一文案 刹那间我真想令时光停住,好让我回顾自己,回顾失去的年华,缅怀哪个穿一身短小的连衣裙 和瘦窄的短衫的小女孩。让我追悔少年时代,我心灵的愚钝无知,它轻易地错过了我一生中本来 可以获得欢乐和幸福。 —————— 《平凡的世界》 ......
注解 设计模式 框架 模式 Java

Java 文本检索神器 "正则表达式"

Java 文本检索神器 "正则表达式" 每博一文案 在我们短促而又漫长的一生中,我们在苦苦地寻找人生的幸福,可幸福往往又与我们失之交臂, 当我们为此而耗尽宝贵的。青春年华,皱纹也悄悄地爬上了眼角的时候,我们或许才能悄悄懂得生活实际上意味 着什么。 —————— 《平凡的世界》 叶赛宁的诗,不惋惜,不 ......
正则 表达式 神器 quot 文本