自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式原则

单一职责原则(Single Responsibility Principle,SRP)又称单一功能原则,由罗伯特·C.马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中提出的。这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分(There should never be more than one reason for a class to change)。对类来说的,即一个类应该只负责一项职责。

2024-07-10 17:53:42 792

原创 IDEA报错:Cannot invoke(class=Package]sonListener,method=after,topic=BulkFileListe

安装IDEA23年版本后创建.java文件失败并报错无法创建类无法解析模板"Class",措误消息:Cannot invoke。

2024-06-20 11:26:00 358

原创 IDEA启动项目报错:java: No implementation was created

注解处理器的依赖跟踪导致编译问题,无法正确识别某些文件的依赖关系。

2024-06-18 15:14:00 474

原创 物联网实战技术

MQTT(消息队列遥测传输)是基于TCP/IP协议栈而构建的支持在各方之间异步通信的消息协议。MQTT在空间和时间上将消息发送者与接收者分离,因此可以在不可靠的网络环境中进行扩展。虽然叫做消息队列遥测传输,但它与消息队列毫无关系,而是使用了发布和订阅(Pub/Sub)的模型。MQTT是一种轻量级的、灵活的网络协议,致力于为IoT开发人员实现适当的平衡:这个轻量级协议可在严重受限的设备硬件和高延迟/带宽有限的网络上实现。它的灵活性使得为IoT设备和服务的多样化应用场景提供支持成为可能。

2024-06-17 21:05:39 1693

原创 设计模式之策略模式

在现实生活中常常遇到实现某种目标存在多种策略可供选择的情况,例如,出行旅游可以乘坐飞机、乘坐火车、骑自行车或自己开私家车等,超市促销可以釆用打折、送商品、送积分等方法。在软件开发中也常常遇到类似的情况,当实现某一个功能存在多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能,如数据排序策略有冒泡排序、选择排序、插入排序、二叉树排序等。如果使用多重条件转移语句实现(即硬编码),不但使条件语句变得很复杂,而且增加、删除或更换算法要修改原代码,不易维护,违背开闭原则。

2024-05-20 01:34:12 640

原创 IDEA无法启动,重装后也无法启动

在IDEA中调整了idea64.exe.vmoptions文件后导致关闭后,启动IDEA失败。

2024-05-20 01:04:06 795

原创 网络协议BACnet是什么?

uildingontrol Networks)是一种用于建筑自动化和控制网络的通信协议。它是一种开放的、标准化的通信协议,旨在促进建筑设备之间的互操作性和通信。一般楼宇自控设备从功能上讲分为两部分:一部分专门处理设备的;另一部分专门处理设备的。而BACnet就是要建立一种统一的数据通信标准,使得设备可以互操作。BACnet协议只是规定了设备之间通信的规则,并不涉及实现细节。为:(1)所有的网络设备,除基于MS/TP协议的以外,都是完全对等的(peer to peer);

2024-04-23 17:49:53 1202

原创 Linux服务器上搭建Java环境

这将打开Redis命令行界面。你可以输入Redis命令进行操作,例如。请确保在修改系统配置文件之前做好备份,并在生产环境中谨慎操作。,则表示内存过度承诺设置已经生效。

2024-04-23 15:50:40 557

原创 docker报错Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the d

因为在 Docker 安装完成后,守护进程可能需要重新启动才能正常工作。当首次安装 Docker 时,它会启动 Docker 守护程序以便运行容器。然而,有时候在安装完成后,守护进程可能需要重新启动才能加载某些配置或者确保服务正常运行。

2024-04-16 15:26:50 5422

原创 网络协议TCP/IP是什么

TCP/IP协议是互联网上最常见的协议之一,它是一组通信协议的集合,包括传输控制协议(TCP)、互联网协议(IP)以及其他相关协议。TCP/IP协议是互联网上数据传输的基础,几乎所有的网络应用都依赖于它。IP协议(Internet Protocol):IP协议是TCP/IP协议中最核心的协议,它负责将数据包从源地址传输到目的地址。IP协议是一种无连接的协议,它不保证数据包的可靠传输,也不保证数据包的顺序。

2024-04-15 18:11:39 1162 1

原创 CAS是什么?

循环时间长开销大(如果CAS失败,会一直尝试)只能保证一个共享变量的原子操作。(对多个共享变量操作时,循环CAS无法保证操作的原子性,只能用加锁来保证)存在ABA问题。

2024-04-10 19:06:06 1131 1

原创 前端报错npm ERR! cb() never called!问题

那么可以去删除nodejs\node_cache\node_modules\npm的文件,原来的npm文件会在nodejs\node_modules目录下。不需要重装node和npm来解决。使用npm uninstall -g npm更新npm版本来解决这个问题,不过我们一般会安装node和npm的匹配版本。文件,清除缓存,再重新npm install,不过一般出现这个问题并不会生成。导致这个问题是文件夹的权限没放开导致的,知道的就可以不往下面看了。好了,现在回到我们一开始需要解决的这个问题上。

2024-04-04 21:37:27 6549 10

原创 synchronized和Lock

而轻量级锁是在多个线程竞争同一个锁时才会触发,当一个线程尝试获取锁失败时,会自动将锁升级为轻量级锁。其中,写锁和悲观读锁的使用方式类似于读写锁,而乐观读锁是一种不加锁的读取方式,它返回一个"邮戳(stamp)",表示当前共享数据的版本号,在读取共享数据时需要使用这个邮戳进行验证,以确保数据的一致性。在Synchronized锁升级之前,每个Synchronized锁都是一个重量级锁,它包含了一个互斥量和一个条件变量,当多个线程竞争同一个锁时,会导致不必要的线程上下文切换和内存开销,从而影响程序的性能。

2024-04-01 14:35:56 826 1

空空如也

空空如也

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

TA关注的人

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