技术
未读
实践札记:内网穿透Frp踩坑
前言 最近在做一个物联网相关的需求,大致要求是用户使用指纹识别开门后,除了将设备属性上报到华为云IoT平台外,还需要在华为云配置数据转发,将开门日志转发到后端服务并存到数据库,用于向用户端展示开门日志。 这其实是一个挺朴实无华的需求的,只需要在华为云上把数据转发配置为自己服务器的地址就行了。问题就在
技术
未读
JVM基础:内存结构与垃圾回收
JVM内存结构 Java运行时数据区: 线程不共享:程序计数器、JVM栈、本地方法栈 线程共享:方法区、堆区 不属于Java运行时内存:直接内存 PC: PC的作用是控制指令的执行。 多线程下,需要通过PC记录CPU切换前的执行位置。程序计数器只会保存固定长度的内存地址,不会发生内存溢出。 程序员无
技术
未读
JVM基础:字节码文件与类加载器
认识JVM JVM的作用: 解释和运行:将字节码指令解释为机器码。 内存管理:自动分配对象和方法内存;GC 即时编译JIT:对热点代码做优化(将热点代码的机器码保存到内存中,下次直接调用) JVM规范: 规定字节码文件的定义、类和接口的加载和初始化、指令集 JVM规范并不是针对Java语言设计的要求
技术
未读
Docker实践:部署前后端分离项目
前言 笔者最近正在写一个前后端分离项目,涉及的技术栈比较传统,就是SpringBoot+Vue3。 整个项目需要部署到一个新的Linux服务器,鉴于配置各种环境和依赖大概率要碰一鼻子的灰,我使用了Docker进行环境的部署。 这个过程可以顺带复习一下很久没用的Docker命令,经过一番折腾和踩坑后,
技术
未读
实验:伯克利CS61B-BSTMap实现
本文记录伯克利的数据结构与算法课程 -- CS61B 21spring中Lab7的实现思路。 该Lab是实现一个基于二叉搜索树(BST)的Map。 完整代码可以参考我的GitHub仓库。 BSTMap需要实现的接口 /** Removes all of the mappings from this
技术
未读
Docker基础学习
写在前面: 应用部署很麻烦?哪里麻烦了啊!这么多年都是这样搞得,不要睁着眼睛乱说,有的时候自己找找原因,这么多年Linux命令敲得熟不熟,有没有认真工作?(手动狗头) 需求:我最近开发了一个前后端分离的GPU预约系统,这个系统涉及Redis数据库、MySQL数据库、Java环境、Nginx,这么多的
技术
未读
踩坑:如何使用VsCode调试C++程序
事情是这样的:今天下午数据结构与算法的实验课,整节课就要求自己演示一下如何使用IDE进行Debug。实话说我好久没写C++了,已经忘记如何使用VsCode进行C++开发了,就算平时进行C++开发,一直都是用命令行编译后直接运行(,所以趁这次机会回顾下VsCode如何配置C++。 Vs是不可能Vs的,
技术
未读
C++项目:基于Qt和Tcp通信的简易网络聊天室
项目介绍 项目简介 基于Tcp socket通信协议和Qt6.4 实现的网络聊天室。 项目功能 客户端和服务端互发消息 不同客户端之间的私聊 服务端消息的群发 项目改进计划: 发送文件功能 客户端获取“在线客户端”列表 引入MySQL数据库存储聊天记录 引入多线程解决并发问题 核心技术栈 语言:C+
技术
未读
C编程:socket网络编程
头文件 <arpa/inet.h> 大小端转换 网络大小端转换:htons和 htons表示从本地的小端模式(主机字节序)转到服务器的大端模式(网络字节序)。分别是对应16位的short和32位的long。 如果是从网络字节序转到主机字节序,则是 ntohs、ntohl IP地址的大小端转换 将字符
技术
未读
C++:算法竞赛常用库函数
秉持着奥卡姆剃刀:如无必要,勿增新知的原则, 本篇只收录使用频率高的内容。 更新 transform转换大小写 transform(word.begin(), word.end(), word.begin(), ::tolower); 对string转换成小写 transform(word.begi