- 博客(61)
- 资源 (7)
- 收藏
- 关注
原创 C# 托管代码与非托管代码之间的交互 Marshal ,GCHandle
以上是 Marshal 类的一些主要用法以及 Marshal.Copy 的具体示例。请注意,直接操作非托管代码时要格外小心,确保正确管理资源以避免内存泄漏和其他潜在问题。StringToHGlobalAnsi、StringToHGlobalUni 和 PtrToStringAnsi、PtrToStringUni。Marshal.Copy 方法用于在托管数组和非托管内存块之间复制数据。非托管函数指针与托管委托之间的转换。
2024-12-21 14:43:10 398
原创 位运算符说明
按位或运算符比较两个操作数的每一位,只要两个相应的位中至少有一个为 1,那么结果的相应位就为 1;如果两个相应的位都为 0,则结果的相应位为 0。右移运算符将操作数的位向右移动指定的数量。对于有符号类型,左边空出的位置用符号位(最高位)填充,以保持数值的符号不变。按位与运算符比较两个操作数的每一位,只有当两个相应的位都为 1 时,结果的相应位才为 1,否则为 0。按位异或运算符比较两个操作数的每一位,如果两个相应的位不同,则结果为 1;左移运算符将操作数的位向左移动指定的数量,右边空出的位置用 0 填充。
2024-12-19 18:04:31 200
原创 C# 中Timer的三种用法
根据具体应用场景选择合适的 Timer 实现,例如在后台服务中更推荐使用 System.Timers.Timer 或 System.Threading.Timer,而在 Windows 窗体应用程序中则更适合使用 System.Windows.Forms.Timer。**System.Timers.Timer 和 System.Threading.Timer 的回调方法在不同的线程上执行,因此在访问共享资源时需要小心处理线程同步问题。
2024-11-22 14:12:41 934
原创 wpf 事件转命令的方式
MouseMiddleButtonDown:当鼠标中键(通常是滚轮按下)按下时触发。MouseMiddleButtonUp:当鼠标中键释放时触发。MouseRightButtonUp:当鼠标右键释放时触发。MouseLeftButtonUp:当鼠标左键释放时触发。MouseEnter:当鼠标指针进入元素边界时触发。MouseLeave:当鼠标指针离开元素边界时触发。MouseDown:当鼠标任意按钮按下时触发。MouseMove:当鼠标在元素上移动时触发。MouseUp:当鼠标任意按钮释放时触发。
2024-11-22 09:57:05 578
原创 WPF 应用程序中使用 Prism 框架时,有多种方式可以注册服务和依赖项
假设你有一个简单的服务接口 IService 和其实现类 Service,以及一个 DbContext 类 MyDbContext。示例:在 App.xaml.cs 中注册服务。
2024-11-12 16:03:04 995
原创 统信安装,ssh连接统信UOS虚拟机
现在您已经成功通过 SSH 连接到统信 UOS 虚拟机,可以在命令行中执行您需要的操作了。请注意,确保在本地计算机上已安装了 SSH 客户端。使用 ssh 命令连接到虚拟机。如果 UOS 虚拟机中没有运行 SSH 服务器,您需要安装并启动 SSH 服务。如果是首次连接,系统可能会提示您接受虚拟机的 SSH 密钥指纹。接着系统可能会提示您输入密码。输入 UOS 虚拟机的用户密码并按下回车键。运行 ip a 或 ifconfig 命令来查看虚拟机的 IP 地址。在 UOS 虚拟机中,打开终端或命令行界面。
2024-03-06 18:04:40 1042
原创 Centos离线安装docker-compose
请注意,上述步骤假设您已经在CentOS上安装了Docker。如果您还没有安装Docker,请确保在安装Docker Compose之前先安装Docker。在具有Internet连接的机器上下载Docker Compose的安装包。将下载的二进制文件复制到目标机器上,可以通过USB驱动器或其他文件传输方式进行复制。现在,您已经成功离线安装Docker Compose。手动下载docker-compose。下载docker-compose。来验证安装是否成功。
2023-11-08 14:55:02 629
原创 .net core 发送串口数据
使用 System.IO.Ports 命名空间中的 SerialPort 类可以很容易地在 .NET Core 中进行串口通信。1,nuget 引入 System.IO.Ports。
2023-10-21 15:09:33 836
原创 使用nssm 与批处理 把程序运行成windows服务
把一下两个批处理文件、nssm.exe文件放在与程序同目录,jWebTest.exe 为程序名称。批处理文件 StartServer.bat。批处理文件 bbb.bat。
2023-08-08 17:45:02 357
原创 redis-cluster(集群)
redis集群方式有三种1,主从集群缺点,主节点宕机后无法使使用2,哨兵模式集群解决 主节点宕机后无法使使用缺点,无法大量写入数据,无法存入海量数据3,redis-cluster 集群解决高可用,高并发,存入海量数据缺点,需要多个redis实例。
2023-07-28 09:34:13 132
原创 分布式微服务技术,模拟面试与解答。kfk(十一)
当一个 producer 向 Kafka 发送消息时,它会将消息写入到内存缓存中,然后 Kafka broker 管理者会将数据写入到磁盘上的文件(segment)中,并维护一个索引记录每个消息在文件中的位置。RabbitMQ 和 ActiveMQ 注重的是功能的完备性和灵活性以及事务的支持,适用于较小规模的应用场景。通过多副本机制实现自动故障转移:通过在多个 broker 节点之间复制主题的分区数据,当其中的某个节点出现故障时,Kafka 会自动将其失败的副本切换至新的运行节点,并保证数据的一致性。
2023-06-12 11:35:33 193
原创 分布式微服务技术,模拟面试与解答。Elasticsearch(十)
答:Elasticsearch 是一个基于 Lucene 的分布式搜索和分析引擎,可以快速地存储、搜索和分析大量的结构化或非结构化数据。它主要用于全文检索、日志分析、业务监控、数据可视化等应用场景。
2023-06-12 09:42:10 160
原创 分布式微服务技术,模拟面试与解答。ServiceComb-Pack(九)
答:Alpha 组件是 ServiceComb-Pack 框架中的重要组成部分,它主要负责具体应用程序代码的事务管理工作。具体实现方式主要有以下几个步骤:(1)在代码中使用 @Compensable 注解标注需要进行分布式事务管理的方法,例如:java// 具体业务逻辑// 取消订单逻辑(2)Alpha 组件通过 AOP 技术在运行时自动创建事务记录,记录当前事务的上下文和参与者信息;
2023-06-08 18:03:12 220
原创 分布式微服务技术,模拟面试与解答。SkyWalking(八)
通过收集和展示跨越多个服务的性能数据,SkyWalking 可以帮助开发者及时发现和解决性能瓶颈和故障,提高应用程序的可用性和可靠性。Context Propagation:通过 TraceContext、SpanContext 和 Carrier 等机制来传递 TraceId、SpanId 和 ParentSpanId 等信息,保证跨进程、跨语言的链路追踪数据的正确性和一致性;Web UI:负责展示和分析采集到的性能数据和链路信息,提供丰富的视图和工具,如 Topology、Trace、Alarm 等。
2023-06-08 17:57:26 375
原创 分布式微服务技术,模拟面试与解答。ELK(七)
其中,Filter 插件又可以根据功能分类为 Grok、Date、GeoIP、Mutate、JSON、CSV、XML、Useragent、Translate、Drop、Clone、Metric 等多种类型,用于不同的数据处理需求。答:Kibana 的用户权限管理功能是通过基于角色的访问控制(RBAC)机制实现的,可以对用户进行分组和权限配置,以保证数据和资源的安全性和可控性。验证权限:在访问 Kibana 和 Elasticsearch 资源时,通过验证用户的角色和权限,实现数据和资源的访问控制。
2023-06-08 17:48:24 183
原创 分布式微服务技术,模拟面试与解答。Nacos(六)
答:Nacos 是一个开源的分布式服务发现、配置管理和动态 DNS 服务平台,它提供了服务注册与发现、配置管理、健康检查和流量管理等多种功能。Nacos 的特点包括:1)支持多种服务发现和调用协议,如 Spring Cloud、Dubbo、gRPC 等;2)支持多种配置管理方式,如命名空间、分组、配置集等;3)支持多种注册中心模式,如单机模式、集群模式、多数据中心模式等;4)支持多种服务路由和负载均衡算法,如轮询、随机、权重等。
2023-06-08 09:11:26 231
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人