boazheng
码龄10年
  • 172,209
    被访问
  • 38
    原创
  • 246,590
    排名
  • 1,341
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2012-07-12
博客简介:

boazheng的博客

查看详细资料
  • 4
    领奖
    总分 677 当月 16
个人成就
  • 获得103次点赞
  • 内容获得16次评论
  • 获得530次收藏
创作历程
  • 1篇
    2022年
  • 44篇
    2021年
  • 49篇
    2020年
  • 85篇
    2019年
  • 2篇
    2018年
成就勋章
TA的专栏
  • PaltforIO
    1篇
  • Linux学习
    39篇
  • GUI
    2篇
  • 内存
    7篇
  • shell
    11篇
  • Linux网络
    4篇
  • vim
    5篇
  • 杂谈
    3篇
  • RT-Thread学习笔记
    4篇
  • phPython学习
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Nginx 的入门教程

Nginx 的特点是:内存占用少并发能力强(可支持大约 50000 个并发连接)配置超简洁bug 非常少安装超简单服务特别稳(几个月也不需要重启)基于这些特点,越来越多的网站开始使用 Nginx。于是,掌握 Nginx 就变成了开发者的一项必不可少的技能。一、Nginx 的作用反向代理是 Nginx 作为 Web 服务器最常用的功能之一。什么是反向代理呢?很多初学者在第一次遇到这个名词的时候总免不了出现很多问号。那要想搞明白什么是反向代理,就必须得搞明白什么是正向代理。举个例子,小
转载
发布博客 2022.01.19 ·
64 阅读 ·
0 点赞 ·
0 评论

用vscode + platformIO +arduino配置环境且遇到的问题

1.vscode+arduino环境配置2.vscode+arduino遇到的问题2.1 头文件包含不进去,会在头文件有波浪线2.2 解决VScode编译Arduino程序速度慢的问题2.3 出现Value is not accepted. Valid values: “c++98”, “c++03”, “c++11”, “c++14”, "c+2.4 串口乱码3.vscode+platformio+arduino环境配置4.vscode+platformio+arduino编译遇到的问题4
转载
发布博客 2021.11.10 ·
1136 阅读 ·
1 点赞 ·
0 评论

Linux 字节对齐的那些事

Linux 字节对齐的那些事最近遇到一个问题,运行于ARM上的threadx在与DSP通信采用消息队列的方式传递消息(最终实现原理是中断+共享内存的方式),在实际操作过程中发现threadx总是crash,于是经过排查,是因为传递消息的结构体没有考虑字节对齐的问题。随手整理一下C语言中字节对齐的问题与大家一起分享。一、概念对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐
原创
发布博客 2021.09.21 ·
114 阅读 ·
0 点赞 ·
0 评论

Edgeline-LVGL

Introducing LVGL’s UI editor - Edgeline 开源嵌入式GUI的界面编辑Edgeline-LVGL的用户界面编辑器,LVGL 是优秀的免费开源图形界面很高兴和大家分享LVGLUI编辑器Edgeline的第一个视频。这是一个UI编辑软件,为嵌入式设备创建图形轻松。许多独特和创新的功能使Edgeline成为市场上杰出的软件视频介绍。...
原创
发布博客 2021.08.21 ·
400 阅读 ·
0 点赞 ·
0 评论

【LittleVGL】Windows环境下利用CodeBlocks搭建LittleVGL的PC模拟器环境配置问题

ssd
转载
发布博客 2021.08.18 ·
227 阅读 ·
0 点赞 ·
0 评论

ARM64 Linux内核页表的块映射

内核文档Documentation/arm64/memory.rst描述了ARM64 Linux内核空间的内存映射情况,应该是此方面最权威文档。以典型的4K页和48位虚拟地址为例,整个内核空间的虚拟地址分布如下:从ffff000000000000到ffff7fffffffffff是一段针对物理地址的线性映射区,最大支持128TB的物理地址空间,这一段地址非常类似ARM32的low memory映射区。我们看看这种情况下的页表,我们既可以用最终的【20:12】对应的PTE映射项,以4K为单位,
转载
发布博客 2021.02.16 ·
329 阅读 ·
0 点赞 ·
0 评论

谈谈内存压缩那些事

1. 技术背景说到压缩这个词,我们并不陌生,应该都能想到是降低占用空间,使同样的空间可以存放更多的东西,类似于我们平时常用的文件压缩,内存压缩同样也是为了节省内存。尽管当前android手机6GB,8GB甚至12GB的机器都较为常见了,但内存无论多大,总是会有不够用的时候。当系统内存紧张的时候,会将文件页丢弃或回写回磁盘(如果是脏页),还可能会触发LMK杀进程进行内存回收。这些被回收的内存如果再次使用都需要重新从磁盘读取,而这个过程涉及到较多的IO操作。就目前的技术而言,IO的速度远远慢..
转载
发布博客 2021.02.16 ·
1051 阅读 ·
0 点赞 ·
0 评论

性能优化-放开那片内存

性能优化是一个常有的事情,通常来说 不要过早优化-当你没有性能问题时,不需要过早考虑优化,当然对于一些代价很小,收益却很大的手段可以考虑做进来,例如最常见的就是根据业务需求选择合适的数据结构。 不要过度优化。优化都是有目标的,比如你需要达到多少TPS,那么你按照这个目标去优化即可,有些优化虽然能否提升性能,但可能对代码的可维护性造成破坏。 本人对此没有过多涉猎,仅分享工作中接触到的一些内存。内存性能问题有很多方面会造成性能问题,例如: 业务流程设计不合理,导致很多没有必要的
转载
发布博客 2021.02.16 ·
75 阅读 ·
0 点赞 ·
0 评论

18张图揭秘高性能Linux服务器内存池技术是如何实现的

大家生活中肯定都有这样的经验,那就是大众化的产品都比较便宜,但便宜的大众产品就是一个词,普通;而可以定制的产品一般都价位不凡,这种定制的产品注定不会在大众中普及,因此定制产品就是一个词,独特。有的同学可能会有疑问,你不是要聊技术吗?怎么又说起消费了?原来技术也有大众货以及定制品。通用 VS 定制作为程序员(C/C++)我们知道申请内存使用的是malloc,malloc其实就是一个通用的大众货,什么场景下都可以用,但是什么场景下都可以用就意味着什么场景下都不会有很高的性能。malloc
转载
发布博客 2021.02.16 ·
128 阅读 ·
0 点赞 ·
0 评论

Linux如何调试内存泄漏

内存泄漏是指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。我们平时开发过程中不可避免的会遇到内存泄漏问题,你是如何排查的呢?估计你是使用下面这几个工具吧? valgrind mtrace dmalloc ccmalloc memwatch debug_new 这里程序喵向大家推荐新的一个排查内存泄
转载
发布博客 2021.02.16 ·
180 阅读 ·
1 点赞 ·
0 评论

Linux内存机制以及手动释放swap和buffer和cache

本文介绍linux内存机制、虚拟内存swap、buffer/cache释放等原理及实操。一、什么是linux的内存机制?二、linux什么时候开始使用虚拟内存(swap)?三、怎么释放内存?四、怎么释放swap?一、什么是linux的内存机制?我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在li...
转载
发布博客 2021.02.16 ·
308 阅读 ·
1 点赞 ·
0 评论

为什么 Linux 默认页大小是 4KB

为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。我们都知道 Linux 会以页为单位管理内存,无论是将磁盘中的数据加载到内存中,还是将内存中的数据写回磁盘,操作系统都会以页面为单位进行操作,哪怕我们只向磁盘中写入一个字节的数据,我们也需要将整个页面中的全部数据刷入磁盘中。Linux 同时支持正常大小的.
转载
发布博客 2021.02.16 ·
511 阅读 ·
0 点赞 ·
0 评论

Linux 修改 ELF 解决 glibc 兼容性问题

Linux glibc 问题相信有不少 Linux 用户都碰到过运行第三方(非系统自带软件源)发布的程序时的 glibc 兼容性问题,这一般是由于当前 Linux 系统上的 GNU C 库(glibc)版本比较老导致的,例如我在 CentOS 6 64 位系统上运行某第三方闭源软件时会报:[root@centos6-dev ~]# ldd tester./tester: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by.
转载
发布博客 2021.02.16 ·
304 阅读 ·
0 点赞 ·
0 评论

为什么Linux内核常常用unsigned long来代替指针

本文目录不知道自己不知道!指针何时指针?指针何时是整数?物理地址是指针?模糊地带绝世好代码?昨天我犯了一个错误把指针和整数“混淆”的错误,幸得队友王童鞋指正,今早起床,我把这个心得花一点时间记录下来。大抵掌握一个技术或者知识都是这三个阶段: 不知道自己不知道; 知道自己不知道; 知道自己知道。 比较难突破的是“不知道自己不知道”的阶段,因为“不知道自己不知道”,所以才往往特别自信,觉得“老子天下第一”。基本上,本文要记录的一个小点,也...
转载
发布博客 2021.02.16 ·
230 阅读 ·
0 点赞 ·
0 评论

一文讲透 “进程、线程、协程”

本文从操作系统原理出发结合代码实践讲解了以下内容: 什么是进程,线程和协程? 它们之间的关系是什么? 为什么说Python中的多线程是伪多线程? 不同的应用场景该如何选择技术方案? ... 什么是进程进程-操作系统提供的抽象概念,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。程序本身是没有生命周期的,它只是存在磁盘上的一些指令,程序一旦运行就是进程。当程序需要运行时,操作系统将代.
转载
发布博客 2021.02.15 ·
62 阅读 ·
0 点赞 ·
0 评论

图解 | 数字签名和数字证书的前世今生

前言这是 2020 年一个平平无奇的周末,小北在家里刷着 B 站,看着喜欢的 up 主视频。在一旁玩手机的女朋友突然问”你知道数字证书是来干啥的不,为啥浏览器提示证书不可信?”你要问这个,那我可来劲了,于是乎从加密、数字签名一直讲到了数字证书。。。终于把女朋友讲睡着了,独自写下这篇文章。正文如果你能非常清晰的回答出以下问题,可以直接拉到最下面帮我点个赞~,把时间用去陪陪女朋友: 非对称加密中公私钥都可以加密,那么什么时候用公钥加密,什么时候用私钥“加密” ? 什么是数字签
转载
发布博客 2021.02.15 ·
130 阅读 ·
0 点赞 ·
0 评论

Linux内核是如何巧妙的初始化各个模块的

相信很多在研究linux内核源码的同学,经常会发现一些模块的初始化函数找不到调用者,比如下面的网络模块的初始化函数:// net/ipv4/af_inet.cstatic int __init inet_init(void){... /* * Set the IP module up*/ ip_init(); /* Setup TCP slab cache for open requests. */...
转载
发布博客 2021.02.15 ·
65 阅读 ·
1 点赞 ·
0 评论

如何设置与查看Linux系统中的环境变量?

大家都知道,在 Linux 系统中,有环境变量和Shell 变量这两种变量。环境变量是在程序及其子程序中全局可用的,常常用来储存像默认的文本编辑器或者浏览器,以及可执行文件的路径等等这样的信息。而 Shell 变量仅在当前 Shell 中可用,可以用来存储当前用户的 ID 等信息。那么什么是环境变量,什么是 Shell 变量,该如何设置和查看这两种变量呢?环境变量环境变量是以键值对的形式实现的,是在整个系统范围内都可用的变量,并由所有派生的子进程和 Shell 继承。而环境变量的名称是..
转载
发布博客 2021.02.15 ·
148 阅读 ·
0 点赞 ·
0 评论

一行代码:你的纯文本秒变Markdown

Markdeep 是一个用来写纯文本的插件,它能以 Markdown 的语法与渲染方式纯文本,并在网页上展示。同时,除了 Markdown 语法,Markdeep 还额外支持图表、数学方程等扩展能力。项目主页:casual-effects.com/markdeep/我们先看看效果,如下左边是纯文本编辑器的编辑页面,右边是在浏览器上的渲染效果:Markdeep 非常容易使用,它也不需要安装插件或联网。如上所示只要在纯文本最后加上「<!—Markdeep→」那一行的...
转载
发布博客 2021.02.15 ·
34 阅读 ·
0 点赞 ·
0 评论

13 款 Linux 比较实用的工具

本文介绍几款Linux比较实用的工具,希望有所帮助。1、查看进程占用带宽情况-NethogsNethogs 是一个终端下的网络流量监控工具可以直观的显示每个进程占用的带宽。2、硬盘读取性能测试-IOZoneIOZone是一款Linux文件系统性能测试工具 可以测试不同的操作系统中文件系统的读写性能。下载:http://www.iozone.org/src/current/[root]#tarxvfiozone3_420.tar[root]#c...
转载
发布博客 2021.02.15 ·
25 阅读 ·
0 点赞 ·
0 评论
加载更多