自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1069)
  • 资源 (1)
  • 收藏
  • 关注

转载 传说中的堆栈溢出和快速排序

我用的是Cocoa的线程NSThread,直接通过setStackSize方法配置线程堆栈大小,需要注意的是配置的stacksize最小值是16k,而且必须是4K的整数倍。在应用程序分配的内存空间里面,最低地址位是固定的代码段和数据段,往上是堆,向上生长,用来存放全局变量,对于 ObjC对象 来说,就是 alloc 出来的变量,都会放进这里,堆不够用的时候就会往上申请空间。快速排序是数据结构课程中介绍的最基础的一种算法。ObjC 的对象都是以指针进行操控的,局部变量的指针都在栈里,全局的变量的指针在堆里。

2024-04-18 22:43:44 2

转载 快速排序对于有序数组导致的栈溢出的优化

由于的问题,比较适合来实现排序函数,但是,我们也知道,在最坏情况下也就是数组有序的时候的时间复杂度是 O(n2),如何来解决这个“复杂度恶化”的问题呢?

2024-04-18 17:18:44 6

转载 Java容器类详解 ArrayDeque详解

ArrayDeque是JDK容器中的一个双端队列实现,内部使用数组进行元素存储,不允许存储null值,可以高效的进行元素查找和尾部插入取出,是用作队列、双端队列、栈的绝佳选择,性能比LinkedList还要好。听到这里,不熟悉ArrayDeque的你是不是有点尴尬?JDK中竟然还有这么好的一个容器类?别慌,现在了解还来得及,趁响指还没有弹下去,快上车吧,没时间解释了。来看一个ArrayDeque的使用小栗子:// 初始化容量为4//添加元素// 获取元素。

2024-04-18 14:02:11 11

转载 多态在JVM中的实现——invokevirtual与invokespecial

上面黄色的部分才是base这个引用所能访问的vtable的范围(关于vtable的生成有时间在总结),而普通的子类引用可以访问整个子类的vtable。所以base.print()其实是调用的覆盖后的print(),而baseMethod()则是调用的基类中的方法,并且base不能调用childMethod()方法。但在这里,子类对象的引用就可以调用其基类的私有方法,原因是,这里的调用不再是invokevirtual,而变成了invokespecial!这个是类被虚拟机加载进方法区之后,在方法区里面的布局。

2024-04-15 22:16:00 15

转载 Java 两种zero-copy零拷贝技术mmap和sendfile的介绍

传输方式上下文切换次数数据拷贝次数修改数据传统IO方式44中途可以修改数据mmap方式43中途可以修改数据23中途无法修改数据22中途无法修改数据有一个细节是,例如SocketChannelImpl或者FileChannelImpl在通过write写数据的时候,会判断Buffer是否是DirectBuffer,如果不是,则需要临时创建一个DirectBuffer,将数据拷贝到DirectBuffer,然后再通过DirectBuffer传输,也就是如果是则直接传输。

2024-04-15 14:27:37 34

转载 深入理解JVM-内存结构

如6.5代码所示,如果加上了-XX:+DisableExplicitGC 虚拟机参数,执行到System.gc()时,直接内存不能被回收,只有当真正垃圾回收时才能被回收,这就导致了直接内存过大,会导致内存溢出。1.6 将这个字符串对象尝试放入串池,如果有则并不会放入,如果没有会把对象复制一份,放入串池,会把串池中的对象返回。1.8 将这个字符串对象尝试放放串池,如果有则并不会放入,如果没有则放入串池,会把串池中的对象返回。总结:如果程序中存在大量的字符串,且字符串重复的很多,可以通过入池来减少堆内存占用。

2024-04-14 12:28:07 22

转载 JVM可生产的最大线程数 Thread 数量

事先预测在这样的测试环境下,线程数量就只会受限于测试环境的内存大小(3G),可是实际的测试结果是线程数量在达到32K(32768,创建的数量最多的时候大概是33000左右)左右时JVM是抛出警告:Attempt to allocate stack guard pages failed,然后出现OutOfMemoryError无法创建本地线程。由上面的测试结果可以看出增大堆内存(-Xms,-Xmx)会减少可创建的线程数量,增大线程栈内存(-Xss,32位系统中此参数值最小为60K)也会减少可创建的线程数量。

2024-04-14 10:10:31 13

转载 设计模式——门面模式

(Facade Design Pattern)门面模式也叫外观模式,门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更易用。门面模式原理和实现也比较简单,应用场景也比较明确,主要在接口设计方面使用。解决易用性问题。解决性能问题。解决分布式事务问题。image.png角色组成:门面角色:客户端调用这个角色的方法。此角色知晓相关的子系统的功能和责任。正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统中去。子系统角色:可以同时有一个或者多个子系统。

2024-04-09 15:12:45 13

转载 装饰器模式与代理模式区别

从类图可以发现二者的第一点区别在于装饰模式里装饰类与目标对象是解耦的,装饰对象并不感知目标对象的存在,由我们(调用方)控制对目标对象的引用。而这也是装饰模式与代理模式的本质区别:谁控制了目标对象的引用。而当调用方拥有了目标类,只有执行到装饰器这行代码时才知道具体装饰了哪个类,这在目标类的功能扩展实现上提供了便利,我们仅需一个装饰器类就可以装饰多个目标类。而代理模式则在代理类中写死了代理的是具体哪个目标类,不易扩展。代理模式的定义为“为其他对象提供 一种代理以控制对这个对象的访问。

2024-04-09 14:17:32 11

转载 玩一玩通义千问Qwen开源版,Win11 RTX3060本地安装记录!

大概在两天前,阿里做了一件大事儿。就是开源了一个低配版的模型--通义千问-7B-Chat。这应该是国内第一个大厂开源的大吧。虽然是低配版,但是在各类测试里面都非常能打。官方介绍:Qwen-7B是基于的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍、代码等。同时,在Qwen-7B的基础上,我们使用对齐机制打造了基于大语言模型的AI助手Qwen-7B-Chat。本仓库为Qwen-7B-Chat的仓库。同时官方也给出了很多测试结果。

2024-03-18 10:02:38 89

转载 通义千问模型使用text-generation-webui搭建webui页面

text-generation-webui 适用于大型语言模型的 Gradio Web UI。支持transformers、GPTQ、AWQ、EXL2、llama.cpp (GGUF)、Llama 模型。它的特点如下,3种界面模式:default (two columns), notebook, chat。

2024-03-18 09:59:41 618

转载 pytorch适配CUDA降版本、选择gpu版本最终方案

看着网上的文章,还有问chatGPT,一步步解决了这个问题,还是值得的。有的方法在选择gpu版本的时候,选择这样:conda install -c 镜像源 后面调试版本...一步步调版本,我在调的时候发现太搞了,而且试出来下好配套的了,可能下的也是cpu版本的。conda安装GPU版pytorch,结果却是cpu版本[找到问题根源,从容解决]_为什么conda安装pytorch版本不对-CSDN博客可能更了解镜像源内部选择的方式,会有更好的解决方法。

2024-03-18 09:43:42 873

转载 jdk下载需要登陆Oracle账号解决

目前在Oracle官网下载jdk的时候需要登陆,分享几个账号,方便下载。账号:[email protected]。账号:[email protected]。账号:[email protected]。账号:[email protected]。密码:OracleTest1234。密码:Oracle123456。密码:1211WaN!密码:1211WaN!

2024-03-16 12:01:18 497 1

转载 Java使用stream流实现数组和集合之间的相互转换

【代码】Java使用stream流实现数组和集合之间的相互转换。

2024-03-16 11:17:21 40

转载 对集合数组操作的神器:Stream流

https://blog.csdn.net/weixin_52394141/article/details/127327056

2024-03-16 11:11:07 30

转载 使用stream流操作数组方法整理

方法设置一个默认值(这里设置为0),以防止找不到最大值时出现空指针异常。(这里设置为0),以防止找不到最大值时出现空指针异常。方法将二维数组转换成一维流。

2024-03-16 11:03:00 73

转载 Java中的forEach没有下标?那就自己实现

给大家推荐一个超实用的方法 -- String.join();

2024-03-16 10:29:38 40

转载 JDK 1.8新特性(foreach、Stream、lamdba)

加工:map() 作用是修改迭代中的每个元素,功能有点像foreach,只是侧重点不同,map()侧重修改,foreach侧重遍历。转换:collect(Collectors.toList());过滤一个list,获取到所有的activityId不为空的去重Set。限流:limit(),比如取集合中 age>30的前2个员工信息。去重:distinct() 去重(基本类型数据的去重)遍历:foreach() 这个和list的用起来一样。转换:stream() 把一个list转换成流。

2024-03-16 10:27:15 37

转载 长URL链接转短链接算法

在这个“最近”表中查看一下,看长地址有没有对应的短地址,有就直接返回,并且将这个key-value对的过期时间再延长成一小时如果没有,就通过发号器生成一个短地址,并且将这个“最近”表中,过期时间为1小时所以当一个地址被频繁使用,那么它会一直在这个key-value表中,总能返回当初生成那个短地址,不会出现重复的问题。ok,这样的话,当通过这个hash算法算出来之后,可能我们会需要做btree式的大于小于或者like查找到能知道现在应该在后面加1,2,或3,这个也可能由于输入的长地址集的不确定性。

2024-03-13 21:40:51 74

转载 python的set里面可以存放list吗?

实际上,只要对象是可散列的,那么就能够添加该对象。考虑到Python通过是否实现__hash__去判断一个对象是否是。的,因此只要实现了__hash__方法,该类的对象就是可散列的,也就可以添加到set内。实验结果也支持了这一论述。可以看到set内正常添加了一个list,并且还可以改变该list的元素。正常来说,肯定是不可以在set里存放list的,set内的元素需要能。,即实现了__hash__方法。

2024-02-29 21:58:25 11

转载 如何使用python高效而优雅地处理大数据?

ndarray加入你的训练数据很大,需要流处理(训练),直接使用等模块加载,他们封装好了并行流处理过程。else:p.start()p.join()return arr这基本上是worker_numX 倍的加速。

2024-02-22 09:57:36 8

转载 Python和Golang协程的区别

在说它们两者区别前,我们首先聊一下什么是协程,好像它没有一个官方的定义,那就结合平时的应用经验和学习内容来谈谈自己的理解。协程,其实可以理解为一种特殊的程序调用。特殊的是在执行过程中,在子程序(或者说函数)内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。可中断,这里的中断不是普通的函数调用,而是类似CPU的中断,CPU在这里直接释放转到其他程序断点继续执行。可恢复,等到合适的时候,可以恢复到中断的地方继续执行,至于什么是合适的时候,我们后面再探讨。

2024-02-17 07:38:11 65

转载 TimSort——最快的排序算法

TimSort 算法是Tim Peters(就是写Python 之禅的那个大神) 于 2001 年为 Python 语言创建的。该算法建立在插入排序和归并排序的基础之上,兼具插入排序和归并排序的优点。图1. Tim Peters,就是这位大神开创了 TimSortTimSort 的平均时间复杂度为 O ( n log ⁡ n ) O(n\log n)O(nlogn) ,最好情况 O ( n ) O(n)O(n) ,最差情况 O ( n log ⁡ n ) O(n\log n)O(nlogn)。

2024-02-05 09:57:13 48

原创 电脑端微信无法打开腾讯文档

上面还有一个[3.9.9.43]文件夹,这个文件夹打开也有一个WeChat.exe,然后双击运行[3.9.9.43]文件夹中的WeChat.exe打开微信后,发现小程序的使用全部都正常。后来受上面管理员权限运行方法的启发,想到会不会是我启动的微信程序有问题,所以就根据桌面的微信快捷图标右键选择打开文件位置,也就是桌面启动的微信程序对应的是如下的WeChat.exe程序。然后我就用这个程序的快捷方式替换了原本桌面上的微信快捷方式,后面再打开微信使用腾讯文档就都没问题了。

2024-02-01 14:48:30 1181

转载 【C/C++】size_t详解

使用size_t可能会提高代码的可移植性、有效性或者可读性,或许同时提高这三者。在标准C/C++的语法中,只有int、float、char、bool等基本的数据类型,至于 size_t 或 size_type 都是以后的编程人员为了方便记忆所定义的一些便于理解的由基本数据类型的变体类型。

2024-01-03 14:04:48 287

转载 电脑闲置不用,弹出全屏广告,有关闭按钮

在常规设置,其他设置中,去掉屏保的✔,然后应用确定。点击左上角,选择高级选项。

2023-12-08 11:48:22 278

转载 快速幂算法 超详细教程

但我们可以分析一下他的时间复杂度,时间复杂度为O(power),power指数越大程序循环次数更多,2的3次方需要循环3次,2的100次方要循环一百次,如果是2的1000000次方那就得循环一百万次,显然在时间上要花费更多。求幂运算大家都不陌生,幂是指数运算的结果,当m是正整数时nᵐ的意义为m个n相乘,n的m次幂也就是n的m次方。,其实这两个的本质是一样的,只是分析的角度有些许不同,大家可以按照适合自己的角度去理解快速幂算法,当然两种角度都了解了,那更是最好了。我们可以把公式三加入我们的快速幂代码中。

2023-12-07 14:59:56 17

转载 新版 Chrome 的下载通知切回以前的底部通知方式

要在 Chrome 119.0.6045.106 版本中将下载通知移回底部,首先要在桌面创建 Chrome 的快捷方式,右键点击 Chrome 快捷方式的图标,然后选择“属性”,然后点击顶部的“快捷方式”选项卡。这是因为 Chrome 升级到 Chrome 119.0.6045.106 版本之后,直接将这个设置移除了,并且下载直接采用新的通知方式(即下载通知移到了右上角)。对于 Chrome 119.0.6045.106 以前的版本,可以在 Chrome 的秘密设置中直接更改,也就是"标志"。

2023-12-04 11:09:01 1101

转载 gcc 链接选项-static -static-libstdc++ -static-libgcc使用分析

当我们使用g++编译c++程序时,一般都会动态链接libstdc++.so共享库,有时候受限于不同机器和不同使用场景,我们希望静态链接libstdc++.so库,这样可能便于移植到相似的机器上,这时候就可以使用-static-xxx选项,将所有的库打包成一个可执行文件。他们之间的主要不同点在于:-static 会将所以有用到的外部库全部以静态的方式链接-static-libstdc++ 只将libstdc++.so静态链接-static-gcc 同-static-libstdc++

2023-12-02 11:54:21 802

转载 硬件知识积累 USB 接口 type - A type - B type - C 的介绍与功能说明 (简单介绍)

USB : 通用串行总线(英语: Universal Serial Bus,缩写:USB)是一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字电视(机顶盒)、游戏机等其它相关领域。最新一代是USB4,它的传输速度为40Gbit/s,三段式电压5V/12V/20V,最大供电100W,新型Type C接口允许正反盲插。1、公插头外表上面会标示为J字母,而母插头外表上面会标示为K字母。2、公插头上是带针,而母插头上是带孔。

2023-11-27 14:02:27 1277 1

转载 linux 磁盘满了清理方式

发现tmp文件夹占用爆满,一般来说/tmp 是linux 的临时文件夹,CentOS一般30天自动清除无效临时文件.但不排除某些程序疯狂写入占满磁盘。3.运行 sudo yum clean all 删除全部缓存(ubuntu可以用apt命令),再次按照上面的步骤重新查看发现缓存已经删除。如果/根目录满了 可以再用上面的du --max-depth=1 -h。发现.cache缓存文件夹满了,进去看了一下全是平时YUM的一些缓存。安装tmp清理工具,删除超过24小时未被访问的/tmp下的临时文件。

2023-10-27 15:52:22 487

转载 Centos开机自启动配置方式汇总

在服务器上安装的各种中间件,一般都需要配置成开机自启动。但是有些中间件的安装过程中并没有提供相关配置开机自启动的说明文档。今天总结一下Centos下配置服务开机自启动的3种方式。本文主要总结了Centos上配置开机自启动的3种方式方式一:直接在/etc/rc.d/rc.local中添加服务启动命令方式二:通过chkconfig配置服务自启动方式三:Centos7通过systemctl enble配置服务开机自启动鸟哥的Linux私房菜最详细的CentOS7设置自定义开机启动服务教程。

2023-10-22 22:04:14 3993

转载 解决.bashrc文件每次打开终端都需要source的问题

当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。默认情况下,设置一些环境变量,执行用户的.bashrc文件。此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。​​​​​​​​​​​​​​然后按ESC键,输入。​​​​​​​所以,

2023-10-22 21:58:57 915

转载 centos7安装nasm

安装nasm。

2023-09-25 14:03:24 265

原创 centos7安装bazel

国外镜像源都比较慢,很容易下不下来。直接从华为云镜像库里下载bazel可执行包,只用下载这个可执行文件就够了。三.将/usr/bin加入到PATH系统变量中,这样就可以直接在终端执行bazel命令。二.拷贝下载的可执行包到/usr/bin目录中。四.现在可以使用bazel命令。

2023-09-25 11:50:48 281

转载 Python源码下载和目录简介

除此以外,此目录还包含了一些有用的工具,这些工具能够根据 Python 语言的语法自动生成 Python 语言的词法和语法分析器,与 YACC 非常类似。(2)滑到最下面,会有如下操作系统版本下载,前两个就是源码包(分别为gz和xz的压缩包),下载第一个Gzipped source tarball(直接点击第一个的名字即可下载)。:包含了 Python 提供的所有头文件,如果用户需要自己用 C 或 C++来编写自定义模块扩展 Python,那么就需要用到这里提供的头文件。Python源码下载和目录简介。

2023-09-19 07:21:00 300

转载 linux gcc 链接静态库的几种方式

开发一个应用程序不可避免要使用多个第三方库(library).默认情况下,gcc采用动态连接的方式连接第三方库,比如指定-lpng,连接程序就会去找libpng.so。gcc提供了一个-static参数,可以改变gcc默认的连接方式,GNU官网上关于gcc连接选项的手册《3.14 Options for Linking》中有说明:如下这个-static选项是个大杀器,指定了这个选项,gcc在连接时对项目所有的依赖库都尝试去搜索名为的静态库文件,完成静态连接,如果找不到就报错了。

2023-09-11 15:18:41 815

转载 Ubuntu 工具链升级 gcc 流程

我的是 Ubuntu Server 20.04 LTS,默认 gcc-9,工具链升级至 gcc-11,和 Ubuntu 22.04 LTS 保持一致。

2023-09-04 17:32:04 308

转载 centos7升级binutils中的ld.gold的版本

执行:ld.gold --help, 确实没有发现 --push-state 选项。再执行 ld.gold --help,终于看到了 --push-state 选项。安装完成之后,再执行ld.gold -v,显示已经升级到新版本了。由于gold链接是binutils的一部分,所以先从。下载一个最新的版本,我下载的是2.33.1,安装新版本的binutils。再次链接程序,成功!

2023-09-03 18:32:04 532

转载 linux安装ninja-build

https://www.saoniuhuo.com/question/detail-2480841.htmlhttps://www.cnblogs.com/bjarnescottlee/p/13872893.html2、获取源码、并编译安装备用下载地址: https://down.24kplus.com/linux/re2c-1.1.1.tar.gz官方安装文档: — re2c 3.0 documentation这样就安装完毕了,因为re2c作为基础依赖,所以这里采

2023-09-02 11:11:22 1194

myeclipse 8.5M 取消空格上屏

替换MyEclipse安装目录\Common\plugins下的org.eclipse.jface.text.jar包即可 其它版本的修改参看:http://blog.csdn.net/dhc45010/article/details/9567917

2015-07-07

空空如也

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

TA关注的人

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