- 博客(57)
- 收藏
- 关注
原创 (1-6-2)Java泛型
泛型自定义泛型及其应用泛型通配符简介return re;natureStrings.add("天空");natureStrings.add("湖泊");natureStrings.add("海浪");natureStrings.add("草原");natureStrings.add("外太空");//海浪//草原//海浪//草原//外太空。
2025-05-25 15:23:42
263
原创 (1-6-1)Java 集合
/ 01 比较car 对象0 : 1;// }// 02 比较car 对象的 sn属性值// }// 03 比较car 对象的 brand 属性值// 01 比较car 对象// 02 比较car 对象的 sn属性值// 03 比较car 对象的 brand 属性值// 遍历集合//方式1: 增强for循环// 方式2: lambda 表达式});// 方式3: 使用迭代器xlt.put("name", "夏洛特");
2025-05-25 10:27:31
978
原创 (1-5)Java 常用工具类、包装类、String&StringBuilder&StringBuffer
super("18岁以下\\80岁以上的住客必须有亲友陪同");测试类System.out.println("请输入住客年龄");} else {System.out.println("可以入住");System.out.println("酒店人员不能办理入住");/*01请输入住客年龄23可以入住*//*02请输入住客年龄u*//*03请输入住客年龄9818岁以下\80岁以上的住客必须有亲友陪同酒店人员不能办理入住*/
2025-05-19 18:54:32
961
原创 (1-4)Java Object类、Final、注解、设计模式、抽象类、接口、内部类
【代码】(1-4)Java Object类、Final、注解、设计模式、抽象类。
2025-05-14 16:40:49
446
原创 (1-3)Java面向对象、继承、封装、多态、static、代码块、重载与重写、访问修饰符、this&super
现实中存在的事物皆为对象。对象是类的实例化,是存储数据和方法的实体。对象有属性和方法两部分组成。面向对象是一种编程范式,将现实世界中的事务抽象成类和对象。面向对象的核心思想是通过封装、继承和多态,实现代码的模块化和重建,提升程序的可维护性和可扩展性。类中定义了对象的属性和方法,用于描述一类对象的属性和行为的模板。类的属性中定义成员变量,描述该类的对象的特征类的方法定义该类的对象的行为,表示对象可以执行怎样的操作。
2025-05-13 11:13:54
967
原创 (1-2)Java的数据类型、数据类型转换、自增自减、运算符的优先级、可变类型参数
A类型的数据表示范围大于B类型,当其转换为A类型时,需要强制类型转换。
2025-05-08 10:48:08
210
原创 (1-1)Java的JDK、JRE、JVM三者间的关系
JDK包括JRE和一组开发Java应用程序的工具,提供了编译、调试、文档生成等开发相关的工具。JVM可看作程序的自行引擎,将字节码转化为特定平台上的机器代码执行。JRE包括JVM和一些标准库 ,,,不包括开发工具和编译器。标准库:核心类库(java.lang、java.util、java.io)运行时工具:例如java命令工具行(启动Java程序)
2025-05-07 18:50:14
455
原创 typeScript debug 调试
3.在代码中添加断点(上边的源码中加过了),并运行调试器。2.编译ts文件,运行js文件。以leetcode 20为例。4.(谷歌)浏览器中输入。5.在开启一个窗口输入。
2024-06-19 16:39:30
389
原创 WebSocket 快速入门 与 应用
WebSocket 是一种在 Web 应用程序中实现实时、双向通信的技术。它允许客户端和服务器之间建立持久性的连接,以便可以在两者之间双向传输数据。
2024-06-12 21:19:53
2424
原创 TypeScript 快速入门 + 应用
TypeScript(简称 TS)是一种由微软开发的开源编程语言,它是 JavaScript(JS)的一个超集,添加了可选的静态类型和基于类的面向对象编程。TypeScript 的主要目的是帮助开发大规模应用程序,它通过引入强类型系统和编译时错误检查,使得代码更加健壮和易于维护。
2024-06-10 19:48:46
1512
原创 TCP 与 UDP
由于TCP 在传输 的时候 ,多了连接、确认、重传等机制。使用到了流量控制协议,即 tcp通过滑动窗口来实现。如果收到首部和数据的校验和 有差错,则丢弃此报文。防止接受过多的数据,导致接收方无法处理。,在设定的超时时间过后,再次发送。防止发送过多的数据,导致网络拥塞。可以检测到数据在传输过程中的变化。一般用于传输准确性要求高场景。相比TCP传输速率低许多。如果一定时间内未收到应答。通过检测网络的拥塞状态。
2024-05-21 16:10:55
690
原创 linux 开发常用命令
适用于systemd的系统,会显示redis的服务状态(包括是否 运行、已停止 或 其他状态)执行命令会列出,“mysql”、“redis”名称的进程。这里以mysql 和 redis 为例。不适用在较旧的systemd系统中。
2024-05-14 10:01:37
401
3
原创 Mysql 数据库 开发规范
正例:人的年龄用unsigned tinyint(表示范围0-255,人的寿命不会超过255岁);若存储的数据范围超过 decimal 的 范围, 建议将将数据拆成整数和小数分开存储。链接:https://pan.baidu.com/s/11FmO-NoYs7jyfSw8lxcn1w。说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。5. 合适的字符存储长度,不但节约数据库表空间、节约索引存储,更重要的是提升检。如果是所有恒星的年龄都加起来,那么就必须使用bigint。
2024-05-08 17:04:14
635
原创 Nest 快速上手 —— (一)nest介绍与启动安装
Nest (NestJS)是一个用于构建高效、可扩展的Node.js服务器端应用程序的框架。它使用渐进式JavaScript,构建并完全支持TypeScript(但仍然允许开发人员使用纯JavaScript编写代码),并结合了OOP(面向对象编程)FP(函数式编程)和FRP(函数式响应式编程)的元素。在底层,Nest使用了健壮的HTTP服务器框架,比如Express(默认的),也可以选择配置为使用fasttify!
2024-04-23 10:44:37
875
原创 Mysql 、Redis 数据双写一致性 更新策略与应用
应用在需要更新数据时,先删除缓存再更新mysql数据库的策略下,所发生A线程需要更新数据,第一次删除缓存,更新完数据后,再次删除缓存,再将更新后的数据写入缓存。3 如果能够成功地删除或更新,我们就要把这些值从消息队列中去除,以免重复操作,此时,我们也可以保证数据库和缓存的数据一致了,否则还需要再次进行重试。A删除缓存后,B查询操作没有命中缓存,B先把老数据读出来后放到缓存中,然后A更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。
2024-04-22 18:40:48
1409
1
原创 基于nest框架的redis streams实现mq(bullmq)
队列是一种强大的设计模式,可以帮助您处理常见的应用程序扩展和性能挑战。队列可以帮助您解决的一些问题示例如下:(1)平滑处理峰。例如,如果用户可以在任意时间启动资源密集型任务,则可以将这些任务添加到队列中,而不是同步执行它们。然后,您可以让工作进程以受控的方式从队列中提取任务。随着应用程序的扩展,您可以轻松地添加新的Queue消费者来扩展后端任务处理。(2)分解单体任务,否则可能会阻塞Node.js事件循环。
2024-04-22 17:37:40
1288
原创 Redis(单/多)线程
网络硬件的性能提升, 底层网络硬件处理速度 >> 单个主线程网络请求速度。即redis 在处理 客户端请求时 ,所进行的。total: 一个服务端进程可以 同时 处理多个套接字描述符。total: 一个服务端进程可以 同时 处理多个套接字描述符。即 提高网络请求处理的并行度。redis 的命令工作线程(单线程)+对于 整个Redis 来说,是多线程的。可以使用一个线程连接来处理多个请求。采用多个IO 线程来处理 网络请求。等 都是由一个顺序串行的主线程处理。减少线程切换带来的开销。
2024-04-21 16:27:04
1188
原创 Redis key(BigKey、MoreKey)的存储策略
如果删除的键与一个小对象相关联,则执行DEL命令所需的时间非常短,可与大多数其他命令相媲美。FLUSHALL和FLUSHDB的DEL、UNLINK和ASYNC选项是用户控制的。UNLINK非阻塞DEL以及FLUSHALL和FLUSHDB命令的ASYNC选项,以便在后台回收内存。UNLINK非阻塞DEL以及FLUSHALL和FLUSHDB命令的ASYNC选项,以便在后台回收内存。注意:非字符串的bigkey ,使用hscan、sscan、zscan方式删除(不建议是用del)这些命令在恒定时间内执行。
2024-04-19 12:23:30
1194
原创 kafka快速入门+应用
C:\Desktop\软件开发\项目\niuke_coder\code\kafka_2.12-2.2.0\bin\windows>kafka-topics.bat --create --bootstrap-server localhost:9092 -replication-factor 1 --partitions 1 --topic test1。# 是否自动提交(记录) 消费者偏移量。(1)配置Properties。再次生产消息,会自动消费消息。
2024-04-12 18:23:37
1450
原创 (Ubuntu、centos+AlibabaCloud)- mysql/redis 部署
将默认的redis.conf拷贝到指定路径 /usr/local/src/myredis(自己指定),然后对其配置。系统会默认将其安装到 /usr/local/bin下边 ,相当于c:/program。是否禁用root远程登录:y的话root远程就连不上了,建议no。第一次登录可能有临时密码,可能没有,我这里没有。gcc是linux下的一个编译程序,是C程序的编译工具。修改其中的 localhost 为0.0.0.0。3.查看user-host。6.查看user-host。切换到mysql数据库。
2024-04-02 20:20:50
1257
原创 阅读class-validator文档
允许使用基于 装饰器 和 非装饰器 的验证。在内部使用validator.js执行验证。类验证器可以在 浏览器 和node.js平台 上工作。
2024-03-13 09:13:25
1406
原创 FastDfs 部署 保姆 级 步骤
注: 1.这是在 b栈后端项目中用到 , github or 课程官方文档 ,都难免遇到问题2.我这里只是将单机部署 跑通了。
2024-03-03 19:11:33
1163
原创 Redis 极速上手
字符串 String 、 列表 List 、 哈希表 Hash 、 集合 Set。减轻mysql等关系型数据库的访问压力。单机、主从、哨兵、集群。
2024-01-24 21:25:13
430
原创 快速上手TypeScript
js本身语法 类型太弱了 不适合 开发后端 复杂业务引入ts 代码写起来严谨 可阅读性强很多,更有利于团队开发优点:1.类型检查2.语言扩展3.类型推断机制4.代码设计,团队合作。
2023-12-18 17:42:38
568
原创 Host ‘219.149.X.X‘ is not allow to connect to this MySQL server
由于当前的root用户限制在当前的内网ip内访问的,需要修改他的访问域。(1)基于docker方式,登录mysql。(3)查询root用户。
2023-12-14 10:49:14
405
原创 influxDB(v2-flux)快速上手!
InfluxDB 是一种时序数据库,时序数据库通常被用在监控场景,比如运维和IOT(物联网)领域。(1)go语言编写,没有其他依赖(2)时序数据库中最热门,TSM引擎高性能读写与数据压缩不支持类sql查询语句(4)tags可以索引序列化在 IOT领域中,有大量的指标需要我们监控。比如,机械设备的轴承震动频率,农田的湿度温度等等。写一个程序将服务器上 CPU的使用情况每隔10秒钟向InfluxDB中写入一条数据。接着,我们写一个查询语句,查询过去 30秒CPU。
2023-12-13 18:30:07
4394
3
原创 influxDB(v1-influxQL)快速上手!
(1)go语言编写,没有其他依赖(2)时序数据库中最热门,TSM引擎高性能读写与数据压缩(3)支持类sql查询语句(4)tags可以索引序列化。
2023-12-12 19:38:34
794
2
原创 win本地启动RocketMQ
删除C:\Users\”当前系统用户名”\store下的所有文件。Cmd命令框执行进入至‘MQ文件夹\bin’下 端口9876。
2023-12-11 19:00:07
967
原创 本地启动rocketmq
删除C:\Users\”当前系统用户名”\store下的所有文件。Cmd命令框执行进入至‘MQ文件夹\bin’下 端口9876。
2023-11-07 21:38:30
350
原创 Host ‘xx.xx.xx.xx‘ is not allowed to connect to this MySQL server
每日bug(3-11-6-1)
2023-11-06 18:05:48
64
1
原创 Can‘t create handler inside thread that has not called Looper.prepare() 应用闪退
法一:因为试图在非UI线程中更新UI元素,这是不被允许的,因为Android要求UI操作必须在主线程中执行。在你的代码中,尝试在onResponse回调的子线程中执行,导致了闪退。使用方法,可以像这样修改onResponse@Override// 得到的子线程Log.e("成功", result);这将确保在主线程上执行,而不会导致闪退。法二:可以使用Handler来实现相同的目标。在中,可以声明一个Handler对象,然后在onResponse。
2023-11-02 14:02:17
148
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人