芝士年糕 芝士年糕
2年前
Linux shell 内建命令
前言一、shell简介shell是Linux系统中一个提供命名行的交互式工具,本质是一个c语言可执行程序,为用户提供了启动程序,管理文件系统中的文件以及运行在Linux系统上的进程的途径。命令行提示符是shell负责交互的部分,允许用户输入文本命令,然后解释命令,并在内核中执行。Linux系统上有多种shell可用,Linux发行版默认的shell都是ba
Wesley13 Wesley13
3年前
jdbc、jpa、spring data jpa、hibernate、mybatis之间的关系及区别
基础概念jdbc(JavaDataBaseConnectivity)是java连接数据库操作的原生接口。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为各个数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。一句话概括:jdbc是所有
Stella981 Stella981
3年前
CentOS下高并发socket最大连接数所受的各种限制
部分内容做了修订1、修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户
Stella981 Stella981
3年前
JVM笔记二:Java内存区域
Java程序在虚拟机自动内存管理的机制的帮助下,不容易出现内存泄露和内存溢出问题,这也就要求程序员需要了解虚拟机处理内存的机制,以解决OOM问题。运行时数据区域!Java虚拟机运行时数据区(https://oscimg.oschina.net/oscnet/3755e1d9e9bf4068b2b3b77b4c0b6bf99b8.jpg)
Wesley13 Wesley13
3年前
MQ 消息队列
1、场景作用削峰填谷,异步解耦。2、如何保证消息不被重复消费呢?这个问题可以换个思路,保证消息重复消费,其实是保证程序的幂等性。无论消息如何重复,程序运行的结果是一致的。比如消费消息后做数据库插入操作,为了防止消息重复消费,可以在插入前先查询一下有没有对应的数据。3、怎么保证从消息队列里拿到的数据按顺序执
Wesley13 Wesley13
3年前
C语言缓冲区溢出详解
!(https://oscimg.oschina.net/oscnet/7c4c90c77f9d449a96c032d9d3e9f318.jpg)1引言“缓冲区溢出”对现代操作系统与编译器来讲已经不是什么大问题,但是作为一个合格的C/C程序员,还是完全有必要了解它的整个细节。计算机程序一般都会使用到一些内存,这些内
马尚 马尚
1年前
识别汉字验证码的方法与实现
在网络世界中,验证码是一种常见的安全机制,用于防止恶意机器人或自动化程序对网站进行恶意攻击。而汉字验证码作为一种常见形式,具有更高的安全性和可读性,因此被广泛应用于各种网站和应用程序中。本文将介绍一种识别汉字验证码的方法与实现,通过收集数据、预处理图像、提
小万哥 小万哥
2年前
C++模板和泛型编程详解
C中的模板和泛型编程是非常重要的概念。模板是一种将数据类型作为参数的通用程序设计方法。它们允许开发人员编写可以处理各种数据类型的代码,而无需为每种数据类型编写不同的代码。下面介绍了一些关于C中模板和泛型编程的重要知识点模板的定义模板是一种通用程序设
小万哥 小万哥
2年前
C++编译器和链接器的完全指南
C是一种强类型语言,它的编译和链接是程序开发过程中不可或缺的两个环节。编译器和链接器是两个非常重要的概念。本文将详细介绍C中的编译器和链接器以及它们的工作原理和使用方法。编译器编译器是将源代码转换为可执行文件的程序。在C中,常用的编译器有GCC
别再纠结线程池池大小、线程数量了,哪有什么固定公式 | 京东云技术团队
可能很多人都看到过一个线程数设置的理论:CPU密集型的程序核心数1I/O密集型的程序核心数2不会吧,不会吧,真的有人按照这个理论规划线程数?线程数和CPU利用率的小测试抛开一些操作系统,计算机原理不谈,说一个基本的理论(不用纠结是否严谨,只为好理解):一