首页>国内 > 正文

技术迷途者指南:我有问题,你有解吗?丨T群话 <a href="https://www.51cto.com/original.html" target="_blank" class="article-type" data-v-5614a5b8>原创</a>

2022-05-21 05:40:56来源:51CTO.COM

在日常工作中,我们可能会遇到各种技术问题,比如运维、开发、框架、操作系统等领域,不同的技术人,碰到的难题也不尽相同。为了帮助大家更好的解决问题,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:QListWidgetItem排序方式是什么样的?能否介绍下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是否支持SQLServer?

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技术交流群中的热心群友,是你们的细心解答帮助大家解决了难题。如果还有技术方向的问题,欢迎大家加群探讨,也可以在下方留言。

关键词: 面向对象的 技术问题 编程语言 操作系统 技术交流

相关新闻

Copyright 2015-2020   三好网  版权所有