自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梦一样的博客,神话般的感觉

让简单的事情变的容易,让困难的事情变的可行!

  • 博客(218)
  • 资源 (30)
  • 问答 (1)
  • 收藏
  • 关注

原创 一款rust语言AI神器cursor在ubuntu环境下的安装启动教程

虽然cursor目前只支持英文但是它强大的代码联想能力以及问答能力,可以高效的提高编码效率。如下步骤所有的前提是你的ubuntu上面已经安装了rust以及其必须的extensions。

2024-09-11 11:35:41 782

原创 记录一次rust浮点数计算没有java速度快的例子

不同的电脑执行如下代码可能会有不同的结果。但是我在同一台机器上的结果,java会比rust快5倍。java代码的运行结果。

2024-09-11 10:46:39 494

原创 linux中使用rust语言在不同进程之间通信

第二种:使用shm,通过同一个key创建同一个共享映射内存空间。第一种:使用mmap映射相同文件。

2024-09-08 15:56:38 356

原创 linux系统 /proc/sys/vm 参数详解

【代码】linux系统 /proc/sys/vm 参数详解。

2024-08-19 08:43:07 940

原创 rust语言中通过libc的mmap映射direct memory写文件

没有废话直接上代码了,讲解都在代码里。

2024-08-14 13:15:49 63

原创 rust内存分配,内存回收,内存泄露

从上面代码的执行,可以看出。栈空间的申请,是在对应函数执行的时候就会申请了。但是内存的回收确是在执行函数对应的线程销毁的时候。我们继续修改上面的代码:只修改两个函数。

2024-06-17 15:09:19 413

原创 /etc/sysctl.conf 参数解释

【代码】/etc/sysctl.conf 参数解释。

2024-05-06 09:35:25 237

原创 content-type与文件扩展名对照表

内容来自。已经转换成代码了。

2024-03-04 10:29:15 850

原创 rust原生语言对比 <在rust内> 执行javascirpt与lua解释型语言的性能

对于javascript我使用的是js-sandbox库。我测试当前js-sandbox的release版本是0.1.6不知道为什么无法在mac下正常运行,只能以path的方式指向js-sandbox的源码了。大家可以看到,实际上mac平台的cpu性能比ubuntu的还要好。但是js的v8引擎还不如rlua的解释器。在linux平台上的对比分别是2700倍和70倍的执行效率。在mac平台上的对比分别是4000倍和130倍的执行效率。对于lua我使用的是rlua库,版本号为0.19.8。

2024-02-04 08:03:52 609

原创 rust中执行lua代码

【代码】rust中执行lua代码。

2024-02-02 07:31:24 149

原创 macOS下所有必须插件都已正常安装但还是无法运行rust程序

删除 ~/.vscode/extensions/vadimcn.vscode-lldb-1.10.0/lldb/bin/debugserver 文件。macOS 下vs code 已安装 ra 和 codelldb 的情况下 无法命中断点。

2023-12-15 18:56:58 144

原创 crate mio中waker的一个使用细节,仅记录当下结论。以便稍后继续研究。

其实整套代码的运行与mio的其他网络库是一样的。只是使用细节的地方做一些记录,否则程序不会按照自己的意愿正常执行。先看代码,然后再来讲。这里说重点:wake对象调用wake函数所在的线程,不可以在第一时间直接结束自己,否则唤醒的事件不会通知到,poll阻塞的线程。上面的结论,可以在代码注释中标有5555555的这一行注释,加以测试。

2023-12-12 06:47:13 124

原创 Rust Send与Sync。网上有很多理论方面的文章,现在从实践出发,来学习一下这两个trait。

简单讲一下,看不懂的网上其他文章都有的,有更详细的,easy的很。我只说通俗易懂的。

2023-12-02 11:08:19 455

原创 extra arguments to `rustc` can only be passed to one target。使用cargo expand命令的时候出现问题。两种解决方案。

但是大家在平时正常开发的是否,大部分情况下src目录下是需要包含lib.rs文件的。第一在toml文件中指定一个新的main.rs文件的位值以及编译后可执行文件的名字。这里的xxxx就是你指定的新的可执行文件的名字。最后直接运行cargo expand就可以打印展开的宏了。使用cargo expand命令的前提条件,第一就是需要在nightly下。至此,其实我们的第二种解决方案,也是应了刚才的错误提示了,我们指定了bin。大家注意我的目录结构中是包含src目录的,这个问题我一会再说。

2023-10-31 11:46:06 202

原创 linux 性能优化

被压测服务器需要保持100W长连接,客户和服务器端是通过socket通讯的,每个连接需要建立一个socket,程序需要保持100W长连接就需要单个程序能打开100W个文件句柄。

2023-10-11 07:43:33 193

原创 rust cfg的使用

当然了还要有综合用法。println!("abc");这个呃呃呃时候不但要设置Cargo.toml中的features还要设置编译前的环境变量。否则指定函数将无法被找到。

2023-10-10 10:11:17 479

原创 rust 字符串字面量 - 字符串前缀

如果字符串中同样包含#,那么可以增加限定开始结束字符串的#数量即可。只要开始和结束的#比字符串内的#多,即可。如下两种是同一个意思,只是说加了r的字符串属于《原始字符串》里边可以包含一些特殊的字符。增加了《原始字符串》标识符的字符串内部的转义全部都会被取消。如果字符串内包含双引号,rust增加了r#的方式。字节字符串 - ASCII字节字面值。#来限定字符串的开始和结束。

2023-09-17 07:18:56 370

原创 unknown feature `proc_macro_span_shrink`//could not compile xxx lib问题解决,此解决方案不管是在哪一个系统都可以解决此问题。

问题解决:直接打开cargo.lock,找到package的name等于这个上边错误描述中could not compile xxx lib这个错误描述中的xxx。问题分析:由于项目是一个很久才没有编译国的项目,之前编译是成功的,但是这次却失败了。这个文件描述的是上一次成功编译的环境状态,依赖,版本。它包含了上次成功编译的信息。一个在本地很久没有编译过的项目,或者说从网上下载下来了一个开源的项目,只要开始编译就会报unknown feture的错误,或者could not compile xxx lib。

2023-09-14 06:46:21 533

原创 rust中使用sqlite 之 rusqlite使用

【代码】rust中使用sqlite 之 rusqlite使用。

2023-09-01 06:20:02 1356

原创 rust交叉编译 在mac下编译linux和windows

到目标机器执行的时候,出现问题。可以尝试更换传输方式。打比方之前使用的ftp,现在你可以先压缩文件然后再尝试传输文件。linux通常就是musl和gnu。我用的测试系统是ubuntu,所以是gnu。如果已经安装这里会显示(installed)。如下配置添加到Cargo.toml。

2023-08-26 10:05:48 858

原创 P2P 网络,PING程序。

没有废话,直接上版本号和代码,以及讲解。

2023-08-11 07:14:40 1443

原创 rust reborrow - 重借用

第一:对于不可变借用&T,它的传递属于Copy语意。对于可变借用&mut T它的传递属于Move语意或reborrow。第二:可变引用在同一个时刻只能拥有一个,但是有一个重借用(reborrow)的方式,可以让借用重新获得可变引用。下面为reborrow的三种方式。

2023-07-27 10:06:57 842

原创 Rust pin unpin理解 为什么说没有pin的数据移动是不安全的深入理解

看了网上一片文章,有了一些理解。想要理解pin与unpin主要要理解数据再移动的时候的不安全。就知道了pin的重要性。

2023-06-08 07:28:31 237

原创 自我实现一个简单的LinkedList

记录一个自我实现的简单的LinkedList,双向链表。

2023-04-23 09:09:27 99 1

原创 rust 中 std::thread::panicking() 的用法

主要用于实现了Drop类型的实现函数中。主要的目的是在当前线程由于panic以后,可以继续执行一些其他弥补的指令。看过上面的代码和输出以后,现在得出结论。通过一个例子来做一个测试。

2023-04-10 05:35:46 110

原创 Rust 多线程交互 自实现线程池,几种实现方式可行性对比,性能对比以及底层实现原理分析 CPU密集型

再加上刚才的测试数据不难分析出,当执行线程数量等于当前CPU数量的时候消耗较小这个时候Condvar的交互方式比mpsc的交互方式多出来的就是syscall的系统调用开销,毕竟用户态和内核态的交互消耗很大,这个地球人都知道。第三:由于执行线程个数的增加,执行的线程数量逐渐会比当前系统CPU数量多,增加了CPU彼此之间的上下文切换的消耗,线程比当前系统的CPU核心数月多上下文切换的耗时越大。我们还需要在整个线程池的的执行过程中,注入一个测试对象当线程池执行完所有需要的任务的时候,需要一个打印性能测试的结果。

2023-03-02 10:55:52 628

原创 Rust 智能指针 Box,Rc,Cell,Rc-Weak,RefCell,OnceCell,LazyCell,Arc,Arc-Weak,Mutex,RwLock

最简单的智能指针,rust的大部分标准库struct或标量类型是优先采用stack分配内存的。在大部分语言中,stack大小是在编译期确定的,二heap大小是在运行期确定的。rust中可以使用Box把任意类型放到heap中存储。这种情况下会报编译错误。它让你增加mut去声明变量a。但是可以通过RefCell改变这种情况。

2023-02-24 06:48:45 449

原创 rust过程宏 proc-macro-workshop解题-4-sorted

这一大关卡介绍的是属性式过程宏。

2023-02-18 17:54:16 828

原创 rust过程宏 proc-macro-workshop解题-3-seq

seq这个大题类目处理的是函数式的过程宏。

2023-02-18 08:29:30 418

原创 rust过程宏 proc-macro-workshop解题-2-debug

接下来我们来实现第大关卡debug过程宏的实现。这里主要考的也是派生宏的实现。我们这里不像第一个关卡了,我把每一个关卡实现的代码都粘贴出来,到最后就是完整的代码。

2023-02-16 10:34:18 371

原创 rust过程宏 proc-macro-workshop解题-1.1-builder 派生宏 自动生成结构体验证方法

本题目不是proc-macro-workshop提供的builder/9道题中的其中任何一道题。本题是我在网上搜索派生宏的时候,无意中查询到的,没有看到派生宏代码,就粘贴下来当作是一道题,自己实现了。这道题实际上就是为了一个struct结构体成员变量格式自动生成一个校验函数。通过惰性属性,分别为每一个成员变量生成对应不同的校验过程罢了。

2023-02-14 14:31:20 153

原创 rust过程宏 proc-macro-workshop解题-1-builder

我就直接粘贴我的答案了。答案都是联通的,可以跑通builder 1-9关的测试用例。builder这个目录的所有test主要测试的是派生宏的编写能力。

2023-02-14 11:54:49 113

原创 rust过程宏 proc-macro-workshop解题-0-介绍

proc-macro-workshop是一个学习rust过程宏非常好的工程。里边包含五大类题目。并且每种题目都有实际价值,可以应用在企业级项目中。我们在这里先介绍一下这个项目如何运行如何测试,如何验证过程宏的正确性以及如何调试。本文只围绕以下几个话题:第一:工程结构?第二:如何运行测试?第三:如何调试自己开发的过程宏?首先到网站下载这个工程。这里面的目录bitfield,builder,debug,seq,sorted。就是这个工程的五个题目了。

2023-02-13 07:40:56 462

原创 rust模式匹配的深度玩法

如果我现在想要直接拿到o这个变量内部深层次的Ses::man这个枚举类型中Man这个结构体的name成员变量的话。因为枚举的可能性比较多,需要多次匹配才可以拿到,当对象必须是人类,而且必须为男人的时候。第二:起始这里的模式匹配结构的写法与Object这个对象创建的时候的书写结构是一样的,少一层都不行。大家可以对比一下上面我们初始化这个结构体的时候的写法。打比方我有一个组合层次比较深的结构体,我想要拿到最底层的结构体成员变量的数据。这里不讲match,if let,while let,或者元组的匹配。

2023-02-12 07:53:10 120

原创 rust 所有权 ownership 深度解读, & 与 &mut 与 mut = &mut 的区别

在rust中,每一个value都有一个var也就是变量(所有者),这时这个var对于这个value具有所有权。所有权可以:move。所有权可以:borrow。在rust中也类似c中一样,把值分别存储在stack中和heap中。在stack上的变量彼此的赋值属于值传递。当然了并不代表变量对于值不具备所有权。如果变量存储在heap中,普通的赋值语句则属于对于heap中value所有权的move。也就是移动。下面代码回报错。

2023-02-01 11:36:24 408

原创 第一个rust程序,命令方-cargo-vscode

使用 cargo new 创建项目使用 cargo build 构建项目使用 cargo run 一步构建并运行项目使用 cargo check 在不生成二进制文件的情况下检查项目是否可编译使用 cargo build --release 构建项目发行版本使用 cargo run --release 运行发行版本,可测试发布版本的运行时间。

2023-02-01 10:16:32 375

原创 rust环境 在线安装-离线安装

执行如下命令会有命令行提示符让你选择,这个时候直接回车即可。安装完成以后需要让你在~/.cargo目录执行source命令,让rust环境生效。或者在任意目录执行如下命令。

2023-02-01 10:11:10 1669

原创 JDK21协程-虚线程 openjdk源码解读 底层从Java代码到C/C++代码初次深度解读 虚线程调优

自从2022-12-08开始,下一个LTS版本JDK21已经进入了开发阶段。小编在此进行了一次主线版本的协程的初体验。说是协程,其实在JVM内部是以**虚线程**的概念存在的。小编这次从java代码到C/C++代码初次深度解读一下**虚线程**,毕竟JDK21已经进入了开发阶段,等到JDK21LTS版本发布的时候,变动应该不会很大,到时候我会再出一片文章来深度解读一下**虚线程**。

2023-01-11 11:29:48 2677

原创 Linux系统x86-64架构下,从零实现一个系统调用。Ubuntu22.04LTS

这里要注意,这里既然是系统调用,会涉及到内核太和用户太的切换,并且用户空间和内核空间的切换。传入的数据类型为用户空间的数据类型,所以要加上__user。首先要会编译linux内核的源码,这块在我的另外一片文章里面。

2022-12-19 17:16:34 585

原创 ubuntu22.04LTS 内核源码编译,安装,卸载

到网站下载你自己版本的内核源码。使用如下命令查看自己的内核版本uname -r。

2022-12-15 11:34:43 1400

代码临时存储,关联博客文章

代码临时存储,关联博客文章

2022-12-06

ASM4手册中文版.pdf.zip

asm4 使用手册中文版

2021-04-26

7、PPT模板,医疗.zip

7、PPT模板,医疗.zip

2021-01-27

6、PPT模版,医学护理-50套(精选).zip

6、PPT模版,医学护理-50套(精选).zip

2021-01-27

5、PPT模版,品管圈-50套.zip

5、PPT模版,品管圈-50套.zip

2021-01-27

4、PPT模版,护理查房-35套.zip

4、PPT模版,护理查房-35套.zip

2021-01-27

3、PPT模版,医疗护理-80套.zip

3、PPT模版,医疗护理-80套.zip

2021-01-27

2、PPT模版,医疗护理-45套.zip

2、PPT模版,医疗护理-45套.zip

2021-01-27

1、PPT模版,医疗护理-50套.zip

1、PPT模版,医疗护理-50套.zip

2021-01-27

小程序前端开发用素材

小程序前端开发用素材

2021-01-27

photoshop素材和笔刷

photoshop素材和笔刷

2021-01-27

Archive4.53 暴力破解工具.zip

Archive4.53 暴力破解工具.zip

2021-01-26

Navicat_Premium15.0.22_for_macw.dmg

Navicat_Premium15.0.22_for_macw.dmg

2021-01-26

webBTraceUtil_for_JDK1.8

个人开发的BTrace小工具。不需要再配置BTRACEHOME环境变量,可多人互不影响同时测试。使用方式,请参见:https://blog.csdn.net/jl19861101/article/details/88368830

2019-05-04

webBTraceUtil_for_JDK11

个人开发的BTrace小工具。不需要再配置BTRACEHOME环境变量,可多人互不影响同时测试。使用方式,请参见:https://blog.csdn.net/jl19861101/article/details/88368830

2019-05-04

Btrace资源

支持jdk11,请参阅小编文章:文章还未发表。请稍后关注。

2019-04-07

任务调度,任务调度,任务调度

简单的任务调度池。for循环往里面塞300W个任务不倒。

2011-07-16

java 反编译.java 反编译

右键点击.class文件,设置打开方式指向本exe文件即可直接打开。本文件还提供类名link功能。

2010-06-01

java 动态编译.java文件,动态运行类 _1.3

java 动态编译.java文件,动态运行类 _1.3

2010-04-15

java 动态编译.java文件,动态运行类 _1.2

java 动态编译.java文件,动态运行类 _1.2

2010-04-10

java 动态编译.java文件,动态运行类 _1.1

java 动态编译.java文件,动态运行类 _1.1

2010-04-05

java 动态编译.java文件,动态运行类

java 动态编译.java文件,动态运行类

2010-04-05

hiew 8.00 (英文版)

Hiew8.00 16DOS版进制文本编辑器

2010-02-08

hiew7.51英文绿色特别版

HIEWV7.51英文绿色特别版16进制编辑器特别的可以对应用程序进行反汇编

2010-02-08

html入门手册(必备)

html手册,html手册,html手册,html手册,html手册,html手册,html手册,html手册,html手册,html手册,html手册

2008-10-23

Loading加载动画

Loading加载动画, 有5个flash,东西不多,呵呵。

2008-09-12

LiferayPortal二次开发指南

liferayportal二次开发指南, 只讲解原理。代码很少。供学习

2008-09-12

js——表单验证大全

js表单验证大全, 自己从往上搜索的, 不是很全单很实用。

2008-09-12

javascript源码大全

javascript源码大全 代码不多,仅供参考

2008-09-12

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

TA关注的人

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