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

原创 精选
开发 大数据 运维
在日常工作中,我们可能会遇到各种技术问题,比如运维、开发、框架、操作系统等领域,不同的技术人,碰到的难题也不尽相同。

在日常工作中,我们可能会遇到各种技术问题,比如运维、开发、框架、操作系统等领域,不同的技术人,碰到的难题也不尽相同。为了帮助大家更好的解决问题,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技术交流群中的热心群友,是你们的细心解答帮助大家解决了难题。如果还有技术方向的问题,欢迎大家加群探讨,也可以在下方留言。



责任编辑:莫奇 来源: 51CTO
相关推荐

2022-08-22 10:30:00

分布式存储文件系统

2022-06-17 18:49:25

pythonexcel

2019-04-18 08:41:09

技术主管阿里

2022-05-07 10:38:07

自由职业程序员成长

2021-02-21 10:54:20

京东MySQLIT

2020-02-03 09:11:29

IT技术程序员

2020-02-25 16:56:02

面试官有话想说

2009-06-10 16:34:49

无线网络连接故障

2021-01-10 23:36:52

SQL数据库技术

2021-11-05 10:59:06

元编程语言工具

2024-03-07 08:55:24

JavaPython

2012-11-22 11:35:15

2018-02-25 22:37:21

应用开关Java

2010-12-21 11:31:09

2009-07-27 14:11:22

硅谷动力

2021-11-22 16:51:04

移动应用全球化Google Clou

2013-06-07 10:32:32

程序员职业生涯

2021-03-18 12:08:22

概率问题算法前端

2010-06-18 09:00:54

2021-10-15 11:12:43

GoJava语言
点赞
收藏

51CTO技术栈公众号