logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【人工智能】机器学习基础概念

机器学习主要分为三大类:监督学习、非监督学习和半监督学习。监督学习使用带标签的数据训练模型,适用于分类和回归任务,常见算法包括线性回归、决策树等。非监督学习分析无标签数据,用于聚类和降维,如K-means和PCA。半监督学习结合少量标签数据和大量无标签数据,适用于标注成本高的场景,如图像分类和语音识别。监督学习依赖标注数据但可能过拟合,非监督学习发现数据内在结构,半监督学习平衡两者优势。

文章图片
#人工智能#机器学习
【Redis】Redis实现分布式锁

*** 尝试获取锁* @param timeoutSec 锁持有的超时时间,过期后自动释放* @return true 代表获取锁成功;false 代表获取锁失败/*** 释放锁static {} //获取锁 @Override public boolean tryLock(long timeoutSec) {//获取线程标识 String threadId = ID_PREFIX + Threa

文章图片
#分布式#redis#java
【Redis】缓存工具封装

将封装成一个缓存工具类,方便以后重复使用。

#缓存#redis#java
【JUC】Java对象内存布局和对象头

默认配置:启动了压缩指针,对象头是12个字节,实例数据2个字节,那么这个对象大小就是 12 + 2 + 2(对齐填充) = 16字节。手动配置:关闭了压缩指针,对象头是16个字节,实例数据2个字节,那么这个对象大小就是 16 + 2 + 6(对齐填充) = 24字节。存放类的属性(Field)数据信息,包括父类的属性信息,如果是数组的实例部分还包括数组的长度,这部分内存按4字节对齐。对象,对象头1

文章图片
#java#jvm#数据结构
【Redis】缓存击穿问题及其解决方案

第一个线程到来之后发现逻辑过期,于是获取互斥锁,再开启一个新线程去进行缓存重建。之后第一个线程成功缓存数据释放互斥锁之后,后面线程继续来访,发现命中缓存并且没有过期,返回重建数据。的实现思路就是在第一个线程到来的时候获取互斥锁,后面的线程来到之后尝试去获取互斥锁,获取失败,于是进行休眠重试。在线程1重建缓存的时候,线程2缓存又没命中,线程2也去重建缓存;:缓存击穿也叫做热点Key问题,就是少量被高

文章图片
#缓存#redis#数据库
【MinIO】文件断点续传和分块合并

ApiOperation(value = "文件上传前检查文件") @PostMapping("/upload/checkfile") public RestResponse < Boolean > checkfile(@RequestParam("fileMd5") String fileMd5) throws Exception {

#分布式#中间件#java +1
【Kafka】Kafka基础概念笔记

【代码】【Kafka】Kafka基础操作笔记。

文章图片
#kafka#分布式
【Vue 2】 Vue2中两种路由跳转方式

路由跳转,就是写一个方法传递url参数,使其路由跳转。

#vue.js#javascript#前端
子类对象获得父类对象的所有属性值的三种方法

最主要的是,用反射感觉很6,当同学看不懂时,你可以轻轻松松装一手。这里简单解释一下,getDeclaredFields() 方法能获得类本身的所有属性但不能获得从父类那继承过来的属性,这是我们初学者最常用的一种方法,使用起来非常快乐,但是当父类的属性达到两位数时,不断地set就变得痛苦了起来…这个方法的限制性很强,这个测试方法只有在将子类和父类的属性都改成public时才能跑通。以上就是我想到的三

#java#开发语言#bug +2
Redis 缓存击穿问题 解决方案(二) 逻辑过期

​逻辑过期方案:用户查询某个热门产品信息,如果缓存未命中(即信息为空),则直接返回空,不去查询数据库。如果缓存信息命中,则判断是否逻辑过期,未过期返回缓存信息,过期则重建缓存,尝试获得互斥锁,获取失败则直接返回已过期缓存数据,获取成功则开启独立线程去重构缓存然后直接返回旧的缓存信息,重构完成之后就释放互斥锁。​由于线程获得锁之后要开启独立线程去重构缓存信息,那么我们最好提前声明定义一个线程池。​这

#缓存#redis#java
    共 11 条
  • 1
  • 2
  • 请选择