自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 问答 (1)
  • 收藏
  • 关注

原创 sockjs-client 发送大流量消息时出现消息丢失

使用sockjs发送大批量信息时,在服务端发现大量数据出现丢失,在客户端发送60w行消息时,平均服务端只能收到8w行,消息的丢失率达到86%,以下是该问题的分析流程。

2023-11-02 23:24:44 457

原创 在docker容器中正常启动docker服务

在docker容器中正常启动docker服务

2022-11-27 14:53:26 1381 1

原创 JUC:ThreadPoolExecutor

ThreadPoolExecutor介绍源码地址:java.util.concurrent.ThreadPoolExecutor线程池意义:减少开销:重复使用纤尘资源,降低创建和回收的效率。便于管理:帮你维护线程ID,线程状态等信息。源码继承关系[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NXSWA6nP-1642494029647)(./image/t1.jpg)]ThreadPoolExecutor继承了AbstractExectorService

2022-01-18 16:23:00 206

原创 JUC:ConcurrentHashMap

ConcurrentHashMap看前本博客只是为了记录,学习流程,学习源码其大部分看的是ConcurrentHashMap 1.8 源码分析这位大佬的博客,写的十分详细,图文并茂非常易懂,十分推荐。我这篇博客只是在他的基础上加了点自己的理解(肯定有不少理解不到位的地方)以及查询了一些没讲到的函数。介绍源码: java.util.concurrent.ConcurrentHashMapHashMap有线程安全问题,导致出现链表死循环的情况。HashTable和ConcurrentHashMap没有

2022-01-18 16:20:16 183

原创 HashMap

HashMap1 介绍拉链散列算法的包装,在JDK1.8中运用数组+链表+红黑树的方法。2 源码2.1 属性static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;//初始容量static final int MAXIMUM_CAPACITY = 1 << 30;//最大容量static final float DEFAULT_LOAD_FACTOR = 0.75f;//默认装载因子static final int TRE

2022-01-18 16:15:07 98

原创 JUC:CountDownLatch

CountDownLatch介绍基于AQS实现了闩(shuān)锁。运行一条或多条线程等待其他线程中的一组操作完成后,在继续执行。源码地址:java.util.concurrent.CountDownLatch流程:要解决的问题,主线程等待子线程的完成。主线程等待被唤醒,唤醒条件为子线程都完成,AQS中的state可以表示为等待执行完成的任务数,当一个任务完成,state–,当state==0时唤醒主线程。属性private final Sync sync;属性初始化时机public C

2022-01-18 16:13:45 253

原创 JUC:ReentrantLock

ReentrantLock1 介绍源码地址:java.util.concurrent.locks.ReentrantLockReentrantLock基于AQS,实现了公平锁和非公平锁,在开发中可以用它对共享资源进行同步,此外和synchronized一样,ReentrantLock支持可冲入,但ReentrantLock在调度上更加灵活,支持更丰富的功能。2 源码2.1 继承关系继承关系如下图:public class ReentrantLock implements Lock, java

2022-01-18 16:12:49 227

原创 JUC:AQS

AQS1 介绍什么事JUC? Java 并发包 java.util.concurrent。什么是AQS?全称:AbstractQueuedSynchronizer,他是一个抽象类,也是后面介绍的并发包的基础工具类,实现了ReentrantLock,CountDownLatch,Semaphore,FutureTask的基础。为什么要写AQS 因为CAS只能对内存中的某个值进行无锁同步操作,但是无法对某个对象进行无锁同步操作。AQS就是为了解决这个问题而被写出来的。2 源码(独占模式)源码位置:

2022-01-18 16:11:04 81

原创 CAS原理

CAS1 为什么要写CAS有时操作者不希望让操作系统那么“悲观”,每次都使用同步原语对共享资源进行资源锁定,而是希望让线程反复“乐观”的尝试获取共享资源,如果空闲那么是用,如果被占用,则继续尝试。CAS就这样应运而生了。2 实现原理2.1 实现资源Z设置了一个值假设叫Zp,Zp为0代表资源空闲,1代表资源被占用。A,B两个线程发现Zp为0,则都去争抢这个资源,A运气好抢到了这个资源,将Zp改为1,B也不会放弃,会不断回来看看Zp变为0了没。在A获得时间片时,它将oldValue(读到的资源对象的状

2022-01-18 16:07:40 401

原创 synchronized

synchronized 原理1 synchronized特点1.1 原子性操作不可中断,要么执行不被中断,要么不执行。1.2 可见性多线程访问同一资源时,该资源状态信息对其他线程可见。1.3 有序性java允许编辑器和处理器对指令进行重排,而synchronied和volatile都有有序性,即线程执行同步代码是分先后顺序的。1.4 可重入性synchronized和ReentrantLock都是可重入锁,即一个线程拥有了锁仍然可以重复申请自己持有的锁。2 synchronized 用

2022-01-18 16:04:21 107

原创 CSAPP:MallocLab

Malloc Lab做什么?实现一个内存分配器怎么做?非常建议看完书后,自己写一遍,进步非常大,可以检测出你哪块理解不够深刻,可以将这块知识点吃的很透彻。在遇到瓶颈的时候看看人家怎么写的,不然写出的代码有局限性,结果都不太好。比如说我的方案只按照书上的提示走,没有考虑各种方法相结合所以具有局限性,博客可以看https://zhuanlan.zhihu.com/p/126341872 这位大佬的隐式链表实现(按照9.9.12思路编写)/* * mm-naive.c - The fa

2021-05-28 10:57:04 495

原创 CSAPP:ShellLab

shelllab做什么补全缺失的函数,以实现简易的命令行。需要补全的函数有: void eval(char *cmdline)//对一条命令进行解析运行 builtin_cmd(char **argv) //解析是内置命令还是可执行性文件名 void do_bgfg(char **argv)//执行bg,fg命令 void waitfg(pid_t pid)//等待前台进程结束 void sigchld_handler(int sig) //SIGC

2021-05-28 10:55:32 206

原创 CSAPP: CacheLab

perflab要干啥?重写kernels.c中的rotate.c与smooth函数使之更快。怎么干?rotate.c无法循环展开因为这道题每一步都在寻址,并且寻址的目标每一步都不相同,并且在一个地址的值一次就赋值完毕,不会对同一个地址进行二次寻址,所以我想的改进方向就是使得寻址更加快速。所以我使得寻址的地址更加连续。改进如下:void rotate(int dim, pixel *src, pixel *dst) { int i, j, t,n; n = dim ...

2021-05-28 10:52:42 339

原创 CSAPP:Perflab

perflab要干啥?重写kernels.c中的rotate.c与smooth函数使之更快。怎么干?rotate.c无法循环展开因为这道题每一步都在寻址,并且寻址的目标每一步都不相同,并且在一个地址的值一次就赋值完毕,不会对同一个地址进行二次寻址,所以我想的改进方向就是使得寻址更加快速。所以我使得寻址的地址更加连续。改进如下:void rotate(int dim, pixel *src, pixel *dst) { int i, j, t,n; n = dim ...

2021-05-28 10:51:08 550

原创 CSAPP:Attack

attack-lab要干啥?利用漏洞改变./ctarget与./rtarget文件的输出。怎么干?运用objdump -d xxx来获取反汇编代码:ctarget:phase1 00000000004017a8 <getbuf>: 4017a8: 48 83 ec 28 sub $0x28,%rsp 4017ac: 48 89 e7 mov %rsp,%rdi 4017af: ...

2021-05-28 10:47:33 238

原创 CSAPP:Boom

Boom!!!要干啥:顾名思义,拆炸弹,一共有6关,你要在每一关输入指定的字符串来拆除炸弹。怎么干:gdb基础:具体使用看官网或者技术博客,我只在这里介绍本实验用到的gdb命令。quit是退出gdb调试,可简写为q run让程序跑起来,一般是设置断点后输入该命令进行调试,可简写为r break设置断点,break后面跟着的可以是行,可以是函数名称,可以是地址,可简写为b step若为函数则进入函数,但是在本例中我使用s(step的简写情况)则直接跳过了进入函数步骤,到达主函数的下一条

2021-05-28 10:43:34 324

原创 CSAPP:DataLab

实验1:DataLab要干啥?按照要求填写bitsc.c内函数。怎么干?bitAnd(int x, int y):只使用~与|符号来实现x&y的效果,离散数学的知识,即 答案:~((~x)|(~y))getByte(int x, int n):只使用 ! ~ & ^ | + << >>符号,且最多只使用6个,来实现获取x中第n个字节信息,n从0开始。 基本思想就是让x右移f(n)个比特位,然后与0xff进行&运算,为什么是0xff呢

2021-05-28 10:39:25 1522

原创 Manjaro 安装 Matlab 遇到的问题

安装错误修改参考的博客:1,https://blog.csdn.net/Joker00007/article/details/112338703?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=1328767.26447.16174334963649747&depth_1-u.

2021-04-06 13:57:40 1260

原创 Scoop遇到的问题记录与解决

1.scoop 安装软件时出现hash检查错误 解决方案1 多次安装后仍出现错误,找到其json文件,下载到本地更改其hash值,上传到自己的bucket中,进行更新。 解决方案2 scoop install 后加入-s选项以忽略其hash检查,具体使用方法请用scoop help install 2.scoop更新软件时如何删除旧版本软件 解决方案1 scoop cle...

2021-01-24 18:27:18 3066 1

原创 myeclipse使用getResourceAsStream得到的值为空的问题

问题简述:我们的javaweb项目在util中读取数据库配置文件,使用getResourceAsStream方法得到的值为null,导致异常,如下图所示:建议你看一下System.out.println(ConfigManager.class.getResource("/"));这个类输出的路径,如果为webinf/classes中但是其中没有配置文件的话,说明你和我遇到了同样的问题:解决方法:再次运行:成功!...

2020-06-15 16:42:39 398

原创 聚类算法(k_means与层次聚类)

K-means聚类算法思路如下:首先输入 k 的值,即我们指定希望通过聚类得到 k 个分组; 从数据集中随机选取 k 个数据点作为初始质心; 对集合中每一个样本点,计算与每一个初始质心的距离,离哪个初始质心距离近,就属于那个类。 按距离对所有样本分完组之后,生成新的质心。 重复(2)(3)(4)直到新的质心和原质心相等,算法结束。程序:import osimport randomimport numpy as npimport copyimport matplotlib.py

2020-06-11 17:02:45 1216 1

原创 scoop下重新安装的mysql存在密码问题

本篇文章只是为了记录,如果有人因此解决了问题,不胜荣幸问题简述在重新安装scoop后依旧会有如下,情况,在查阅了很多博客后感觉不适合scoop下的情形。但是其中有一篇博客说在安装目录data文件中的.err文件中可以找到初始密码,但是我没有找到,相反在多次用scoop,卸载重装mysql后,我发现他的err日志文件还保留我前几天对mysql的操作,我比较疑惑,我都卸载了很多次了为什么还会有保留呢,再加上mysql安装目录下的data文件有快捷方式的图标,但是点击属性又没有发现源路径,于是我用ev

2020-05-20 20:06:55 747 1

原创 windows10 在powershell下安装scoop

目的一来记录踩过的坑,二来能帮助到可能遇到这方面问题的小伙伴问题描述:在powershell下输入Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')# 或iwr -useb get.scoop.sh | iex产生类似于:无法解析远程名称 raw.githubusercontent.com类似的错误信息原因:简单的说就是域名被DNS污染了解

2020-05-12 12:37:14 1626

原创 泊松融合-matlab实现

泊松图像融合原理很容易理解但是实现的时候有很多坑,在找资料的时候发现这方面的代码很少,虽然修改多次但代码仍有很多不足的地方。如果想了解泊松融合原理可以看一看本站其他一些文章写的很好。废话不说上代码:main.mclc,cleara=double(imread('2.jpg'));b=double(imread('1.jpg'));[row_a,col_a,g_a]=size...

2019-11-08 13:12:52 3373 5

原创 感知机算法原理及matlab代码实现-统计学习方法学习笔记

前言感知机(perceptron)是二分类的线性分类模型,输入实例数据,输出为实例的类别,分别取+1,-1二值。属于判别模型,感知机学习旨在求出将训练数据进行线性划分的分离超平面,其实现原理主要基于误分类的损失函数,利用梯度下降算法对损失函数进行极小化。感知机1957年由Rosenblatt提出,是神经网络与支持向量机的基础。优点:简单易于实现。不需要太高的数学基础与编程技巧。缺点:线...

2019-10-30 21:41:10 2114

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除