自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 .desktop文件优先级问题解析

最近工作遇到了desktop相关的内容,发现自己的知识盲区,写篇博客记录一下。

2025-03-03 11:29:34 282

原创 由 JRE 软链接依赖引发的故障排查

Java应用 SAP 系统自带了一个 JRE,但在Ubutnu2004上部分功能不正常。初步排查发现,该 JRE 版本来源不明(用户也说不清是哪里来的)。:从 Ubuntu 2004 launchpad 下载的 deb 包,解压后将其jre目录替换 SAP 自带的 JRE。:替换后应用报错,但若在系统中安装,则不会出现此问题。

2025-02-28 17:00:48 257

原创 Ubuntu上如何获取分区的可用空间

最近工作需要获取指定磁盘分区的可用空间,在这里记录一下。网上找的资料一般用的是statvfs获取的,不过这种方案有缺陷,这里先简单介绍一下。

2024-10-22 17:04:18 480

原创 新手向-C接口调用dbus

工作需要用c接口调用dbus,在这里写篇博客记录一下。

2024-10-21 14:28:35 723 1

原创 新手向-pkg-config的原理和使用

pkg-config是一个用于链接库的工具,可以简化编译的语句。# 不使用pkg-config# 使用pkg-configpkg-config帮我们自动链接了opencv相关的库,省得我们自己写了。

2024-10-18 14:26:48 456

原创 新手向-二分法总结

数组长度为n,第一次取中位数区间长度变为n/2,第二次变成n/4,第三次变成n/8,....,以此类推,最大操作次数 k 满足 n/(2的k次方)=1, 即k=log⁡2(n)。二分查找的核心在于维护一个搜索区间 [left, right],每次将区间一分为二,并根据目标值 target 与中间值 middle的比较结果调整区间。加上 `left` 是为了避免溢出,并且确保 `mid` 在正确的范围内。为何 `mid` 计算公式是 `left + (right - left) / 2`?

2024-10-14 17:42:56 341

原创 新手向-Java调用C接口

最近工作上需要用java调用C接口,在这里记录一下。非专业人员,有不同意见欢迎评论区交流。

2024-09-29 15:07:19 440

原创 ubuntu2004上的glib编译教程

然后尝试debuild,这里会编译不过出去,不过dbuild会自动生成一些编译文件,不要删除。最近因为工作需要编译glib,写文章记录一下编译流程。接下来,我们按照install.in的内容进行本地编译。根据control文件的提示安装对应的依赖。这样就编译并安装完成了。

2024-08-09 16:42:56 282

原创 新手grub 配置介绍

最近因为工作需要接触了grub,学到了一些相关知识,所以在这里写篇博客记录一下,有不对的部分欢迎指正。

2024-06-11 15:14:26 2047

原创 python项目入门新手攻略

最近工作需要接手了代码量比较大的python开发的项目,平时写python不多,记录一下如何熟悉项目。

2024-04-30 17:18:29 881

原创 win10没有调节亮度选项怎么办?

最近新装了win10,装机后”设置“-”显示“里面没有可以调节亮度的地方,这里记录一下解决方案。

2024-02-06 21:52:56 2954

原创 Java应用崩溃的排查流程

上周排查了一个java应用的崩溃问题,在这里记录一下。

2024-01-23 15:31:41 617

原创 linux上的通用拍照程序

最近因为工作需要,在ubuntu上开发了一个拍照程序。为了找到合适的功能研究了好几种实现方式,在这里记录一下。

2023-11-23 17:40:49 767

翻译 新手如何为OpenJDK社区提交贡献?

当我们打算为OpenJDK社区提交贡献的时候,先不用考虑技术细节。我们自己的目标是:1. 获取知识。2. 提高技能。3. 提高知名度。4. 交朋友。5. 证明对Java的热爱。等等。

2023-11-21 17:20:21 317

原创 在Ubuntu上用sane api实现通用扫描功能

最近由于工作需要,要写一套扫描相关的接口。在这里记录一下。

2023-11-17 15:44:27 1427

原创 Java应用如何不改代码,调整窗口大小

最近工作上遇到了这个问题,浅浅的研究了一点,这里记录一下。有不同意见欢迎评论区交流。

2023-11-17 10:31:44 603

原创 Ubuntu2004字体不清晰,排查流程

昨天一早来发现平时用的Ubuntu2004物理机的字体变得很模糊,之前还是好好的,这里记录一下解决方案。

2023-11-10 09:25:50 814

原创 遇到java.security.AccessControlException:access denied怎么办?

今天工作中遇到了如下报错,记录一下解决方案。这个问题出现在openjdk8启动网页端Java应用。

2023-11-08 15:51:41 1547

原创 JDK API Diff Report Generator——Java版本对比工具

今天查资料找到了除了EMT4J之外,其他可以用于Java版本迁移的工具。这里简单的记录一下。非Java er,有不同意见欢迎评论区交流。

2023-10-27 16:47:50 302

原创 EMT4J—— Java 版本迁移检测工具

最近因为工作需要研究了emt4j,这里写一篇文章记录一下。

2023-10-25 17:32:48 796

原创 ubuntu2004上安装openjdk6

今天因为工作需要要在ubuntu2004上安装openjdk6,还是有点麻烦的,这里记录一下过程。安装了这些依赖之后再次安装我们首先下载的openjdk开头的包,即可成功安装。,选择对应的架构并将openjdk开头的包全部下载回来。libpng12-0需要额外的操作,参考博客在。openjdk的下载地址在。

2023-10-23 11:26:38 301

原创 如何ubuntu2004上运行Java小程序(Applet网页插件)

oracle8的jre里自带一个插件libnpjp2.so,这个插件可以用来开发Java applet。不过oracle8的jre只提供amd版本,不提供arm版本,导致使用了applet的业务系统无法在arm上运行,本次解决的就是这个问题。libnpjp2.so只在oracle的jre里有,jdk里没有,原因不明。

2023-10-16 10:52:12 475

原创 OpenJDK11调试&调试

最近由于项目需要接触了JDK,这里记录一下如何编译和调试JDK11的源码。

2023-08-04 16:51:58 271

原创 为什么float可以定义成float x= 33.1f的形式?

此时,如果我们要将某个变量定义为单精度数字,需要额外进行处理,也就是类似如下表达式,在数字后面加个f。最近在重温C语言的内容,在b站看课,看到float x= 33.1f,不明白为什么数字中会有f。0.1可以写成1/10,而10的分解质因数为2 * 5,2可以用二进制表示,但是5不能。二进制表示小数只能表示成1/2,1/4,1/8这样的形式,1/5=1/8+3/40。因此在这种编译器下,定义的变量类型是float还是double,默认都是双精度的。因为二进制无法准确的表示0.1。

2023-04-01 20:00:59 216

原创 Ubuntu下漏洞的修复流程

首先介绍一下相关的概念。

2023-03-16 18:06:48 3332 2

原创 Ubuntu上的OpenJDK8编译流程

最近因为工作需要编译了openjdk-8,在这里记录一下编译流程和遇到的问题。本次编译了amd64和arm64两个版本。

2023-02-02 16:55:30 875

原创 Ubuntu 2004 格式化分区导致无法启动 解决流程

昨天想格式化优盘,没注意把系统的一个分区给格了 .....第二天来公司电脑就起不来了,一翻操作误打误撞给救回来了。

2023-02-01 11:02:47 407

原创 cgroups新手教程-基本概念

本篇介绍的是cgroups的基本概念。

2022-11-03 17:21:19 1768

原创 在Ubuntu上用cups api实现打印功能

​最近由于工作需要,要写一套打印相关的接口。Linux上一般自带一套管理打印机的通用工具,叫cups。它提供了打印机的连接,配置,打印等等功能,因此我这次选择用cups的api来实现打印相关的内容。cups本身提供了一系列命令行工具方便用户使用,我们接下来会使用一些命令行来测试。

2022-10-12 11:39:14 4112

原创 Ubuntu 2004 网页滚动截图方案

因为最近学习了一些新内容想打印出来,因此需要在网页上滚动截图,尝试了多种方式之后在这里记录一下结果。

2022-10-09 10:30:38 975

原创 V4L2 零基础入门(一)——打开摄像头和获取摄像头基本信息

Linux上用v4l2框架通过摄像头拍照的新手教程

2022-08-12 17:56:09 7943 2

原创 Ubuntu 2004 鼠标可以移动但是点击无响应 排查流程

今天工作机遇到了这个问题,就记录一下。

2022-08-11 10:56:09 2473 3

原创 10分钟了解WebAssembly!

这几天一直在调研wasm的相关内容,准备总结一下。WebAssembly是一种类似汇编的文件格式,它可以由C/C++/Rust/Go等语言的源码编译而成。这种格式的文件可以被前端的js代码直接调用,以使得以各种语言编写的代码都可以以接近原生的速度在 Web 中运行。同时,它也是一项W3C标准,目前已得到主流浏览器厂商的支持。WebAssembly是由web(网络)和assmbly(汇编)两个词合成的,意思是网站上的汇编语言,而WebAssembly本事也确实如此,WebAssembly可以简写为wasm。随

2022-07-04 11:41:09 2506

原创 C语言中结构体的强制类型转换

最近在学习C语言中的Socket,遇到了结构体强制类型转换的问题,在这里记录一下。我们看一个例子在这里例子中bind函数的第二个参数将结构体sockaddr_in强制转换为结构体sockaddr,但是为什么不直接转换,而是用指针转换?这里记录一下答案:C语言中的结构体无法直接进行强制类型转换,需要借助结构体指针进行转换。为什么不能直接强制类型转换?因为结构体里的成员数据类型不同,因此占用的字节数不一定相同,直接类型转换可能会导致数组越界。但是指针转换类型就没什么问题了,因为指针占用的字节数都是相同的。因

2022-06-16 14:19:16 2542

原创 memset初始化结构体为什么要用&

这几天在学习socket编程,遇到memset初始化结构体的问题,在这里记录一下。看来一个问题memset将结构体初始化为0,到这里都没什么问题。可是为什么memset的第一个参数是&seraddr,而不是seraddr?经过一番搜索后找到了答案。不论是我们定义普通的变量还是结构体变量,对应的变量都代表两种含义:一个变量有两种含义这样就不方便使用了,因此C语言进行了如下规定:memset函数的功能是初始化从某个地址开始的n个字节,因此第一个参数应该是地址,因此不应该是seraddr,而是&seraddr

2022-06-16 11:29:50 734

原创 C语言中的fork

C语言中的函数,fork在英文中是分叉的意识,在C语言中,执行过fork的进程会分叉出一个新的进程。新进程被成为子进程,原来的进程被称为父进程。这里举两个例子说明一下fork的功能分析程序在执行到fork的时候克隆出了子进程,子进程具有当前进程的一切资源。子进程从fork开始执行,并不执行fork前面的代码。fork之后的代码有两个进程在执行,因此输出了两次。而且fork之后父子进程不共享数据,因此两边数据不互相影响,一开始i=0,i++之后i都等于1。同时由于父子进程不共享数据,因此父子进程要通信只

2022-06-01 15:02:36 8544 5

原创 C语言中的位运算

位运算是什么?直接对二进制进行的运算叫位运算。位运算的作用?计算机中数据以二进制存储,位运算相比于我们正常的十进制运算有更高的执行效率。位运算的运算符符号名称&与|或^异或~非<<左移>>右移运算规律两个运算数1和11和00和0总结&100全部为1结果才是1|110相同为0,不同为1^010相同为0,不同为1一个运算数

2022-05-31 15:57:03 98

原创 Linux系统启动流程

要考Linux基础了,提前复习一下相关内容。这两天学习了系统启动流程,现将学到的整理如下:BIOSBIOS(Basic Input Output System,基本输入输出系统)是烧录在ROM(Read Only Memory)芯片上的一段程序,通电即开始执行,是开机之后执行的第一段程序。BIOS进行了两件事情:POST(Power On Self Test)即对CPU,磁盘等硬件设备进行自检,检查计算机是否满足基本的运行条件。如果自检不通过,设备无法正常启动。寻找下一阶段的启动程序。进入

2022-05-24 14:43:25 133

原创 计算机基础——数据存储

在程序媛计划学习了计算机基础,将所学整理如下:核心硬件中央处理器(CPU),内存(Memory),硬盘(Hard Disc),显卡(Graphics Card)。这些硬件之间互相配合,接受输入的数据,进行运算,然后输入硬件之间如何传递信号?用二进制的方式。计算机采用电平信号的方式来来传递数据。电平是电压的范围,低于0.4V被称为低电平,高于2.4V被称为高电平。只用这两种信号而不用更多的信号是为了信息传递更简单,更不受硬件影响。如果有多种信号的话需要用不同的电压范围做区分,同时还要考虑因为电

2022-05-17 17:50:34 511

原创 C语言中的sizeof和strlen

介绍sizeof计算的是占用的内存大小,strlen计算的是字符串的长度,strlen是第一个字符到字符结尾的\0之间的长度,这两个函数的返回值都是以字节为单位。实例#include <stdio.h>#include <string.h>int main(){ char *a = "123"; char b[] = "123"; char c[] = {'1','2','3'}; printf("sizeof(a) = %ld,strl

2022-05-13 17:51:54 464

在Ubuntu上用sane api实现通用扫描功能

在Ubuntu上用sane api实现通用扫描功能

2023-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除