算法 源码 编码java

Java线程池中的execute和submit

一、概述 execute和submit都是线程池中执行任务的方法。 execute是Executor接口中的方法 public interface Executor { void execute(Runnable command); } submit是ExecuteService接口中的方法。 pu ......
线程 execute submit Java

对线面试官:浅聊一下 Java 虚拟机栈?

对于 JVM(Java 虚拟机)来说,它有两个非常重要的区域,一个是栈(Java 虚拟机栈),另一个是堆。堆是 JVM 的存储单位,所有的对象和数组都是存储在此区域的;而栈是 JVM 的运行单位,它主管 Java 程序运行的。那么为什么它有这样的魔力?它存储的又是什么数据?接下来,我们一起来看。 1 ......
Java

面试必问:说一下 Java 虚拟机的内存布局?

我们通常所说的 Java 虚拟机(JVM)的内存布局,一般是指 Java 虚拟机的运行时数据区(Runtime Data Area),也就是当字节码被类加载器加载之后的执行区域划分。当然它通常是 JVM 模块的第一个面试问题,所以,接下来我们一起来看它里面包含了哪些内容。 官方定义 《Java虚拟机 ......
布局 内存 Java

特定领域知识图谱融合方案:文本匹配算法(Simnet、Simcse、Diffcse)

本项目主要围绕着特定领域知识图谱(Domain-specific KnowledgeGraph:DKG)融合方案:文本匹配算法、知识融合学术界方案、知识融合业界落地方案、算法测评KG生产质量保障讲解了文本匹配算法的综述,从经典的传统模型到孪生神经网络“双塔模型”再到预训练模型以及有监督无监督联合模型... ......
图谱 算法 文本 领域 Diffcse

ORM哪家强?java,c#,php,python,go 逐一对比, 网友直呼:全面客观

最近一段时间,我使用golang开发了一个新的ORM库。 为了让这个库更好用,我比较研究了各语言的主流ORM库,发现有一些语言的ORM库确实很好用,而有另外一些语言的库那不是一般的难用。于是... ......
客观 网友 python java ORM

遗传算法求TSP问题

一、实验内容及目的 本实验以遗传算法为研究对象,分析了遗传算法的选择、交叉、变异过程,采用遗传算法设计并实现了商旅问题求解,解决了商旅问题求解最合适的路径,达到用遗传算法迭代求解的目的。选择、交叉、变异各实现了两种,如交叉有顺序交叉和部分交叉。 二、实验环境 Windows10 开发环境Python ......
算法 问题 TSP

Java堆外缓存(一个很有意思的应用)

我们在开发过程中会遇到这样的场景:就是一个服务的各项 JVM 的配置都比较合理的情况下,它的 GC 情况还是不容乐观。分析之后发现有 2 个对象特别巨大,占了总存活堆内存的 90%以上。其中第 1 大对象是本地缓存, GC 之后对象一直存活。然后不久应用就会抛出OutOfMemoryError,那怎 ......
缓存 Java

【Django drf】视图层大总结 ViewSetMixin源码分析 路由系统 action装饰器

九个视图子类 # 两个视图基类 1.APIView 2.GenericAPIView APIView: renderer_classes响应格式类 parser_classes请求解析类 跟数据库解耦合 GenericAPIView:queryset数据集 serializer_class序列化类 ......
视图 路由 ViewSetMixin 源码 Django

Java微服务随机掉线排查思路

背景 我们的业务共使用11台(阿里云)服务器,使用SpringcloudAlibaba构建微服务集群,共计60个微服务,全部注册在同一个Nacos集群 流量转发路径: nginx->spring-gateway->业务微服务 使用的版本如下: spring-boot.version:2.2.5.RE ......
思路 Java

Java-Integer好大一坑,一不小心就掉进去了

遛马少年,一个代码写的很6的程序员,专注于技术干货分享 最近,在处理线上bug的时候,发现了一个奇怪的现象 业务代码大概是这样的 public static boolean doSth(Integer x, Integer y) { if (x == y) { return true; } //do ......
Java-Integer 一不小心 Integer Java

Java JDK Proxy和CGLib动态代理示例讲解

简介 代理模式在Java中有很多应用场景,而代理又分静态代码和动态代理。静态代理是编写、编译或加载时织入代码实现,而动态代理则在运行时实现。简单而言,静态代理是在运行前就已经存在,而动态代理则在运行时才存在的。而常用的动态代理有两种实现: JDK Proxy: JDK Proxy是JDK自带的,不需 ......
示例 动态 CGLib Proxy Java

dapr本地托管的服务调用体验与Java SDK的Spring Boot整合

1 简介 之前在文章《dapr入门与本地托管模式尝试》中介绍了dapr和本地托管,本文我们来介绍如果在代码中使用dapr的服务调用功能,并把它整合到Spring Boot中。 Dapr服务调用的逻辑如下: 本次实验会创建两个服务: pkslow-data,提供数据服务,用于返回数据; pkslow- ......
Spring dapr Java Boot SDK

Django框架之drf:5、反序列化器校验部分源码分析,断言,drf之请求与响应,视图组件介绍及两个视图基类,代码部分实战

Django框架之drf 一、反序列化类校验部分源码解析 反序列化校验什么时候开始执行校验? 剖析流程一:在视图中使用反序列化器实例化的对象调用is_valid()的时候就会进行校验,通贩校验返回True,反之False class BookView(APIView): # 新增 def post( ......
视图 部分 序列 实战 组件

算法学习笔记(16): 组合数学基础

组合数学基础 本文部分运用到了生成函数的知识 如果直接食用本文结论,请忽略下列链接。 生成函数参考博客:普通型生成函数 - Ricky2007 - 博客园 我认为讲的不错 组合数学非常有用!我们先从一点点简单的性质开始 简单原理 加法原理 这非常简单,我们举一个例子即可:考虑我有 $5$ 个红苹果和 ......
数学基础 算法 数学 基础 笔记

ua5.4源码剖析:三. C++与Lua相互调用

概述 从本质上来看,其实说是不存在所谓的C++与lua的相互调用。lua是运行在C上的,简单来说lua的代码会被编译成字节码在被C语言的语法运行。在C++调用lua时,其实是解释运行lua文件编译出来的字节码。lua调用C++其实还是解释运行lua文件编译出来的字节码的语义是调用lua栈上的C++函 ......
源码 ua5 Lua ua

[​DuckDB] 多核算子并行的源码解析

DuckDB 是近年来颇受关注的OLAP数据库,号称是OLAP领域的SQLite,以精巧简单,性能优异而著称。笔者前段时间在调研Doris的Pipeline的算子并行方案,而DuckDB基于论文《Morsel-Driven Parallelism: A NUMA-Aware Query Evalua ......
算子 源码 DuckDB

Unicode编码

介绍 Unicode 编码 Unicode 的全称是 Unicode 标准(The Unicode Standard)。 Unicode 又被称为:统一码、万国码、统一字元码、统一字符编码。 Unicode 至今仍在不断增修,每个新版本都加入更多新的字符。目前 Unicode 最新的版本为 2021 ......
编码 Unicode

基于遗传算法的地图四色原理绘图上色的Python代码

本文介绍利用Python语言,实现基于遗传算法(GA)的地图四色原理着色操作。 1 任务需求 首先,我们来明确一下本文所需实现的需求。 现有一个由多个小图斑组成的矢量图层,如下图所示。 我们需要找到一种由4种颜色组成的配色方案,对该矢量图层各图斑进行着色,使得各相邻小图斑间的颜色不一致,如下图所示。 ......
算法 原理 代码 地图 Python

车牌识别服务-JAVA+ONNX版本,支持全类型的车牌

1、车牌识别简介 车牌识别分为车牌检测与识别,检测模型一般需要检查车牌的位置识别模型一般为识别车牌号及车牌的颜色类型等,目前有较多的深度学习模型能支持,这里就不详细说了。 自动识别车辆车牌信息,应用于停车场、小区、工厂等场景,实现无卡、无人的车辆进出场自动化、规范化管理,有效降低人力成本和通行卡证制 ......
车牌 版本 类型 JAVA ONNX

《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法

参考书籍《深入理解java虚拟机》周志明著 系列文章目录和关于我 本文主要介绍垃圾回收理论知识 1.jvm哪些区域需要进行垃圾回收 虚拟机栈,本地方法栈,程序计数器都是线程私有的,随线程而生,随线程而灭。其中栈中的栈帧随着方法的进入和退出而有条不紊的执行出栈和入栈操作,每一个栈帧需要分配内存基本上在 ......
算法 垃圾 第三章 笔记 Java

《深入理解Java虚拟机》第三章读书笔记(二)——HotSpot垃圾回收算法实现(OopMap,安全点安全区域,卡表,写屏障,三色标记算法)

系列文章目录和关于我 前面《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法我们学习了垃圾回收算法理论知识,下面我们关注下HotSpot垃圾回收算法的实现,分为以下几部分 对象是垃圾的判断依据 GC Roots 是如何高效扫描的 如何解决跨代引用对象的垃圾回收问题 如何降低垃圾回收STW ......
算法 色标 屏障 垃圾 区域

ReentrantLock介绍及源码解析

ReentrantLock介绍及源码解析 一、ReentrantLock介绍 ReentrantLock是JUC包下的一个并发工具类,可以通过他显示的加锁(lock)和释放锁(unlock)来实现线程的安全访问,ReentrantLock还可以实现公平锁和非公平锁,并且其与synchronized的 ......
ReentrantLock 源码

ApiView/Request类源码分析/序列化器

内容概要 ApiView+JsonResponse编写接口 ApiView+Response编写接口 ApiView源码解析 Request对象源码分析 序列化器介绍和快速使用/反序列化 反序列化的校验 ApiView+JsonResponse编写接口 我们还是在models模型层中创建一个book ......
序列 源码 ApiView Request

前端算法之二分查找

在数组中查找指定元素,如果存在就返回它的位置,如果不存在,就返回-1。 这是一道非常经典的算法题,考的就是二分查找算法,首先分析二分查找的思路: 假设一个数组为 [3,5,19,22,25,33,45,47,57,66,71,78](已经从小到大排好序),要求找出数值80的位置,如图: ps: g  ......
前端 算法

《深入理解Java虚拟机》第三章读书笔记(三)——经典垃圾回收器

系列文章目录和关于我 一丶概述 上图展示了 经典的垃圾回收器,其中Serial,ParNew,Parallel Scavenge(图中的Parallel) 作用在新生代Serial Old CMS,Parallel Old作用在老年代,这些垃圾回收器颜色相同表示通常搭配使用。G1,ZGC,Shena ......
垃圾 第三章 笔记 经典 Java

Ribbon负载均衡 (源码分析)

Ribbon 是Netflix公司提供的负载均衡客户端,一般应用于服务的消费方法;Ribbon 可以解决基于负载均衡策略进行服务调用, 所有策略都会实现IRule接口;Ribbon 内置的负载策略有8种,可以通过查看IRule接口的实现类进行分析;@LoadBalanced的作用是描述RestTem... ......
源码 Ribbon

Java实现BP神经网络MNIST手写数字识别

Java实现BP神经网络,内含BP神经网络类,采用MNIST数据集,包含服务器和客户端程序,可在服务器训练后使客户端直接使用训练结果,界面有画板,可以手写数字 ......
神经网络 神经 数字 MNIST 网络

SOFAJRaft源码阅读(肆)-Netty时间轮算法的实践

SOFAJRaft的定时任务调度器是基于Netty来实现的,所以本文将会基于Netty时间轮算法,然后再结合SOFAJRaft源码进行分析。 @Author:Akai-yuan @更新时间:2023/1/29 1.HashedWheelTimer概览 一个时间轮算法的组成成分图: 一个基于Netty ......
算法 SOFAJRaft 源码 时间 Netty

Dijkstra算法详解(朴素算法+堆优化)

定义 Dijkstra(读音:/'daɪkstrə/)算法,是用来求解一个边带权图中从某个顶点出发到达其余各个顶点的最短距离的算法。(为表达简便,下文中“起点(源点)到某个顶点的距离”简称为“某个顶点的距离”) 限制条件:各个边的权不能为负。 原理 假设s,v1,v2,...,vn(以下简称P1)为 ......
算法 Dijkstra

分布式协议与算法-Raft算法

本文总结自:极客时间韩健老师的分布式协议与算法实战课程。 大家都知道,Raft算法属于Multi-Paxos算法,它是在Multi-Paxos思想的基础上,做了一些简化和限制。关于Paxos算法,博主在之前的文章有过总结,大家可以从这里跳转:分布式协议与算法-Paxos算法 关于Raft算法相关的开 ......
算法 分布式 Raft