自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(170)
  • 收藏
  • 关注

原创 【八股】synchronized

synchronized是Java中用于实现同步的关键字,每个对象内部都有一个锁(也监视器锁或互斥锁), 而synchronized就是一种用来获取或释放这个锁的机制。其中owner是关联的获得锁的线程,并且只能关联一个线程;waitset关联的是处于Waiting状态的线程。他的底层是由monitor实现的,monitor是jvm级别的对象,由c++实现,线程获取锁需要使用对象锁关联monitor。在monitor内部有3个属性,分别是owner,entrylist,waitset。

2024-04-25 03:45:30 153

原创 【八股】Spring Boot

首先,SpringBoot的核心注解@SpringBootApplication里面包含了三个注解,@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan,其中@EnableAutoConfiguration是实现自动装配的注解,如下图所示。最后根据读到配置类中的@ConditionOnClass判断是否有对应的class文件, 如果有的话就加载这个类,把这个配置类的所有Bean放入Spring容器内使用。

2024-04-22 04:06:40 313

原创 【八股】Redisson分布式锁

主要了解了Redisson分布式锁实现的三个功能:1.可重入 -> 防止死锁2.可重试(非阻塞获取锁)3.自动续约。

2024-04-17 23:04:53 627

原创 【八股】MySQL

覆盖索引是指,查询使用的索引,需要返回的列,在该索引的叶子节点中已经能够全部找到。简单的来说,覆盖索引就是查询索引后,已经得到了所需字段的信息,不需要回表查询。

2024-04-13 01:47:27 307 2

原创 【八股】AOP

AOP(Aspect Oriented Programming),面向切面编程,他是一种编程范式。在不改变原始设计的的基础上对其进行功能增强。切面:通知和切入点之间的绑定关系。切入点:追加功能的方法。

2024-04-11 03:02:04 131

原创 【项目】牛马点评 问题汇总

项目里没实现,如果让我做的话,我会获得用户的ip地址,然后存到redis里,设置个ttl比如1分钟,每次请求过来后就先看看redis里有没有这个ip,有的话就不发验证码。

2024-04-03 02:15:38 239

原创 【八股】Spring MVC

Spring MVC 是 Spring 中的一个很重要的模块,是一个根据MVC架构推出的web开发框架,目的是为了简化Java的web开发。

2024-03-31 21:07:57 317

原创 【八股】IOC

如果用注解注入,那么Spring项目启动时不会报错,直到用到循环依赖的时候就会死循环,后面会报错栈溢出,就是那个StackOverflowError。5. 默认是根据名称(byName)进行自动装配的,如果没找到Bean,就再根据类型(byType)进3装配,如果还是没找到,就会报错。如果用构造器注入,那么Spring项目启动时就会报错,提醒你的代码里有循环依赖的问题。6. @Resource也可以加上 name 属性值,根据name的名称进行注入。因为有可能会有循环依赖这个问题。

2024-03-31 20:35:37 166

原创 【八股】集合

HashMap是基于哈希表的Map接口实现,是非线程安全的。JDK1.8之前 HashMap 底层是数组+链表实现的,数组是HashMap的主题,链表则是为了解决哈希冲突的。(拉链法)JDK1.8之后 HashMap 在解决哈希冲突的方法有了较大的变化,当链表长度大于等于8并且数组长度大于等于64后,会将链表转化为红黑树,以减少搜索时间。

2024-03-29 16:57:26 179

原创 【八股】泛型

为了使相同的代码适用于多种数据类型,也就是代码复用。

2024-03-28 20:57:57 394

原创 【八股】反射

如果要执行对应对象的方法的话直接new一个出来执行不就好了嘛?反射存在的意义我还没想通。

2024-03-27 17:19:01 197

原创 【八股】线程池

maximumPoolSize - 最大线程数。corePoolSize - 核心线程数。keepAliveTime - 生存时间。threadFactory - 线程工厂。workQueue - 阻塞线程队列。handler - 拒绝策略。unit - 时间单位。

2024-03-26 10:19:27 231

原创 【八股】Java线程之间协作

可以使用join()方法。

2024-03-25 10:55:36 469

原创 【八股】Java 线程状态转化

线程一共有六种状态。

2024-03-24 23:57:08 214

原创 【八股】ThreadLocal原理

每个Thread里面都有一个类型为ThreadLocalMap的变量,这个ThreadLocalMap类型的变量其实就是个哈希表,这个哈希表里面的每个Entry的key为ThreadLocal,value为资源对象。最后看到Thread.java源码里的set函数,其实就是找到当前线程的ThreadLocalMap,然后往里面传入key为ThreadLocal,value为资源对象的Entry。

2024-03-21 19:40:32 224

原创 CodeTop高频题解法快速一览(持续更新到2025)

考察频率从高到低。

2024-03-19 11:37:30 134

原创 做黑马程序员项目时,bat文件设置环境(例如打开Redis,Nginx服务)

每次做黑马项目时,都要手动打开Nginx和Redis,又不想把这两个加到开机自启动服务里,不想增加耦合性,因此可以写个bat文件作为折中方案,每次要跑x项目时,就运行一下x.bat文件搭一下环境。做黑马点评时需要打开Redis和Nginx,这里把打开Redis和Nginx的指令都写在bat文件里。以后要搭某个项目的环境的话,只要运行一下那个项目对应的bat文件即可。hmdp.bat文件里的内容。

2024-03-08 12:40:53 205

原创 Shell脚本监控进程异常终止并重启

shell脚本监控进程异常终止并重启

2024-02-03 22:49:01 373

原创 Java面试题汇总 (自用)

ListArrayList和LinkedList的区别插入,删除元素时间复杂度支不支持随机访问内存空间占用

2024-01-14 23:21:43 407

原创 毫米波雷达常用公式

是Sample Rate(雷达采样率),c是光速,是Chirp Rate(chirp斜率))(c是光速,B是带宽)

2023-10-15 01:13:48 229

原创 OpenRadar DOA函数 Bartlett/CBF和Capon使用

Bartlett / CBF原理Capon原理openradar的作者代码水平很高,但里面有很多bug,所以初学者(去年的我)会比较难受,比如他demo里的解析文件格式就很迷啊等等。。所以加油慢慢积累吧。

2023-10-06 23:40:30 413

原创 HoneyView 连续浏览图片时,维持图片缩放比例

按 ctrl + k。

2023-10-05 13:53:10 225

原创 解决selenium的getdrive()方法阻塞问题

当然我也是刚了解selenium这个库,这里提供给各位一个思路,如果各位有更好的思路欢迎在评论区跟我交流 : )如果是0,那就继续找;如果非0,就表明找到了,就可以跳出循环,做接下来的操作了。

2023-08-24 21:40:30 911

原创 Soundpad解决自动键失效的问题

解决soundpad自动键失效

2023-08-11 01:04:27 1953

原创 雷达信号处理自学总结(持续更新)

雷达信号处理自学笔记

2023-07-26 21:12:36 364

原创 傅里叶变换 FFT python简单版本实现

zzy_fft就是我手动实现的toy版本的fft。那么我们就用python实现一下吧。

2023-07-21 05:16:42 214

原创 self-attention和multihead-attention代码

attention

2023-07-20 02:21:48 159

原创 刘二 basic rnn 课堂代码以及课后作业(待补

rnn

2023-02-02 04:32:32 96

原创 vsc code-runner插件运行python文件,解释器更改为ananconda

code-runner刚下载下来的默认解释器是系统自带的,并不是anaconda的。找到code-runner: executor map。找到python的命令,改为自己的解释器位置即可。

2023-01-14 20:22:02 444

原创 FFT temp

fft temp

2022-10-07 23:25:05 225

原创 突然访问不了网站,访问基本网站显示ERR_NAME_NOT_RESOLVED

日记

2022-09-24 22:19:31 2646

原创 ubuntu,mysql

#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <stdio.h>#include <unistd.h>#include <errno.h>#include <fcntl.h>#include <stdlib.h>#include <assert.h>#include <s

2022-04-14 10:32:12 72

原创 父子进程通信:管道

实现原理:内核借助环型队列机制,使用内核缓冲区实现。管道的限制:数据不能进程自己写,自己读管道中数据不可以反复读取。一旦读走,管道中不再存在。采用半双工通信方式,数据只能在单方向上流动。只能在有公共祖先的进程间使用管道。管道读写行为:读管道:1.管道有数据,read返回实际读到的字节数2.管道无数据:(1)管道写端全部被关闭时,read返回0。(2)管道写端没有全部被关闭,read阻塞等待。写管道:1.管道读端全部被关闭,进程异常终止(也可以使用捕捉SIGPIPE信号,使进程不

2022-04-09 19:18:44 1310

原创 条件变量,信号量实现生产者消费者

#include <stdio.h>#include <ctype.h>#include <sys/socket.h>#include <arpa/inet.h>#include <stdlib.h>#include <string.h>#include <strings.h>#include <unistd.h>#include <errno.h>#include

2022-04-08 20:23:45 115

原创 linux常用指令

查看进程:ps aux | grep [name]查看线程:pstree -p [pid]

2022-04-08 00:02:10 1136

原创 锁,条件变量

使用mutex(互斥锁)的一般步骤:pthread_mutex_t lock; 创建锁pthread_mutex_init(); 初始化pthread_mutex_lock() ; 加锁访问共享数据(stdout)pthread_mutex_unlock(); 解锁pthread_mutex_destroy(); 销毁锁restrict关键字:用来限定指针变量。该指针指向的内存所进行的操作,必须由本指针完成。注意事项:保证锁的粒度,越小越好(访问结束立即解锁)读写锁:pthrea

2022-04-06 23:23:01 183

原创 bash快捷键,系统目录

移动到第一个字母 ctrl + a移动到结尾 ctrl + e上条指令 ctrl + p下条指令 ctrl + n左 ctrl + b右 ctrl + f删除光标后面的 ctrl + d删除光标前面的 backspace删除整行命令 ctrl + uLinux系统中“所见皆文件”bin:存放二进制可执行文件boot:存放开机启动程序dev:存放设备文件home:存放用户etc:用户信息和系统配置文件lib:库文件root:管理员宿主目录(家目录)[cd ~]usr:用户资

2022-03-25 20:50:30 1700

原创 virtual box设置共享文件夹

首先virtual box新增一个共享文件夹在ubuntu终端运行sudo mkdir windowssudo mount -t vboxsf share ~/windows

2022-03-05 02:46:35 379

原创 线程相关函数

pthread_ t pthread_self(); 获取线程idint pthread_create(pthread_t *tid(传出参数), 线程属性(NULL), 子线程回调函数, 参3的参数(NULL));【成功返回0】创建子线程void pthread_exit(); 退出当前线程exit(); 退出当前进程return; 返回调用者那里pthread_join();pthread_mutex_t lock;pthread_mutex_init;pthread_mutex_l

2022-02-28 00:05:39 65

原创 epoll事件模型,基于epoll多路IO复用实现的server

LT模式(默认):水平触发,缓冲区未读尽的数据会导致epoll_wait返回ET模式:边缘触发,缓冲区未读尽的数据不会导致epoll_wait返回。新的时间满足,才会触发。epoll的ET模式只支持非阻塞模式。struct epoll_event temp;temp.events = EPOLLIN | EPOLLETepoll.ctl(epfd, EPOLL_CTL_ADD, cfd, &temp);int flag = fcntl(cfd, G_GETFL);flag |= O_N

2022-02-20 22:11:09 224

空空如也

空空如也

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

TA关注的人

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