草庐IT

技术迷途者指南:我有问题,你有解吗?丨T群话

莫奇 2023-03-28 原文

在日常工作中,我们可能会遇到各种技术问题,比如运维、开发、框架、操作系统等领域,不同的技术人,碰到的难题也不尽相同。为了帮助大家更好的解决问题,51CTO技术交流群针对一些技术问题展开了深入的讨论交流。51CTO对其中精彩问答进行了整理,并通过文章的形式呈现给广大技术人,希望能对大家有所帮助。

后续我们也会定期整理一些常见问题和大家分享,同时也欢迎大家提问或留言,快来看看有没有遇到同样的问题吧~

编程语言类

Q:Java 里不能按引用传数值类型吗?也就是 Java 里有没有 C# 的 ref 关键字?private void changev(int t){t++;},如何通过改变参数关键字让这个 t 改变的效果传出去?

A:不能。这个是 Java 的非常优雅的特性,面向对象的编程中是采用方法重载的方式进行解决的。类下面再增加一个 private void changev(double t){t++;} , 这样传入 int 或者 double 类型的时候,系统会自动根据传入类型选择对应的方法。

深入理解Java虚拟机里面讲过这个。以前面试题容易出现,方法相同,传入类型不同,double  int long,传入short执行那个方法。

方法重载,其实就是面向对象的基础特性。这个 int 就相当于 out 关键字。这比 out 关键字,这种编程方式更优雅,更简约。

 

可以静下心来看看 Java 基础和面向对象的编程思想,做为BAT主流的后台编程语言,肯定有它存在的道理。

开发类

Q1:PHP脚本在执行的时候抛出了这个错误:double free or corruption (out),请问如何解决?

A:直接原因是空指针多次释放,要看看程序哪一步调用出问题了,打断点看看;调用 mq时出问题,要看调用过程是否正确,查查 api,配合断点,rmq 有些功能是需要插件的,这个要确认。如果是在本地正常,跑到线上就不正常,那就 try catch 打日志。只在线上出问题,大概率是有不符合预期的数据格式。

Q2:是否熟悉Java agent机制和ASM?agent attach到进程B后,B在回调前拿到的已加载类是对的,回调后拿到的classname很多是null?

 

A:是因为跨进程导致,不是一个进程了。如果跨进程了,你在新的进程中,需要重新加载。进程间和程序间是一样的,尤其对于Java,进程间还能涉及到类问题?应该是通信问题,如果问题成立,只能是线程。

ASM的解析类似于SAX解析XML文件,相比于其它方式比如CGLIB,它的优势在于性能更高,在Spring中都是使用的cglib动态代理,而cglib本身就是使用ASM。

利用ASM可以获得class文件的详细信息:比如类名、父类名、接口、成员名、方法参数名、局部变量名、元数据等。

还可以对class文件进行动态修改,比如增加、删除、修改某个类的方法。

CGLIB是对ASM的封装,简化ASM的操作,降低ASM的使用门槛。

框架类

Q:QListWidget  Item 排序方式是什么样的?能否介绍下QListWidget 的排序原理?

A:QListWidget 使用 DisplayRole(项目的文本)进行排序,并调用 QString :: localeAwareCompare。要覆盖默认值,可以更改使用的语言环境(请参阅 QLocale),或者让您自己的 QListWidgetItem 子类重新实现 QListWidgetItem::operator<,并让它进行所需的比较。

对于任何更高级的,我建议在 QListView 来看看,你可以结合自己的模型实现或便民模型QStandardItemModel 或 QStringListModel(后者可能是最简单和优雅的解决方案您的案件)。为了排序,您将在实际模型和视图之间放置一个 QSortFilterProxyModel。

操作系统类

Q1:在 hyper 里安装 win7 总是失败,这是怎么回事?

 

A:win7 要安装 sp1,并且 .net 3.5 和 .net4.8 要安装;主板开启 vdiintel 虚拟化;win7 其他版本是不行的。

Q2:银河麒麟V10 是否支持 SQL Server?

A:银河麒麟V10 是带 docker 的,不行就用 docker 跑。目前 SQL-Server 只支持运行在 x64 架构的 Linux 上。但国内的 Linux 发行版大多使用自主架构的处理器,这些处理器大多是 ARM 架构,所以还是不兼容。


硬件类

Q:有的Ubuntu系统为什么不能安装高版本的显卡驱动?

A:官版驱动不适配。Linux上用开源驱动非常多。一般都用官网的、开源的驱动,如果都找不到,那就换显卡吧。


运维类

Q:I7-11700CPU 16G运存 SSD 打开EXCEL-WPS 慢,是怎么回事?新买的电脑,看到CPU占用到95% WPS的进程。这个是财务的EXCEL表格,大小有300M。

A:修电脑三大法则:重启、重装、重买;关掉稻壳,重装WPS,更换专业版,都可以试试;还可以换个Office,Office处理大文件性能更好一些;

以下两个方法不错,曾经处理过2G 的excel:一是用Python pandas,二是把数据存到MySQL。

把常用功能写个脚本,给财务用就可以,或者写个SQL,把数据入库,财务用的时候,上SQL查一下就行;要是不用数据库的话, 那就写个py 脚本,给财务的同学用吧。

现在的有些财务人员,都开始学习 Python 了。这不是卷,这是解放程序员的劳动力,让程序员致力于更有创造性的工作中。

以上就是小编整理的近期技术人员比较关心的技术问题,特此感谢51CTO技术交流群中的热心群友,是你们的细心解答帮助大家解决了难题。如果还有技术方向的问题,欢迎大家加群探讨,也可以在下方留言。



有关技术迷途者指南:我有问题,你有解吗?丨T群话的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  3. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  4. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  5. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  6. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  7. ruby-on-rails - 简单的 Ruby on Rails 问题——如何将评论附加到用户和文章? - 2

    我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。

  8. 【高数】用拉格朗日中值定理解决极限问题 - 2

    首先回顾一下拉格朗日定理的内容:函数f(x)是在闭区间[a,b]上连续、开区间(a,b)上可导的函数,那么至少存在一个,使得:通过这个表达式我们可以知道,f(x)是函数的主体,a和b可以看作是主体函数f(x)中所取的两个值。那么可以有,  也就意味着我们可以用来替换 这种替换可以用在求某些多项式差的极限中。方法: 外层函数f(x)是一致的,并且h(x)和g(x)是等价无穷小。此时,利用拉格朗日定理,将原式替换为 ,再进行求解,往往会省去复合函数求极限的很多麻烦。使用要注意:1.要先找到主体函数f(x),即外层函数必须相同。2.f(x)找到后,复合部分是等价无穷小。3.要满足作差的形式。如果是加

  9. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  10. SPI接收数据异常问题总结 - 2

    SPI接收数据左移一位问题目录SPI接收数据左移一位问题一、问题描述二、问题分析三、探究原理四、经验总结最近在工作在学习调试SPI的过程中遇到一个问题——接收数据整体向左移了一位(1bit)。SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节(1byte)。请教前辈之后也没有得到解决,通过在网上查阅前人经验终于解决问题,所以写一个避坑经验总结。实际背景:MCU与一款芯片使用spi通信,MCU作为主机,芯片作为从机。这款芯片采用的是它规定的六线SPI,多了两根线:RDY和INT,这样从机就可以主动请求主机给主机发送数据了。一、问题描述根据从机芯片手

随机推荐