自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言实现Java三大特性

面向对象的java语言有着多种设计模式与特性。比如封装、继承、多态等等。在这篇文章中,我会使用java的代码思路,实现C语言版的JAVA三大特性。并从写代码的角度,从0开始构建。设计了一个机器人结构体(对象)。机器人有他的ID,这是他的静态特征,是主键。机器人有制造商,不光机器人有,所有工业产品都有。机器人有许多行为,跑、跳、检查修理日期等等。机器人有许多内设动作,就是预设将不同行为进行排列组合。

2023-08-18 11:12:25 148

原创 scipy学习

不同的插值方法得到的值不一样。在径向基函数的插值中,径向基函数是一个对应于固定参考点定义的函数。方程的根:numpy能找到多项式和线性方程的根,但是找不到非线性方程的根。查看一组数据的数值摘要,可以使用describe(),返回观测值数量、最值、平均值、方差、偏度等等。公制长度、二进制、质量、角度、时间、压力、面积、体积、速度、温度、能量、功率、力。优化函数:机器学习中所有算法就是复杂的方程,需要在给定数据的帮助下将其最小化。在机器学习中常用来处理数据集中缺失的数据,或是需要得到平滑数据集的情况。

2023-06-30 15:09:19 335

原创 BLE连接通信

将传统的连接通信与广播进行对比,指出其不足说明BLE是如何制定规范解决这些问题写出完整的连接通信流程,并对能影响BLE连接通信的参数进行分析。

2023-05-25 09:18:55 869

原创 BLE协议栈结构

开坑BLE协议栈

2023-05-24 16:19:05 1076

原创 RIME协议栈解读

rime类似于TCP/IP协议栈,属于分层结构。图片来自Adam Dunkels本人的rime论文介绍。abc为anonymous broadcast,匿名广播。即将数据包通过无线射频驱动(radio driver)发出去,接收来自无线射频驱动所有的包并交给上层。ibc为identified sender best-effort broadcast,将下层传来的数据包添加一个发送者身份头部——使用数组形式。uc为unicast abstraction,将上层的数据包添加一个接收者头部。

2023-05-11 16:22:28 549

原创 南邮人工智能复习大纲 2021-7

题型:1、选择题(15%)2、简答题(15%)3、推理题(30%)4、计算题(25%)5、画图题(15%)基本概念:1、人工智能有哪几个主要学派?各自的特点是什么?符号主义:认为人工智能起源于数理逻辑,人类认知基本元素是符号,认知过程是符号表示上的一种运算连接主义:认为人工智能起源于仿生学。思维的基元是神经元,思维过程是神经元连接活动行为主义:认为人工智能起源于控制论,智能取决于感知、行为和对外界环境的适应2、人工智能有哪些主要研究和应用领域?研究领域:机器思维、机器学习、机器感知、

2021-06-29 17:20:54 2627 12

原创 南邮计网复习提纲2021-6(三)

第七章应用层协议与传输层协议的对应关系网络应用模式客户/服务器模型P2P模型浏览器/服务器模型DNS域名解析器FTP文件传输协议DHCP动态主机配置协议:允许一台计算机加入新网可自动获取IP(自动获取IP地址)电子邮件原理与应用组成构件SMTP简单邮件传输协议:规定相互通信SMTP进程如何交换信息,建立在TCP连接上,C/SPOP:接收邮件协议,用户一但从POP3服务器中读取了邮件,就立即删除MIME:使传输内容更丰富URL统一资源定位符:唯一标识资源HTTP状态

2021-06-16 18:01:59 592

原创 南邮计网复习提纲2021-6(二)

第四章IEEE802局域网标准局域网子层划分①子网划分是由子网掩码来确定IP是否在一个子网内,如果网络的网址相同那就是一个网段,如:11000000.10101000.00000001.00010111(IP)11111111.11111111.11111111.00000000(子网掩码)1的位置是代表IP这部分是网络名,0的位置是主机名。网络名相同的IP在一个子网内。②IP和子网掩码另外的一种写法:192.168.1.2/23,意思就是这个IP的子网掩码有23位的1,代表前23位是网络名,

2021-06-16 17:43:31 1505 7

原创 南邮计网复习提纲2021-6(一)

第一章计算机网络的组成终端系统:由计算机、终端控制器和软件资源和数据源构成,承担数据的产生和消费通信子网:由用作信息交换的网络节点和通信线路组成的通信系统,承担全网数据传输、转接、加工和变换等通信处理工作(网桥、路由器、集线器)网络类型网络拓扑结构:星型、树型、总线型、环型、网络型网络覆盖范围:个人局域网、局域网、城域网、广域网、因特网网络体系结构概念1. 协议概念:指通信双方必须遵守的,控制信息交换规则的集合。用来规定功能部件在通信过程中的操作,定义了数据发送和接收的过程。2.

2021-06-16 17:23:49 1101 9

原创 南邮UML期末复习2021-6

第一章SDLC(软件开发生命周期)阶段:可行性分析需求分析与说明设计编码测试维护5种软件开发方法:瀑布方法:将开发过程分为七阶段,进行线性开发原型方法:原型是系统实例,方法用于需求分析阶段,需求冻结后执行剩余阶段螺旋方法:在软件生命周期内不断迭代,有瀑布方法线性+原型方法迭代的特性双赢螺旋方法:在螺旋方法基础上加入了客户的协商确认增量方法:将需求拆分为多个功能单元,只适用于大项目开发面向对象概念第二章UML(统一建模语言unified modeling languag

2021-05-31 21:57:18 1256 4

原创 南邮安卓期末复习2021-1

// 仅粉丝可见~复习资料:NIIT教材闭卷考试,试卷共4页,题型:1、单项选择题(10道,每道2分);2、判断题(10道,每道2分);3、简答题(6道,每道5分);4、编程题(4道,7+7+7+9分)注:题目均为英文,要求回答也使用英文,不会的单词考试时可以举手提问;基础:安卓核心组件?安卓的key feature?哪些核心组件没有 UI 界面?Activity Service Broadcast Content ProviderIntegrated b

2021-01-06 22:01:11 2643 7

原创 NIO聊天室

服务端package nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.util.Iterator;public class ChatroomServer { private Selector selector; private ServerSocketChan

2020-12-20 22:54:33 112

原创 JDK13新特性学习(二)

支持Unicode 11JDK12比JDK11的Unicode多增加了684个新字符,包括:66个表情符号Copyleft符号中国象棋符号压缩数字格式化var cnf = NumberFormat.getCompactNumberInstance(Locale.CHINA, NumberFormat.Style.SHORT);System.out.println(cnf.format(1_0000));System.out.println(cnf.format(1_000_000));

2020-12-14 20:09:48 145 1

原创 JDK13新特性学习(一)

switch表达式传统switch语句弊端:匹配自上而下执行,忘记写break,后面的case无论是否匹配都会执行所有的case公用一个块范围,不同case语句中的变量不能重名不能在一个case中写多个执行结果一致的条件(case A, B, C: xxx; )整个switch不能作为表达式的返回值Fruit fruit = Fruit.APPLE;int num = switch(fruit) { case PEAR -> { System.out.println(1);

2020-12-13 22:14:38 172

原创 桥接模式学习

桥接模式介绍桥接模式和多继承的思路是一致的,都是想构造出有多性质的对象但多继承方案违背了单一职责原则,桥接模式减少了子类的个数,用组合的方式取代多继承方案中的继承的方式比如:我想要将小米笔记本写成对象:定义电脑类电脑类包含brand和type两个属性...

2020-11-08 20:51:29 140

原创 工厂模式+建造者模式(用例说明)(二)

// 接上一篇建造者模式基于上一篇的图继续~思路就是:消费者自己new出一个房子显然不现实,所以消费者请了worker帮忙造房子(house上加了一层worker)消费者管理worker的实现步骤显然太麻烦,所以消费者请了director帮忙看着worker(worker上加了一层director)这样消费者只用挑选合适的director和worker,house就创建出来了下面看代码:先写好写的House和BuilderMappublic class House { //

2020-11-06 22:45:06 264

原创 工厂模式+建造者模式(用例说明)(一)

// 感觉这两种模式没啥好讲的~直接上代码进行理解// 用造房子的例子将两种设计模式完美结合~// 全程大白话~工厂模式当你要造屋顶的时候,我们一般不会这样写:Roof roof = new Roof();因为屋顶对象的参数太多了,直接new出来非常不方便,而且当我们需要不同材质的屋顶的时候类就非常多,很难管理于是很自然的,定义一个Roof的接口,不同材质的屋顶实现这个接口:public interface Roof { void buildRoof(); String g

2020-11-06 22:13:09 729

原创 单例模式学习

// 从今往后的两个月我会将设计模式学习资料整理成一个系列供我自己和大家参考单例模式思想某个类中只能存在一个对象实例,且该类只能提供一个取得该对象实例的方法饿汉式1. 静态常量class Single { private Single() {} private final static Single instance = new Single(); public static Single getInstance() { return instance; }}优点:写法简单,在类

2020-11-03 16:41:06 98 1

原创 JDK11新特性学习(二)

// JDK9 --> JDK11异步HTTP客户端JDK9开始引入,JDK11中正式可用。HttpClient client = HttpClient.newHttpClient();HttpRequest request = HttpRequest.newBuilder(URI.create("www.baidu.com")).build();BodyHandler<String> ResponseBodyHandler = BodyHandlers.ofString();

2020-10-31 16:14:09 403 1

原创 JDK11新特性学习(一)

// JDK9 --> JDK11(LTS)局部变量类型推断JDK7开始支持的类型推断:(由左边推到右边)List<String> list = new ArrayList<>();JDK11的类型推断:(由右边推到左边)var a = "abc";// 等价于String a = "abc";var不是一个关键字,所以无法写 var n; ,类的属性无法使用var。设置的目的在于减少代码量,节约了编码时间,属于语法改进。 idea代码重构表示不服~

2020-10-30 23:57:09 2106

原创 jdk9新特性学习(二)

// JDK8 --> JDK9try语句的升级// 不用显式关闭流try(InputStreamReader reader = new InputReader(System.in)) { reader.read();}catch(IOException e) { e.printStackTrace();}下划线使用限制JDK9中 _ 变为关键字,不能使用下划线作为标识符String存储结构改变JDK9之前,字符串使用char数组存放。JDK9之后使用byte数组 + enco

2020-10-26 09:51:48 157

原创 jdk9新特性学习(一)

// jdk8 --> jdk9目录结构的变化jdk9中不再有jre文件夹,而是将jre中的文件放至根目录中模块化系统jdk8中JVM在运行时必须要加载rt.jar文件,使得java运行环境臃肿。模块化根据不同模块加载程序运行需要的class,本质上是在package外再加一层module,通过模块管理包,使得:代码组织更安全:不同module之间无法直接访问,但可以通过导入新建module-info.java暴露出目标包// java9demo1包对外暴露module java9

2020-10-25 17:59:59 250 1

原创 rabbitmq学习(三)

MQ应用场景异步处理场景:用户注册后将注册信息写入数据库,发送注册邮件,发送注册短信采用消息队列的形式,将对主业务影响不大的功能数据先存入消息队列中,再通过rabbitmq的广播模型将发送邮件和发送短信作为消费者做为处理系统解耦场景:订单系统通知库存系统传统做法是订单系统调用库存系统的接口,这种做法耦合度高,如果库存系统故障订单就会失败。引入消息队列,库存系统订阅订单系统,并对处理完的消息进行确认操作,确保消息不会出错和丢失流量削峰场景:抢购秒杀活动,服务器性能有限为避免服务器宕机造成的损

2020-09-27 19:31:52 89

原创 rabbitmq学习(二)

// 接着上次的博客继续广播模型生产者把消息发给交换机,由交换机决定发给哪个队列,可以实现一条消息被多个消费者消费。于是就用到了fanout类型的交换器上述图示可以用于分布式订单系统,生产者产生订单后,将订单消息分别发送给订单创建系统,仓库管理系统@RestControllerpublic class FanoutController { @GetMapping("/producer/fanout") public String producerFanout() throws

2020-09-26 18:23:01 86

原创 rabbitmq学习(一)

// 之前项目有一个发送邮件的功能要去做,但由于是海外的服务器,所以发送总是不稳定。// 于是想到采用消息队列的形式异步去发送邮件消息队列分类mq的实现方式很多,比如:RabbitMQ、Kafka、ActiveMQ、ZeroMQ和RocketMQ,以及redis其中kafka擅长处理大数据,追求高吞吐量,常用于日志收集和传输rabbitmq可靠性更强,几乎支持所有常用语言,可以跟踪错误rabbitmq结构rabbitmq的安装我是采用docker进行安装,安装时要注意要安装带有web控制

2020-09-25 22:53:35 389

原创 springboot 整合JWT

jwt由来由于http是无状态的传输协议,所以每一次请求都要带上身份信息。实现方式是创建一个叫会话(session)的概念,服务器端session存储用户的信息,客户端通过cookie存放sessionid,每次请求都带上cookie,以验证sessionid因为cookie容易被恶意篡改、sessionid存储的信息太单一、session管理复杂(多服务器导致session需要统一管理)等问题,jwt出现了jwt在服务器端生成,再传给前端。后端可以解码每次请求携带的jwt,不需要单独存储也可以获取

2020-09-23 16:56:06 234

原创 redis 的应用场景

// 学习了redis的语法后更需要了解redis的应用场景~利用redis时效性手机验证码检验:通过在redis里存储一个带时限的字符串,实现前端验证码的校验及过期逻辑订单业务倒计时存储认证之后的token信息利用redis的高效性能作为缓存,存储一些常从数据库中读出的数据利用redis的数据类型zset --> 各种排行榜set --> 用户共同好友统计geospatial --> 存储地理信息,并解决地理位置等问题hyperloglog --> 独立

2020-09-22 20:00:22 71

原创 centos7 安装 mysql8 【亲测两次】

//某位大佬说过,mysql只有5.5、5.7、8.0三个版本,所以当然我们要装最新版咯还有就是centos7是比较稳定的版本,很多云服务器都是7为默认版本// 网上很多mysql8的安装都有问题,害得我装了删、删了装,但也总结出了一套完美流程如果你是第一次在linux上装mysql8,强烈推荐1. 版本问题centos7对应的是mysql8.0中后缀是el7的版本,centos8则是el9,不要安装错2. 历史遗留问题有些云服务器会自带margindb或者有mysql,在装之前要全部删除

2020-07-24 21:28:58 152

原创 idea插件吐血大推荐~

// 下面将推荐给大家我在日常中使用的插件,应该是新手向~idea插件的安装方式在settings中选择plugins,在marketplace进行下载当然这个市场日常进不去。。可以有两种解决方法:1、翻墙 2、提前下载好然后导入idea中阿里云工具不仅可以用来连接阿里云,其他云也可以使用此工具。优点:不用来回切换控制台,全在idea中进行~设置背景图可以在idea中自定义背景图以及透明度优点:解决枯燥编码难题,一换就是一整天~统计代码量可以帮助统计整个项目的代码量优点:分

2020-07-19 18:46:58 206

原创 springboot自动装配过程理解

//蓝色为项目启动后自动装配的步骤,红色为项目启动后run方法的执行步骤。自动装配解释:从@SpringBootApplication进入到@EnableAutoConfiguration中在选择器类中,getCandidateConfigurations方法下的SpringFactoriesLoader类SpringFactoriesLoader类下的loadSpringFactories方法在这里明确指出会在启动时加载META-INF/spring.factories

2020-06-29 15:26:52 3720

原创 JVM小结【持续更新】

// 回过头学习了JVM,进行一次总结JVM的结构

2020-06-21 16:15:52 254

原创 使用callable开启线程

//在学校中常用的方式是:class Test { public static void main(String[] args) { Thread t = new Thread(MyThread, "A"); t.start(); }}class MyThread implements Runnable { public void run() { System.out.println("实现Runnable"); }}如果学了lambda表达式后主函数可以改的更

2020-06-19 18:13:20 1069

原创 多线程之虚假唤醒

class Data { private int number = 0; public synchronized void inc() throws InterruptedException { if(number!=0) { this.wait(); } number++; System.out.println(Thread.currentThread().getName()+"=>"+numbe

2020-06-17 19:17:25 252

原创 springcloud 小结【持续更新】

// 最近在学习springcloud的一套服务,想用自己的话总结一波。使用的技术栈是:服务注册:eureka --> zookeeper、consul、nacos负载均衡:ribbon/feign --> ribbon、loadBalancer/openFeign服务熔断,服务降级:hystrix --> resilience4j、sentien

2020-06-15 17:43:06 174

原创 springboot 集成 swagger2

新建springboot项目导入依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><dependency> <groupId>io.springfox</gro.

2020-06-11 17:28:20 136

原创 安装sqlite3的问题解决

npm i sqlite3会报这样的错误node-pre-gyp install --fallback-to-buildnode-pre-gyp WARN Using request for node-pre-gyp https download 原因大概是墙的问题,网上说的下载node-pre-gyp也不能解决解决方法如下:npm install sqlite3 --node_sqlite3_binary_host_mirror=http://npm.taobao.org/mirrors

2020-06-10 08:40:37 3606

原创 微机实验--串口通信(内环自发自收)

//运用微机系统串行口知识,进行微机系统串行口的测试;完成硬件测试环境;编写程序对微机系统的串口进行自发自收的内环测试;数据发送从键盘输入,接受数据在屏幕上显示。不多BB,直接上代码.586DATA SEGMENT USE16BUF DB 30 DUP(?)DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX CALL I8250 ; 8250初

2020-05-14 09:31:29 6709 7

原创 解决http无状态问题

// http无状态问题不解决,就永远不知网线那一头的人究竟是男是女~cookie + sessionSession称为会话状态,是开发者为了实现中断和继续等操作的抽象概念。但在cookie+session中,session被看做是一种高级会话的实现。cookie写在http的header中,解决了前端的无状态问题。但是由于前端的诸多限制(比如说浏览器删除cookie),导致了cookie...

2020-04-25 12:27:15 650

原创 三大范式及BCNF范式分解集合

// 数据库老师始终不见,埋头看书苦不堪言。遇到范式更是难解,真就自己阅读自学。好诗好诗范式简介数据库范式是一种规范。类似同心圆,最外面一层要求最低,最里面要求最高。规范的要求从低到高分别为:1NF 2NF 3NF BCNF 4NF 5NF在日常使用中数据库能达到3NF的要求就已经很严苛,根据BCNF划分新的表一般也不会超过一次。但谁叫我们要做题呢~~范式对应要求级别高的范式包含比...

2020-03-22 10:20:07 6198 5

原创 linux下踩过的坑【持续更新】

command not found常会遇到-bash: XXX: command not found的问题。原因是没有在全局配置命令。下面提供两种解决方法:解决方法是直接进到对应的包中使用命令。(以nginx为例)whereis nginx // 直接搜索到包路径 一般是在usr/local下cd /usr/local/nginx/sbin./nginx -s stop // 直接在...

2020-03-04 14:21:48 504

空空如也

空空如也

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

TA关注的人

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