- 博客(25)
- 资源 (18)
- 收藏
- 关注
原创 在armbian上使用蓝牙音频设备
随后配置音量,用第1个字段作为设备名称,调整音量。打开蓝牙之后,执行这个命令进入蓝牙管理界面。执行这个命令查看蓝牙设备/打开蓝牙设备。随后在蓝牙管理界面可以扫描和连接蓝牙。调整音量,需要先枚举音量可调节设备。执行这个命令安装蓝牙音频设备。
2025-01-01 14:10:42
298
原创 编译制作 CN.iv4 CN.iv6 文件
iptables有时会需要CN.iv4和CN.iv6文件来实现基于IP段的转发规则,这两个文件可以编译获取到,具体过程如下
2022-01-15 13:45:56
245
原创 树莓派作为avr烧录器为Arduino写入BootLoader
事情起源从网上买了一个arduino pro mini,接上串口之后发现无法烧录程序,扔了半年,中秋有时间拿出来搞一波。首先怀疑买来的Arduino没有BootLoader,上网上搜了一下表现,确实是这个样子,那么问题就变成了如何给arduino烧录BootLoader网上普遍有两种解法买个烧录器烧录用已有的arduino烧录ArduinoISP固件,然后给另一个Arduino烧录BootLoader前者要花钱,后者的话需要另外一个Arduino,手头没有,但是手头有树莓派。考虑到之前用树莓
2021-09-20 19:07:01
1086
原创 OpenWRT软件包界面编译设置
正常OpenWRT源码软件包管理界面的显示与否是由luci-app-opkg这个软件包控制的,可以在编译的时候luci菜单里面进行选择。非正常的X-WRT源码编译的时候还是需要这个包,但是X-WRT隐藏了软件管理界面。刷固件之后ssh到路由器,执行下面命令,取消隐藏sed -i 's/-hidden//g' /usr/share/luci/menu.d/*.json...
2021-02-10 09:35:45
1364
原创 Ubuntu20.04 Spring开发环境安装
1. 安装OpenJDK Maven Tomcat MySQLsudo apt install default-jdk maven tomcat9 tomcat9-docs tomcat9-admin mysql-server mysql-client libmysqlclient-dev2. 可选:切换默认java版本sudo update-alternatives --config java3. 配置tomcat监听端口,编辑文件/etc/tomcat9/server.xml
2021-01-16 14:46:30
598
原创 Ubuntu 20.04 配置无线网络WiFi
1. 参照 ubuntu18.04.3,配置netplan相关yamlnetwork: ethernets: enp2s0: dhcp4: true wifis: wlo1: dhcp4: true access-points: "<ssid>": password: "<passowrd>" version: 22. 先连接有线网络,安装无线网络配置工具sudo a
2021-01-16 14:11:05
13494
原创 Java Stream操作相关学习笔记
Java Stream操作相关学习笔记记录一些有用但是不常用会被忘掉的操作。IntStream转换成Stream:使用.boxed() 可以直接将IntStream转换成Stream,使用熟悉的Stream操作Stream转换成指定类型的容器:使用.collect(Collectors.toCollection(LinkedHashSet::new)) 可以完成要求...
2020-12-18 23:49:26
174
1
原创 一行命令转换windows/linux回车换行
vim +"set nobomb | set fenc=utf8 | x" targetfile.txt
2020-07-26 18:58:14
579
原创 树莓派3B在ubuntu18.04.3下配置wlan0
1. 使用 ip link show 查看当前无线网口名称,应该是wlan0,如果不是则需要对应进行修改2. 进入 /etc/netplan/ ,复制备份内部现存的*.yaml文件,然后编辑原来的那个文件network: version: 2 ethernets: eth0: optional: true d...
2019-11-05 20:28:12
5175
原创 Raspberrypi 3b 使用 debian buster 播放音乐
0. 在这里下载最新的debian支持raspberrypi的镜像1. 建议首先按照博客配置好无线网络。2. 修改 /etc/apt/sources.list ,添加buster-backports源deb http://mirrors.cqu.edu.cn/debian buster main contrib non-freedeb http://mirrors.cqu.edu....
2019-11-04 22:11:17
309
原创 debian 配置无线网络
1. 使用 ip a 命令查看当前无线网卡名称,例如wlan02. 进入 /etc/network/interfaces.d/ 看看有没有wlan0文件,没有的话,复制一份eth0文件为wlan03. 使用 iwconfig 命令查看当前无线网卡状态,使用 iwlist wlan0 scan 扫描周围无线网卡4. 编辑 /etc/network/interface 文件,添加以下内容...
2019-11-04 20:45:48
18774
原创 记录一次修复ubuntu18.04网络的过程
ubuntu18.04使用了networkmanager作为网络管理工具,原来编辑/etc/network/interfaces的办法都没法用了。ubuntu18.04默认不安装net-tools,所以也没有ifconfig用了。作为替换ubuntu默认安装了ip命令。教程在这里,估计有很多。ubuntu18.04的默认网口名称不再是原来的eth0这种了,而是enp0s3,ens33这种...
2019-08-03 23:15:45
1869
原创 Java中HashMap的实现
HashMap是如何实现的?简单说,HashMap是通过一个数组和多个链表实现的。数组用来记录key,链表用来构成桶(键值对链表)。注意:桶是指的数组,不是链表。put()函数:对key的hashcode再次进行hash(高16位和低16位进行异或得到),计算index 去数组的index位置找,尝试挂到数组index位置的链表里面。这时候会调用key.equals()函数,如果...
2019-04-14 22:29:56
318
原创 设计模式之工厂模式
简单工厂模式简单工厂更像是一种变成习惯。通过定义一个工厂类,传入不同的参数,可以生成拥有共同父类或者共同接口的子类。由于定义简单,所以简单工厂只适合工厂能创建的类型不是很多的情况,否则代码会变的很复杂。工厂方法模式工厂方法改变了简单工厂使用一个工厂创造多种子类的方式。工厂方法模式有很多工厂,他们有共同的父类或者接口。所有工厂都集成了这个父类工厂,当需要使用工厂方法模式创造子类的时候,首...
2019-04-14 21:17:23
103
转载 Mysql主键索引、唯一索引、普通索引、全文索引、组合索引的区别
Mysql索引概念:说说Mysql索引,看到一个很少比如:索引就好比一本书的目录,它会让你更快的找到内容,显然目录(索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要占纸张的,而索引是要占磁盘空间的。Mysql索引主要有两种结构:B+树和hash.hash:hsah索引在mysql比较少用,他以...
2019-03-26 10:24:11
130
原创 数据库读写分离
读写分离适合读取远大于写入的场景。当不采用读写分离的时候,共享锁(S锁)和排它锁(X锁)会互相争用数据库,采用读写分离技术之后可以极大程度的缓解这个情况。但是读写分离也只适合读取多,写入少的情况,对于读写比例相近的应用,应该部署双柱相互复制。 从库和主库之间的数据并不是完全相同,从库负责读取,从库的数据是通过主库使用binlog恢复过来的,从数据库恢复的过程是异步的,主数据库发送binlog信息...
2019-03-26 10:18:23
145
原创 数据库ACID的含义
A: atomicity 原子性事务(Transaction),一般是指要做的或所做的事情。一个数据库事务通常包含对数据库进行读或写的一个操作序列。原子性保证了一个事务要么被完整地完成,要么完全没有执行。不会在结束和开始中间的某个环节。事务在执行过程中发生错误,会有数据库系统回滚到事务开始之前的状态。原子性是保证一致性的一个前提条件,但是不是充分条件,保证一致性还需要其他方法协助C: co...
2019-03-26 09:59:26
9031
原创 shell设置Ubuntu18.04中文与时区
sudoapt install language-pack-zh-hanssudo dpkg-reconfigure --force locales然后就可以使用MobaXterm开心的连接啦
2019-03-23 21:44:35
860
原创 TCP的拥塞控制
拥塞窗口(cwnd)与慢启动门限(ssthresh)拥塞窗口用来标记当前网络最大能够承受的的数据包数量。它会随着时间变化随时尝试增加,以达到最大化利用网络带宽的目的。慢启动门限用来标记拥塞窗口从指数级增长到线性增长的拐点,并且慢启动门限由拥塞窗口的值设置,一般发生拥塞的时候,被设置成发生拥塞的时候拥塞窗口大小的一半。这个值的默认值是65535。拥塞避免、慢启动、快重传、快恢复慢启动...
2019-03-23 20:13:24
222
原创 SSL/TLS加密基本原理
SSL/TLS是传输层协议,也就是说,这两个协议与TCP/UDP是同级的。但是在底层实现上,SSL/TLS都是基于TCP协议的。‘’SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。普通级别的保护,是服务器需要向用户证明自己的身份,而客户端无需向服务器证明自己的身份,这个过程是通过数字证书完成的,每个...
2019-03-23 12:42:47
11337
2
原创 Java中的关键字Synchronized的一些问题
Synchronized关键字加锁加在哪里Synchronized关键字可以指定加锁的对象,也可以不指定直接使用。synchronized关键字通过使用monitorenter和monitorexit两个字节码指令,来完成对对象的锁定。前者令锁计数器+1,后者令锁计数器-1。当锁计数器为0的时候,表示当前没有任何线程在访问本对象的同步方法。 对于非静态方法,当关键字不指定加锁的对象的时候...
2019-03-21 10:44:31
154
原创 Java多线程的一些挑战
在学习操作系统的过程中,已经对多线程会带来的一些问题有了一定的认识,但是这些仍然有所不足,这里补充记录一下。原子性问题原子性的核心含义是,一个操作不可分割,要么已经完全执行成功,要么就是完全没有被执行。只能处于这两种状态之一。原子性在多线程编程中,是确保不会出错的最基本要求。但有一个错误的理解,就是java当中,多线程安全的类型,即便在上执行非原子性的操作,也能够保证得到正确的结果。这个理...
2019-03-20 13:43:53
149
原创 Java中类的生成与生命周期
java类是有源代码直接生成的。每个类在编译(这里指的是早期静态编译)之后,都会由java编译器生成独立的.class文件,这个工作在jdk当中,是由javac来完成的。 编译过程中,一些常见的语法糖会被去除掉。比如泛型会被擦除类型,自动装箱与拆箱也是在这一步完成的。 有一部分的@注释会在这一步被处理。有些则是会等到运行期才会被处理每个class文件包含了以下内容:标明文件类型的魔术...
2019-03-20 11:04:36
166
原创 后台Linux任务的两种方法
1.使用screen程序screen + 命令,即可将命令输出到一个新的屏幕当中去。screen -ls 显示当前被后台了的屏幕,会有一个4位标号出现在当中在screen中,使用Ctrl + A + D的方式退出screen新建的屏幕screen -r 标号 的方式,可以恢复被后台的屏幕。2. 打完要后台执行的命令之后,添加一个&符号即可。但是这样会使任务处在stopped的状态,可能需要...
2018-03-16 21:32:07
264
原创 git 常用操作
Git 基础操作(不涉及分支)git init 初始化git add 添加文件 / 添加到暂存区 git commit -am "COMMIT MSG" 无视暂存区,将所有添加的文件提交git status 当前工作区状态git checkout -- <FILE> 将工作区的文件退回到上次暂存的状态git reset HEAD -- <FILE> 将工作区文件退回到暂存...
2018-03-06 11:22:56
110
mysql5.7.44 Linux aarch64/arm64(注意不是x86-64)二进制包
2025-01-11
树莓派bmp180模块python3驱动
2020-01-11
VB打字游戏源码+程序
2018-10-23
清华同方X46F BIOS文件
2015-03-13
STM32 SPI方式驱动SH1106 OLED屏幕
2015-01-24
STM8S/A 官方开发库 Ver2.2 20140930
2014-12-31
STM32F1 keil 工程模板(使用Ver3.5库开发)
2014-10-06
STM32F103模板工程文件 含V3.5库
2014-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人