- 博客(117)
- 收藏
- 关注
原创 凭啥工具类不让实例化
在Java中,工具类(Utility Class)通常是指包含一组静态方法的类,这些方法通常用于执行一些通用的操作,比如字符串处理、数学计算、日期时间操作等。因此,为了避免上述问题,工具类通常被设计为不可实例化,或者至少不鼓励实例化。:工具类的设计初衷就是提供一组静态方法,这些方法可以在不创建对象的情况下被调用,这样可以减少内存消耗,因为不需要为每个方法调用创建一个新的对象实例。:在某些情况下,如果工具类被错误地实例化,并且持有了对其他对象的引用,可能会导致内存泄漏,因为这些对象不会被垃圾回收器回收。
2024-10-24 07:53:07 167
原创 除了了轮询,怎么获取最新数据
WebSocket 是一种全双工通信协议,允许服务器和客户端之间保持一个长连接,并能在数据有更新时由服务器主动推送给客户端。客户端向服务器发送请求,服务器在有数据更新之前不会立即响应,直到有新的数据更新时才返回结果。它基于 WebSocket,实现了在客户端订阅某些数据变化,当变化发生时,服务器会主动通知订阅的客户端。SSE 是一种基于 HTTP 协议的服务端推送技术,它允许服务器向客户端推送实时更新的数据。与 WebSocket 不同,SSE 是单向的,适用于服务器单向向客户端推送更新的场景。
2024-10-16 06:59:55 348
原创 Java 循环里怎么删除元素才安全
在 Java 中,当你在循环中遍历集合时,直接删除元素可能会引发。这种方法不会在遍历中直接删除元素,而是创建一个新的过滤后的集合。为了安全地删除元素,推荐使用。
2024-10-11 07:38:19 390
原创 Jenkins 部署前端代码
来自动化部署前端代码时,通常会将 Jenkins 配置为一个自动化流水线,当代码被推送到代码仓库时,Jenkins 会自动执行构建流程,并将前端代码打包后上传到阿里云 OSS 上,这里也可选择七牛云。供静态资源托管使用。阿里云官方提供了 OSS Jenkins 插件,你可以使用该插件自动将打包后的文件上传到阿里云 OSS。如果你不想使用 Jenkins 插件,也可以通过阿里云提供的命令行工具。目录),这个目录就是需要上传到阿里云 OSS 的内容。使用项目对应的打包命令(如 Vue 项目的。
2024-09-30 10:19:00 792
原创 边学英语边学 Java|Synchronization in java
Java 同步用于确保通过某种同步方法,在给定的时间点只有一个线程可以访问资源。为了向某人解释 Java 中的同步,我们可以使用一个简单的类比并指出一些相关的计算机词汇。
2024-09-23 16:06:03 682
原创 Java 怎么调摄像头
调用 USB 摄像头的方式大多依赖于系统的 VideoCapture 类,例如前面提到的 OpenCV 提供了良好的接口。对于多摄像头场景,可以通过传递不同的设备 ID(如。根据具体应用的需求,选择合适的库和协议来实现功能。条码识别(包括 QR 码)可以结合摄像头获取图像,再通过图像处理和解码算法实现。这些库可以处理通过串口发送的 ASCII 或二进制数据。网口设备(如网络秤或基于 TCP/IP 协议的设备)可以通过 Java 的。对于串口设备(如条码扫描器、秤等),可以使用 Java 的。
2024-09-19 08:52:07 835
原创 一边学英语|一边学 Java
MyBatis是一个面向Java的ORM(对象-关系映射)框架,但与Hibernate不同的是,它允许开发人员编写自定义SQL查询。JDK是Java Development Kit的缩写,用于开发Java应用程序。JRE代表Java运行时环境,它提供运行Java应用程序所需的库和环境。JVM代表Java虚拟机,它是运行Java字节码并使Java独立于平台的核心组件。Spring Boot是一个很棒的框架,它简化了组件的配置。它提供了自动配置,可以快速设置Spring应用程序,而无需手动配置每个组件。
2024-09-10 22:23:47 527
原创 单店电商系统改造 saas平台二
在SaaS电商系统中,多租户的入口是非常关键的一个模块,尤其是在开店功能方面。开店模块是商户入驻平台的入口,通过这个模块可以实现新租户(即商户)的注册、配置、初始化等功能。以下是如何设计和实现一个面向多租户的开店模块的关键步骤:目标:实现步骤:实现要点:目标:实现步骤:实现要点:目标:实现步骤:实现要点:目标:实现步骤:实现要点:目标:实现步骤:实现要点:目标:实现步骤:实现要点:目标:实现步骤:实现要点:
2024-09-09 12:27:54 1055
原创 外包公司就是搅屎棍
听朋友说,最近Java 开发就业环境可谓是惨不忍睹,但是我发现一个现象,就是项目其实并不少,而且很缺人的情况下,企业自己降本增效会选择外包驻场,但是外包公司为了降低成本使劲压榨工资甚至只开短期合同和外务(不带社保)。这样,企业项目抓不到人做,很多就业者也很那自降身价去迎合外包公司的无耻行为。这就加剧了供需关系的紧张,明明有需求和有市场,就是中间有个搅屎棍。就看谁能更刚一点吧。
2024-09-09 12:08:48 141
原创 一些免费电子书地址总结
提供超过60,000本免费的电子书,主要是版权过期的经典文学作品,适合读者下载各种格式的书籍(如EPUB、Kindle格式等)。是由互联网档案馆(Internet Archive)运营的项目,拥有海量的免费电子书,可以在线阅读或下载。提供大量的图书预览和一些完整的免费书籍,尤其是那些已经进入公共领域的作品。提供免费的有声书籍,尤其是那些版权过期的经典作品,适合喜欢听书的人。提供经过校对和格式优化的经典公共领域书籍,适合需要高质量文本的读者。提供公共领域的书籍和原创作品,用户可以免费下载不同类别的书籍。
2024-09-08 20:34:01 470
原创 jvm监控工具一览
用于生成堆转储(heap dump),以及显示内存使用情况,适用于内存问题的分析,比如内存泄漏或 GC 问题。:用于查看和设置运行中的 JVM 的配置信息,比如系统属性和 JVM 选项,适用于 JVM 参数调优和问题诊断。:无侵入式的动态监控工具,可以实时插入脚本进行方法追踪、字段访问等操作,适用于各种动态监控需求。:实时显示 JVM 性能统计信息,包括 GC、内存、类加载等信息,常用于性能监控和调优。:用于输出 JVM 当前所有线程的堆栈跟踪信息,帮助分析线程状态、死锁等问题。
2024-08-22 08:25:34 423
原创 你真理解反向代理吗?
🔄 反向代理:代理服务器接受internet连接请求,转发给内部服务器,返回结果给客户端。🏢 反向代理类比:服务器的代理,像二房东帮助房东租房,隐藏服务器真实IP,提供负载均衡、安全防护和加速访问服务。🏠 类比:正向代理像租客通过中介联系房东租房,隐藏客户端真实IP,提高访问速度,解决访问限制问题。🔁 区别:正向代理是客户端代理,反向代理是服务器代理,目的和作用不同,但都能提高访问速度和安全性。🌐 正向代理:位于客户端和目标服务器之间的服务器,帮助客户端访问无法直接访问的资源,如国外网站。
2024-08-12 09:10:11 184
原创 docker stop pause 区别
Linux中的控制组(cgroup)子系统,可以冻结(暂停)和解冻(恢复)cgroup中的所有进程。冻结 cgroup 中所有进程的状态,而不终止它们。进程停止运行,但它们仍保留在内存中。
2024-08-09 09:56:40 331
原创 为什么外网需要我允许Cookie
cookie,其复数形式为Cookies。这个单词原意为“小甜饼”,在网络技术当中指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。这个网络术语并没有一个正式的中文译名,大家都直称其Cookie(s)。🍪 外国网站访问时常见的对话框,需点击“我同意”,涉及到 Cookie。🖥️ Cookie 是网站存储在用户本地终端上的数据,用于识别用户身份。💼 Cookie 让浏览器记住用户购买信息、登录信息,提升用户体验。
2024-04-07 11:26:32 657
原创 一文搞懂用户认证方案怎么做
一般网站用户认证不外乎以下步骤:以上单机版基本没问题,但是分布式系统中涉及到 session 共享问题,比如 项目部署在serviceA 和 serviceB。用户登录后 sessionId 存在 serviceA 内存中,这个时候如果 a 挂掉了(lb 打到 b 服务器也有可能),你再请求服务器 b,发现sessionId不存在,直接让你重新登录了。首先,问题的根源出在sessionId无法共享上,想要把sessionId共享,一个简单的思路就是把sessionId保存到数据库中(这里选择redis)
2024-04-03 19:31:20 1494
原创 Zookeeper 怎么实现分布式锁
基于ZooKeeper实现分布式锁的原理主要基于ZooKeeper提供的一些特性,包括有序性、唯一性、临时节点等。下面是基于ZooKeeper实现分布式锁的。
2024-04-02 13:19:20 689
原创 打卡记录怎么存比较好
使用位图(Bitmap)来存储Redis的打卡记录是一种常见的方法,特别适用于每日的签到、打卡等场景。而使用Redis的位图存储打卡记录时,每个用户只需要一个位图来表示打卡情况,每个位图占用的存储空间与打卡天数相关。可以看到,使用Redis的位图来存储打卡记录相比于使用MySQL表存储,可以节省大量的存储空间。通过使用位图来存储打卡记录,可以节省大量的存储空间,并且提供了高效的查询和统计功能。假设有一个用户打卡系统,需要记录用户每天是否打卡,可以使用Redis的位图来存储。
2024-04-02 07:18:39 505
原创 Docker 设置redis 集群
通过以上步骤,你可以使用Docker创建一个简单的Redis集群。请注意,这只是一个基本的示例,实际情况中可能需要根据具体需求进行更详细的配置和管理。是Redis节点的IP地址。
2024-04-02 07:06:34 663
原创 再谈敏捷开发
需要注意的是,Scrum和Kanban都是敏捷开发方法,它们的目标都是提高团队的生产效率和交付价值,但在实际应用中,选择哪种方法取决于项目的具体情况和团队的需求。这些实践工具可以帮助团队更好地实施敏捷开发和敏捷开发2.0的方法论,并促进团队成员之间的协作和沟通,提高团队的生产效率和交付价值。
2024-03-27 14:57:41 469
原创 达梦数据库对比mysql
总体而言,达梦数据库和MySQL都是常见的关系型数据库管理系统,它们在很多方面都有相似之处,但也存在一些差异,如支持的数据类型、存储引擎、许可方式等。选择哪种数据库取决于具体的需求和项目情况。
2024-03-25 12:41:04 1629
原创 Web3不等于比特币
CryptoKitties是一个基于以太坊区块链的去中心化游戏,允许用户购买、繁殖和交易数字化的可收集的“猫咪”。该游戏通过智能合约实现猫咪的独一无二的属性,并允许用户在二级市场上交易猫咪。: DID(去中心化身份)是一个基于区块链技术的数字身份认证标准,允许用户在不同的应用之间安全地共享身份信息。: Uniswap是一个去中心化的交易平台,允许用户在不同的加密货币之间进行兑换。这些产品只是Web3技术应用的一小部分范例,随着技术的发展和创新,将会有更多有趣的产品涌现出来。
2024-03-25 12:17:03 183
原创 Java实现Cache Aside Pattern 例子
方法首先尝试从缓存获取数据,如果缓存中没有,则从数据库中获取,并将结果存入缓存。方法先从数据库删除数据,然后从缓存中删除。类模拟了一个数据源(比如数据库),方法先更新数据库,然后更新缓存。
2024-03-21 22:00:49 251
原创 NIO学习笔记
NIO(Non-blocking I/O)是Java中的一种高性能I/O模型,用于处理大量并发连接。与传统的阻塞式I/O模型不同,NIO允许在单个线程上管理多个通道(网络连接或文件IO),并使用选择器(Selector)实现非阻塞式的事件驱动IO操作。这种方式可以大大减少线程的数量,提高系统的并发能力和性能。
2024-03-15 10:19:47 750
原创 「一致性问题」TCC实现代码示例
在分布式事务中,TCC(Try-Confirm-Cancel)模式是一种常见的解决方案之一,用于确保多个操作的原子性。
2024-03-05 13:05:49 344
原创 一些心得-严谨
然后启动了portianer后,进去没有默认的 environment,新建一个需要创建 portainer agent 这就是奇怪了,我竟然有local 为啥不显示,果然不一样,所以做技术还得严谨的态度做事情,不能想当然的盲目试错。google 一圈,都指向没有权限上,开始以为 sudo能解决然而并没有,于是对比了之前的 portainer 容易发现问题就在这个。所以,从头开始捋,卸载了 docker 重新搞。等安装到 portainer 的时候卡住了。以我的认知,这个问题解决不了啦。
2023-11-09 11:41:25 183
原创 docker部署的mariadb忘记密码
尝试了修改 my.cnf 跳过密码 和修改 docker.cnf 跳过密码skip-grant-tables。docker 里的 mariadb 数据库密码忘了,如果以前我会选择直接干掉重装,但是数据怎么办?命令行执行 mysqld_safe --skip=grant-tables &我直接选择后者,跳过密码,mariadb10.4以后不能直接改密码了,以上操作都修改不了 ,因为 mariadb10.4以后吧 不能修改了。1 数据量小 就跳过密码登录进去备份出来。
2023-10-30 09:47:27 743
空空如也
如何优雅的使用redis
2023-02-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人