小结 经验 问题linux

Spring事务(Transaction)管理高级篇一栈式解决开发中遇到的事务问题

Spring是目前Java开发中最流行的框架了,它的事务管理我们在开发中常常的用到,但是很多人不理解它事务的原理,导致开发中遇到事务方面的问题往往都要用很长的时间才能解决,下面就带着大家去深入了解Spring的事务,然后文章的最后还会给出开发中常常遇到的问题以及解决方案。 如果单纯的用Spring框 ......
事务 Transaction Spring 问题

c++ 程序通用多线程单例设计 c++ web 框架设计经验谈

设计 c++ web 框架时候,想要一个框架缓存类,很多通用缓存类是用字符保存,作为框架内置就不要序列和反序列了,因为框架内部使用。 想给自己的paozhu c++ web 框架添加缓存类,参考了springboot 于是确定用单例设计模式缓存类模板。 c++11后静态变量已经统一为线程安全了,网络 ......
经验谈 线程 框架 经验 程序

linux 基础(10)进程管理

使用 ps 观察程序 ps -l ps程序可以查询当前在运行的进程信息。ps -l可以列出详细的信息,默认仅列出当前 bash 相关的进程。 sudo -i ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 2133 2 ......
进程 基础 linux

chatGPT帮助开发实战解答问题和反思

问题来自.Net开发群友 问题 我想做一个自动生成单据号的功能,但是在EFCORE里没有行级锁,请有什么等价方案吗? ChatGPT回答 在 EF Core 中确实没有提供行级锁(row-level locking)的功能,因为这需要对数据库进行显式的锁定操作,而 EF Core 的设计理念是尽可能 ......
实战 chatGPT 问题

调式源码解决 seata 报错 can not get cluster name 问题

最近在使用Spring Cloud整合分布式事务seata,项目启动之后,控制台一直报错: can not get cluster name in registry config 'service.vgroupMapping.nacos-provide-order-seata-service-gro ......
调式 源码 cluster 问题 seata

重学了计算机网络,略有小成,经验全部分享出来

公众号「古时的风筝」,专注于后端技术,尤其是 Java 及周边生态。文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面。 大家好,我是风筝。 重学计算机网络已经有一段时间了,终于在离开大学多年后又重新拾起了一部分,时至今日已略有小成,并且写了一系列的文 ......
计算机网络 经验

grafana展示的CPU利用率与实际不符的问题探究

问题描述 最近看了一个虚机的CPU使用情况,使用mpstat -P ALL命令查看系统的CPU情况(该系统只有一个CPU core),发现该CPU的%usr长期维持在70%左右,且%sys也长期维持在20%左右: 03:56:29 AM CPU %usr %nice %sys %iowait %ir ......
利用率 实际 grafana 问题 CPU

使用java.util.Timer实现定时任务,详解Thread.sleep() in a loop, probably busy-waiting问题

很多时候,我们需要定时任务实现一些诸如刷新,心跳,保活等功能。这些定时任务往往逻辑很简单,使用定时任务的框架(例如springboot @Scheduled)往往大材小用。 下面是一个定时任务的典型写法,每隔30s发送心跳 public static void main(String[] args) ......
busy-waiting probably 任务 waiting Thread

嵌入式Linux—FreeType矢量字体

freetype矢量字体 常用API 1.FT_Init_FreeType函数是FreeType库中的一个函数,其作用是初始化FreeType库,并返回一个指向FT_Library对象的指针。下面是该函数的参数详解: FT_Error FT_Init_FreeType(FT_Library *ali ......
矢量 嵌入式 FreeType 字体 Linux

嵌入式Linux—输入子系统

输入系统 常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换。 内核中怎样表示一个输入设备 // include/linux/input.h struct input_dev { const char *name; //设备名称 const ch ......
子系统 嵌入式 Linux

关于低代码和无代码---喧嚣背后的致命问题

前言 2021年的时候,刮起了一阵”低代码”和”无代码”的风,结果猪没见吹起来,风却早早停了。 在我的职业生涯中遇到了很多的低代码的构想和实现,通常他们的想法非常朴素:写代码写烦了!或者是觉得增删改查代码太没有价值,又太有规律,于是就想着用工具解决劳动重复的问题。 如果你也是这样觉得,首先还是要表扬 ......
代码 背后 问题

从Linux Bridge引发的网桥、交换机与路由器区别探究

背景 最近接触docker的网络配置方式,发现其默认会创建一个docker0的Linux Bridge,宿主机上运行的容器可以通过连接该birdge实现与外网的通信,根据bridge这个命名很自然的认为这就是一个传统意义上的硬件网桥的软件实现,然而进一步探究后发现并非如此,Linux Bridge其 ......
路由 路由器 交换机 Bridge Linux

javaWeb03-请求转发和请求重定向【包含编码格式与路径问题】

本文主要讲述javaWeb的请求转发和请求重定向的区别 一. 请求转发 1. 图解 2. 代码示例 Servlet1的代码示例如下 public class Servlet1 extends HttpServlet { @Override protected void doGet(HttpServl ......
路径 编码 javaWeb 格式 问题

C#实现聊天消息渲染、图文混排(支持Windows、Linux)

在实现聊天软件时,渲染文字表情图文混排是一项非常繁琐的工作,再加上还要支持GIF动图、引用消息、撤回消息、名片等不同样式的消息渲染时,就更加麻烦了。那么有简单的实现办法吗?嗯,有的。 ......
Windows 消息 图文 Linux

WPF开发经验-实现一种三轴机械手控件

一 引入 考虑实现一种三轴机器人控件。 三轴机器人用来将某种工件从一个位置运送到另一个位置。 其X轴为手臂轴,可以正向和反向运动,它处于末端,直接接触工件; 其T轴为旋转轴,可以对手臂进行旋转; 其Z轴为升降轴,可以对手臂和旋转部分进行升降。 二 RobotControl 定义出机器人的轴动作枚举, ......
机械手 控件 经验 机械 WPF

【Redis场景3】缓存穿透、击穿问题

【Redis场景3】缓存穿透、击穿问题,涉及缓存穿透、缓存击穿问题的原因分析及解决方案,并进行压测实践;每1~2周学习整理redis中的知识点和场景实现,希望有所输入输出,每天进步一点点。 ......
缓存 场景 问题 Redis

【Redis场景4】单机环境下秒杀问题

【Redis场景4】单机环境下秒杀问题;涉及到全局唯一ID的生成,并发问题,库存超卖问题,一人一单秒杀问题等,相关场景进行压测,不局限于文字,注重实操。 ......
单机 场景 环境 问题 Redis

遗传算法求TSP问题

一、实验内容及目的 本实验以遗传算法为研究对象,分析了遗传算法的选择、交叉、变异过程,采用遗传算法设计并实现了商旅问题求解,解决了商旅问题求解最合适的路径,达到用遗传算法迭代求解的目的。选择、交叉、变异各实现了两种,如交叉有顺序交叉和部分交叉。 二、实验环境 Windows10 开发环境Python ......
算法 问题 TSP

关于微服务的一些总结和经验之谈,来看看你都了解吗

一 谈谈对微服务的理解 1. 什么微服务? 微服务是一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。 每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP ......
经验

linux 基础(6)简单认识 bash

shell 和 bash 是什么? shell 是一种应用程序,在这个程序里输入文字指令,系统就会做出响应的操作。这个“壳程序”是我们使用系统各种功能的接口,学会了 shell 就是学会操作 linux 系统。检索/etc/shells,可以看到当前系统的 shell 有哪些。而 bash (Bou ......
基础 linux bash

linux 基础(7)账号和群组的管理

了解账号和群组的基本信息 账号使用 如何查看 linux 计算机上有哪些账号呢?账号的信息储存在/etc/passwd中,打开就可以看到: less /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologi ......
账号 基础 linux

后端应用分层经验总结

后端应用分层是什么,例如:你用Spring MVC开发web程序、项目用三层架构分包,这些都用了分层思想。 MVC模式包含了三部分: 视图(view):负责界面显示、处理用户交互。如:前端应用 控制器(controller):协调视图层与模型层之间的相互工作。控制器接收视图层发来的请求,决定用那些模 ......
经验

Linux上安装jdk Tomcat mysql redis等

1.安装JDk 1.1这里使用xshell中xfxp进行文件的上传,将jdk二进制包上传到Linux服务器上 下载地址:https://www.oracle.com/java/technologies/downloads/#java8 或者这里有下载好的安装包:链接:https://pan.baid ......
Tomcat Linux mysql redis jdk

linux 高效压缩工具之xz的压缩解压使用

xz是什么 高压缩率的工具,它使用 LZMA2 压缩算法,生成的压缩文件比传统使用的 gzip、bzip2 生成的压缩文件更小, 不过xz也有一个坏处就是压缩时间比较长,比7z压缩时间还长一些。不过压缩主要用于归档,不介意的可以忽略。 擅长压缩文本和日志文件,针对这块的压缩率,是目前我发现效率最高的 ......
工具 linux

linux环境编程(3): 使用POSIX IPC完成进程间通信

1. 写在前面 之前的文章总结了使用管道进行进程间通信的方法,除了pipe和fifo,Linux内核还为我们提供了其他更高级的IPC方式,包括共享内存,消息队列,信号量等,本篇文章会通过一个具有完整逻辑功能的示例说明如何使用这些IPC方法。毕竟单纯地查手册,写代码...周而复始,这个过程还是比较枯燥 ......
进程 环境 linux POSIX IPC

C# 托管堆 遭破坏 问题溯源分析

一:背景 1. 讲故事 年前遇到了好几例托管堆被损坏的案例,有些运气好一些,从被破坏的托管堆内存现场能观测出大概是什么问题,但更多的情况下是无法做出准确判断的,原因就在于生成的dump是第二现场,借用之前文章的一张图,大家可以理解一下。 为了帮助更多受此问题困扰的朋友,这篇来整理一下如何 快狠准 的 ......
问题

NodeJS 实战系列:DevOps 尚未解决的问题

本文将通过展示 NodeJS 应用里环境变量的提取过程,来一窥 DevOps 技术是如何应用在现在云平台上的运维工作中的。同时我也想让大家在这里看到 DevOps 的另外一面,即它并非全能,从本地开发到持续部署再到实际运行,有一些运维鸿沟依然还未被填平。“人工操作”依然是工作中的最大风险。 ......
实战 尚未 NodeJS DevOps 问题

音频编辑服务UI SDK接入指导及常见问题

华为 HMS Core 音频编辑服务(Audio Editor Kit)是华为帮助全球开发者快速构建各类应用音频能力的服务,汇聚了华为在音乐、语音等相关音频领域的先进技术。音频编辑服务为开发者们提供音频基础编辑、AI配音、音源分离、空间渲染、变声、多种音效等丰富的音频处理能力,以及性能优异、简单易用 ......
常见问题 音频 常见 问题 SDK

记一次线上FGC问题排查

本文记录一次线上 GC 问题的排查过程与思路,希望对各位读者有所帮助。过程中也走了一些弯路,现在有时间沉淀下来思考并总结出来分享给大家,希望对大家今后排查线上 GC 问题有帮助。 ......
问题 FGC

Linux音频采集和在国产化平台中遇到的坑(一)

最近在做一个国产化平台的软件项目的开发,是基于国产芯片的银河麒麟系统。其中有一个重要模块,是采集和播放音频数据,播放不用多说了,采集的话,包括采集麦克风和采集桌面系统声音。很多人都觉得银河麒麟不就是linux么,那不直接用ALSA就好了,我原本也是这么想的,但是实际开发下来才发现,还是有各种坑需要自... ......
音频 国产 Linux 平台