【基数排序算法详解】Java/Go/Python/JS/C不同语言实现
说明
基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的发明可以追溯到1887年赫尔曼·何乐礼在列表机(Tabulat...[2023/3/6]
Java/.Net双平台核心,Jvm和CLR运行异同点
前言:
本篇以.Net 7.0.2 CLR 和 OpenJDk19参照,解析下它们各自调用函数的异同。
以下为个人理解。
概述
JDK大约5.9G,CLR大约7.6G,两者相差1.7G左右。
root@tang-virtual-machine:/home/tang# cd jdk-jd...[2023/3/3]
微软出品自动化神器【Playwright+Java】系列(十)元素定位详解
一、写在前面
又有很久没更文了,真的是被催婚搞的整个人情绪特别不好,如果硬要形容的话,那就是没法跟人正常沟通,一点就着,做什么都没耐心,看什么都烦,简直没救了...
也是偶然发现的,自己居然没写关于Playwright的元素定位,这不是自动化测试的重中之重,怎么可以忘,马上安排!
二、元素定位...[2023/3/3]
JavaSE基础 (全网最全知识点)JavaSE基础 (全网最全知识点)
背景介绍
java运行机理(即使编译型语言,又是解释型语言)
编译型语言(如:c语言)
源代码需要通过预编译形成可执行文件,再由系统执行该文件形成可识别的二进制文件
解释型语言
边执行边转换。源代码先翻译成中间代码,解释器(类似于JVM)再对中间代码进行解释运行,每执行一次都...[2023/2/28]
三天吃透Java并发八股文!
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~
Github地址:https: github...[2023/2/28]
这些 JavaScript 笔试题你能答对几道?
收藏 javascript-questions 这个仓库很久了,趁着周末来锻炼下自己的 JS 基础水平
因为逐渐也在承担一些面试工作,顺便摘录一些个人觉得比较适合面试的题目和方向
事件流(捕获、冒泡)
源链接
以下代码点击结果是啥?
<div onclick="console.lo...[2023/2/27]
我有一篇Java Stream使用手册,学了就是你的了!
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。
简介
日常编程工作中,Java集合会经常被使用到,且经常需要对集合做一些类似过滤、排序、对象转换之类的操作。
为了简化这类操作,Java8添加了一套新的Stream API,使用方式就像写SQL一样,...[2023/2/27]
JavaScript 如何验证 URL
前言
当开发者需要为不同目的以不同形式处理URL时,比如说浏览器历史导航,锚点目标,查询参数等等,我们经常会借助于JavaScript。然而,它的频繁使用促使攻击者利用其漏洞。这种被利用的风险是我们必须在我们的JavaScript应用程序中实现URL验证的原因。
URL验证检查URL是否遵循正...[2023/2/24]
Java 优化:读取配置文件 "万能方式" 跨平台,动态获取文件的绝对路径 - Rainbow-Sea
Java 优化:读取配置文件 "万能方式" 跨平台,动态获取文件的绝对路径
每博一文案
往事不会像烟雾似的飘散,将永远像铅一般沉重地浇铸在心灵的深处。
不过,日常生活的纷繁不会让人专注地沉湎于自己的痛苦
不幸,即使人的心灵伤痕累累,也还得要去为现实中的生存和发展而挣扎。
...[2023/2/22]
详解Java中对象池的介绍与使用
目录1. 什么是对象池2. 对象池解决什么问题3. 对象池的优缺点3.1 对象池的优点3.2 对象池弊端4. 对象池有什么特征5. 池的大小选择6. 对象池的使用6.1 接入6.2 实现线程池工厂6.3 初始化6.4 使用 1. 什么是对象池
对象池,顾名思义就是一定数量的已经创建好的对象(Ob...[2023/2/22]
Java使用ThreadLocal实现当前登录信息的存取功能
目录一、使用ThreadLocal实现当前登录信息的存取1,写一个工具类用于存取用户id2、在用户登录的时候我们在过滤器中可以获取用户的id,这个时候我们将用户id放入ThreadLocal中。二、总结 一、使用ThreadLocal实现当前登录信息的存取
在项目中我们增加一个员工有一些信息是需...[2023/2/22]
基于JavaScript实现图片裁剪功能
目录一、图片文件的上传和读取二、图片展示和蒙层处理CSS clip-path三、裁剪框展示裁剪框的缩放点cursor 鼠标样式四、裁剪框移动事件五、裁剪框缩放操作六、完成裁剪功能drawImage后记 在前端开发中,当遇到图片或头像上传等功能时,有尺寸分辨率限制的话,就需要用到图片的裁剪功能。想了解...[2023/2/22]
【多线程与高并发】- synchronized锁的认知
synchronized锁的认知
??生命不息,写作不止
?? 继续踏上学习之路,学之分享笔记
?? 总有一天我也能像各位大佬一样
?? 一个有梦有戏的人 @怒放吧德德
??分享学习心得,欢迎指正,大家一起学习成长!
目录synchronized锁的认知简介synchroniz...[2023/2/20]
微软出品自动化神器【Playwright+Java】系列(九)多线程、重定向、弹出新窗口、截图、新页面、录制、页面对象模式操作微软出品自动化神器【Playwright+Java】系列(九)多线程、重定向、弹出新窗口、截图、新页面、录制、页面对象模式操作
写在前面
关于Playwright系列的文章,真的很久没有写了,今天一个不小心官方API部分过完了,下面将为大家逐一演示,感兴趣的同学可以自行动手练习。
API部分
多线程
直白点说就是多线程下Playwright的使用,示例代码如下:
package org.example;
impor...[2023/2/20]
Java 调用 PaddleDetection 模型
文章地址
介绍
训练好的模型要给业务调用,deepjavalibrary/djl:Java 中与引擎无关的深度学习框架 (github.com) 可以完成这件事,它支持使用 Java 调用 PyTorch、TensorFlow、MXNet、ONNX、PaddlePaddle 等引擎的模型(也支...[2023/2/20]
RxJava 异常时堆栈显示不正确?解决方法都在这里
本文首发我的博客,github 地址
大家好,我是徐公,今天为大家带来的是 RxJava 的一个血案,一行代码 return null 引发的。
前阵子,组内的同事反馈说 RxJava 在 debug 包 crash 了,捕获到的异常信息不全。(即我们捕获到的堆栈没有包含我们自己代码,都...[2023/2/20]
基于Java实现进制转换工具类的示例代码
目录背景原理十进制A转换为N进制RN进制R转换为十进制A应用延伸 背景
最近有个发送短信的功能,需要在短信中带有详情链接,链接中带有对应信息且要有校验功能,然而短信是按字数收费的,所以链接要尽可能的短。链接中带有数字类型参数,就想到通过低进制转高进制可以减少参数长度。
原理
低进制转换到...[2023/2/20]
Java实现快速生成词云图的示例代码
“词云”一词最早是由美国西北大学新闻学副教授、新媒体专业主任里奇戈登(Rich Gordon)提出的。词云(Word Cloud),又称文字云、标签云(Tag Cloud)、关键词云(Keyword Cloud),是对文本信息中一定数量的关键词出现的频率高低情况的一种可视化...[2023/2/20]
从实现到原理,聊聊Java中的SPI动态扩展
原创:微信公众号 码农参上,欢迎分享,转载请保留出处。
八股文背多了,相信大家都听说过一个词,SPI扩展。
有的面试官就很喜欢问这个问题,SpringBoot的自动装配是如何实现的?
基本上,你一说是基于spring的SPI扩展机制,再把spring.factories文件和Enabl...[2023/2/17]
基于JavaScript编写一个翻卡游戏
目录前言翻卡动画生成随机分布数组均匀元素下的随机算法不均匀元素下的随机算法生成最终数组点击事件完整代码 前言
首先将这个游戏需求拆分成三个部分:
翻卡动画生成随机分布数组点击事件
翻卡动画
假如我们的盒子模型不是个二维的平面,而是有个三维的体积,让它可以有正反两面,那我们在做的时候是不...[2023/2/17]
搭个ChatGPT算法模型,离Java程序员有多远?
作者:小傅哥
博客:https: bugstack.cn
沉淀、分享、成长,让自己和他人都能有所收获!
最近 ChatGPT 很火,火到了各行各业。记得去年更多的还是码农最新体验后拿它搜代码,现在各行各业都进来体验,问它咋理财、怎么写报告和给小孩起名。?? 也因此让小傅哥在头条的一篇...[2023/2/15]
java如何通过IP解析地理位置
目录java通过IP解析地理位置获取IP地址百度普通IP定位API获取地理位置java获取IP归属地(省、市)总结 java通过IP解析地理位置
在项目开发中,需要在登录日志或者操作日志中记录客户端ip所在的地理位置。
目前根据ip定位地理位置的第三方api有好几个,淘宝、新浪、百度等,这三...[2023/2/15]
Java synchronized重量级锁实现过程浅析
目录一、什么是重量级锁二、重量级锁的演示三、重量级锁的原理四、锁的优缺点对比 一、什么是重量级锁
当有大量的线程都在竞争同一把锁的时候,这个时候加的锁,就是重量级锁。
这个重量级锁其实指的就是JVM内部的ObjectMonitor监视器对象:
ObjectMonitor() ...[2023/2/13]
Java?synchronized轻量级锁实现过程浅析
目录一、什么是轻量级锁二、为什么引入轻量级锁三、轻量级锁的升级时机四、轻量级锁的演示五、轻量级锁的原理六、轻量级锁升级为重量级锁的流程七、轻量级锁的优缺点 一、什么是轻量级锁
轻量级锁是JDK 6之中加入的新型锁机制,它名字中的“轻量级”是相对于使用monitor的传统锁...[2023/2/13]
oasys系统_JAVA代码审计oasys系统_JAVA代码审计
oasys系统_JAVA代码审计
一、前言
oasys是一个OA办公自动化系统,使用Maven进行项目管理,基于springboot框架开发的项目。可以看到该项目的资源文件中是mappers且pom.xml里有Mybatis的相关依赖,所以数据库持久化框架是Mybatis。
全局搜索 “${”...[2023/2/10]
JavaScript 高阶函数
一、高阶函数
JavaScript 中的高阶函数是一种接受函数作为输入或返回函数作为输出的函数。它们提供了灵活的方式来处理函数,并允许把函数作为参数或返回值传递。它们是函数式编程的重要组成部分,并且可以提高代码的可读性和可维护性。
高阶函数的一个常见用法是对数组进行操作,例如使用 map()...[2023/2/10]
Java-Integer好大一坑,一不小心就掉进去了
遛马少年,一个代码写的很6的程序员,专注于技术干货分享
最近,在处理线上bug的时候,发现了一个奇怪的现象
业务代码大概是这样的
public static boolean doSth(Integer x, Integer y) {
if (x == y) {
ret...[2023/2/10]
Java微服务Nacos Config配置中心超详细讲解
目录配置文件的不足配置中心的思想Nacos Config入门Nacos Config动态刷新配置NacosConfig的配置共享同一个微服务的不同环境之间共享配置不同微服务中共享配置 配置文件的不足
1.配置存在公共的配置,缺少统一的管理
2.环境参数的配置在每个项目中都有,一旦泄露,不知道...[2023/2/10]
Java微服务分布式调度Elastic-job环境搭建及配置
目录什么是任务调度为什么需要分布式调度Elastic-Job环境搭建更改Zookeeper配置SpringBoot集成ElasticJob 什么是任务调度
任务调度是为了自动完成特定任务,在约定的特定时刻去执行人物的过程
为什么需要分布式调度
1.使用Spring定时器,在集群的情况下,...[2023/2/10]
Java微服务随机掉线排查思路 - rm-rf*
背景
我们的业务共使用11台(阿里云)服务器,使用SpringcloudAlibaba构建微服务集群,共计60个微服务,全部注册在同一个Nacos集群
流量转发路径: nginx->spring-gateway->业务微服务
使用的版本如下:
spring-boot.version...[2023/2/6]
Java JDK1.5: 泛型 新特性的讲解说明 - Rainbow-Sea
Java JDK1.5: 泛型 新特性的讲解说明
每博一文案
听到过这样一句话:“三观没有标准。在乌鸦的世界里,天鹅也有罪。”
环境、阅历的不同,造就了每个人独有的世界观、人生观、价值观。
三观并无对错高下,只有同与不同。恰如飞鸟不用和游鱼同行,高山不必同流水相逢。
总用自己的尺子去度量别人...[2023/2/6]
Map按单个或多个Value排序当Value相同时按Key排序Map按单个或多个Value排序当Value相同时按Key排序
Map可以先按照value进行排序,然后按照key进行排序。 或者先按照key进行排序,然后按照value进行排序,这都是可以的。
并且,大家可以制定自己的排序规则。按单个value排序:
import java.util.Collections;
import java.util.Ha...[2023/2/6]
《深入理解Java虚拟机》第三章读书笔记(二)——HotSpot垃圾回收算法实现(OopMap,安全点安全区域,卡表,写屏障,三色标记算法)
系列文章目录和关于我
前面《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法我们学习了垃圾回收算法理论知识,下面我们关注下HotSpot垃圾回收算法的实现,分为以下几部分
对象是垃圾的判断依据 GC Roots 是如何高效扫描的
如何解决跨代引用对象的垃圾回收问题
如何降低垃...[2023/2/3]
车牌识别服务-JAVA+ONNX版本,支持全类型的车牌
1、车牌识别简介
车牌识别分为车牌检测与识别,检测模型一般需要检查车牌的位置识别模型一般为识别车牌号及车牌的颜色类型等,目前有较多的深度学习模型能支持,这里就不详细说了。
自动识别车辆车牌信息,应用于停车场、小区、工厂等场景,实现无卡、无人的车辆进出场自动化、规范化管理,有效降低人力成...[2023/2/2]
一文教你用JavaScript制作个简单的大转盘游戏
目录背景一、开始前的准备二、画出大转盘三、把奖励放上去四、让大转盘滚起来个人总结 背景
日常生活中,我们经常会见到形形色色的抽奖活动,例如九宫格、大转盘等等……以前都没去深入考虑过,如果让我去做这些小游戏,有哪些需要注意的事项,不试不知道,一试全是坑。正好最近有需求让...[2023/2/2]
Java线程池中的execute和submit
一、概述
execute和submit都是线程池中执行任务的方法。
execute是Executor接口中的方法
public interface Executor {
void execute(Runnable command);
}
submit是ExecuteServic...[2023/2/1]
JavaScript 中更安全的 URL 读写
前言
URL对于我们开发人员来讲,应该是非常熟悉了。在对URL进行参数拼接时,我们一般都会直接进行字符串拼接或使用模版字符串,因为这样非常方便,但是我们这样其实会在不知不觉中以不安全的方式编写 URL。
比如,我们通常会这样写:
const url = `https: www.baidu.c...[2023/2/1]
Java实现BP神经网络MNIST手写数字识别Java实现BP神经网络MNIST手写数字识别
Java实现BP神经网络MNIST手写数字识别
如果需要源码,请在下方评论区留下邮箱,我看到就会发过去
一、神经网络的构建
(1):构建神经网络层次结构
由训练集数据可知,手写输入的数据维数为784维,而对应的输出结果为分别为0-9的10个数字,所以根据训练集的数据可知,在构建的神经网络...[2023/2/1]
centos7安装java的多种方式总结
目录方式一、yum方式安装(简单快速、无需配置环境变量、但可能出现奇怪的问题)1、查看可安装版本2、安装1.8版本3、查看是否安装成功4、查看jdk安装目录5、卸载方式二、手动安装(需要手动下载安装包、需要配置环境变量)1、下载安装包2、上传3、安装4、配置环境变量5、验证是否安装成功总结 方式一、...[2023/2/1]
JAVA发送HTTP请求的多种方式详细总结
目录1. HttpURLConnection2. HttpClient3. CloseableHttpClient4. okhttp5. Socket6. RestTemplate总结 程序员日常工作中,发送http请求特别常见。本文以Java为例,总结发送http请求的多种方式。
1. Htt...[2023/2/1]
ORM哪家强?java,c#,php,python,go 逐一对比, 网友直呼:全面客观ORM哪家强?java,c#,php,python,go 逐一对比, 网友直呼:全面客观
前言
最近一段时间,我使用golang开发了一个新的ORM库。
为了让这个库更好用,我比较研究了各语言的主流ORM库,发现有一些语言的ORM库确实很好用,而有另外一些语言的库那不是一般的难用。
然后我总结了他们呢的一些共性和差异点,于是形成了本文的主要内容。
本文会先说明什么是SQL编写难...[2023/1/30]
分享50个超级有用的JavaScript单行代码(推荐!)
目录前言日期字符串工具总结 前言
在这篇文章中,我列出了一个系列的50个 JavaScript 单行代码,它们在使用 vanilla js(≥ ES6)进行开发时非常有用。它们也是使用该语言在最新版本中为我们提供的所有功能来解决问题的优雅方式。
我将它们分为以下5大类:
日期字符串数...[2023/1/30]
Java多线程案例之定时器详解Java多线程案例之定时器详解
目录一. 定时器概述1. 什么是定时器2. 标准库中的定时器二. 定时器的简单实现 一. 定时器概述
1. 什么是定时器
定时器是一种实际开发中非常常用的组件, 类似于一个 “闹钟”, 达到一个设定的时间之后, 就执行某个指定好的代码.
比如网络通信中, 如果对方...[2023/1/30]
你知道这个提高 Java 单元测试效率的 IDEA 插件吗
前言
2023年我们公司主抓代码质量,所以单元测试必不可少,而且都写到了年底的绩效目标中了。在考虑如何达成这个目标的过程中,我发现了一个关于单元测试的IDEA插件——SquareTest,它可以帮助我们提高编写单元测试的速度,你知道吗?
欢迎关注个人公众号【JAVA旭阳】交流学习
Squa...[2023/1/28]
用Java写一个分布式缓存——缓存管理
前言
之前也用过一些缓存中间件,框架,也想着自己是不是也能用Java写一个出来,于是就有了这个想法,打算在写的过程中同步进行总结
源码:weloe/Java-Distributed-Cache (github.com)
本篇代码:
Java-Distributed-Cache rc/mai...[2023/1/28]
JavaScript节点的增删改查深入学习
目录节点的增删改查节点的创建22.2 "孤儿节点"22.2.1 appendChild() insertBefore()节点创建小案例移动节点删除节点替换节点22.7 克隆节点总结 节点的增删改查
节点的创建
document.createElement方法...[2023/1/28]
java异步编程之一文看完其异步函数表
目录1 低层级 asyncio 索引1.1 获取事件循环1.2 事件循环方法集1.3 传输1.3.1 读取传输1.3.2 写入传输1.3.3 数据报传输1.3.4 子进程传输1.3.5 协议1.3.6 流协议 (TCP, Unix 套接字, 管道)1.3.7 缓冲流协议1.3.8 数据报协议1.3....[2023/1/28]
线程阻塞唤醒工具 LockSupport使用详解
目录LockSupport 简介回顾 synchronized 和 LockLockSupport 和 synchronized 和 Lock 的阻塞方式对比LockSupport 的使用LockSupport 注意事项许可证提前发放许可证不会累计LockSupport 底层实现结语 LockSup...[2023/1/28]
Java CAS机制详解
目录一、什么是CAS什么是CAS机制为何CAS如此优秀CAS为什么要和volitile配合使用二、Java中的Atomic原子操作包三、类AtomicInteger四、Unsafe类五、CAS的缺点六、以空间换时间LongAdder 七、使用AtomicStampedReference解决...[2023/1/20]
【译】15 个有用的 JavaScript 技巧【译】15 个有用的 JavaScript 技巧
原文地址:https: javascript.plainenglish.io/15-useful-javascript-tips-814eeba1f4fd
1)数字分隔符
为了提高数字的可读性,可以使用下划线作为分隔符。
const largeNumber = 1_000_000_000...[2023/1/16]