几个面试题,求解释

问题描述

1、一个进程,里面有一个线程,进程结束,线程还存活吗?2、一个进程,里面有一个线程,线程sleep50000秒,进程结束,这个线程还会存活吗?3、jvm是如何实现的sync和lock的4、5000W条数据的表,不可拆分,如何优化查询,可以考虑从任何角度的优化5、ActiveMQ设置手动ACK的模式下,Consumer消费message长期不执行ACK,队列会有什么变化6、简述innodb和myisam存储原理,MySQL里如果光是查询情况下,存储引擎innodb和myisam哪个性能更高,为什么

解决方案

解决方案二:
有没有思路比较清晰的回答下
解决方案三:
都是可以百度出来的,问度娘基本就可以了。1.进程结束,线程当然不会存在。2.同1。进程结束,进程中的线程同样被销毁。这个是进线程之间的关系问题。进程是操作系统分配资源的最小单位,线程在某种层面上可以看做是允许CPU的一种资源,所以,线程可以理解成是进程资源的一种(当然,我这种说法很非主流,仅供参考),进程不存在了,进程的资源当然也就都释放了。3.这个问题,直接百度吧,解释起来太麻烦了。4.5KW数据的表,通常都是分表再查询的,如果不分表,优化可以考虑以下几种方式:一、应用程序级的优化,在应用程序端,建立查询结果的缓存,减少数据库查询负载。二、应用程序级的优化,人工根据经验和工具软件对查询按照查询成本进行排序,将查询成本高的查询过程,改成异步任务的形式,通过任务队列逐次进行查询操作,降低数据库负载,并针对查询结果的使用频繁程度创建缓存。(融合一的思想)三、数据库级的优化,根据查询成本和频繁程度综合考虑,为相应的表建立索引。每个表的索引一般在3个左右,不超过5个。四、数据库级的优化,更换数据库。1).大型数据库对于大数据表的支持都会有优化,或者使用分布式数据库,会自动并行查询。2).采用NoSQL的分布式数据库进行处理,这个性能更优。四、通过SQL代理进行优化,很多SQL代理程序,都有缓存机制,可以考虑这方面的优化。五、硬件增强(不推荐)。考虑更大内存,更快的CPU,更快的存储设备(固态盘)等等,或者采用MySQL的读写分离技术。5.没用用消息中间件,不好回答,貌似应该是消息被丢弃了。楼主百度一下,了解一下消息中间的转发机制,应该就明白了。6.这个问题百度一下两者的区别,就一目了然了。一个带数据库事务一个不带事务,都是数据存储引擎。单考虑查询性能的话,MyIsam要快很多,插入也快很多。并且底层还保存了当前表的记录数量。很适用于论坛型的站点项目。读操作远远大于写操作。

时间: 2025-01-19 04:52:01

几个面试题,求解释的相关文章

biginteger-Java中n!的代码看不懂啊,求解释

问题描述 Java中n!的代码看不懂啊,求解释 import java.math.BigInteger; import java.util.*; public class Main{ protected static ArrayList table = new ArrayList(); static { table.add(BigInteger.valueOf(1)); } public static synchronized BigInteger factorial(int x) { for

孙鑫-Visual C++的一段代码搞不懂求解释

问题描述 Visual C++的一段代码搞不懂求解释 说一下自己的理解.题目是孙鑫老是的文本输出的例子. 1:GetBkColor得到背景白色,然后SetTextColor(白色)把背景白色设置为文字颜色.跟着clr应该是赋值得到白色了吧,但是F5看的时候是黑色,就要原文字颜色.我这么理解应该错了 1 COLORREF clr=dc.SetTextColor(dc.GetBkColor()); //GetBkColor属于dc对象,改变dc中的背景值(白色).然后SetTextColor用白色值

ancy orm-用FancyForm添加用户角色,求解释这段代码,

问题描述 用FancyForm添加用户角色,求解释这段代码, var form = $('#form').FancyForm({ title: '添加角色' width: 345 height: 325 inputWidth: 190 labelWidth: 60 url: '<%=path %>/sysRoleController/addRole.do' params: { param1: 1 param2:'string' } defaults: { type: 'string' } it

ip地址-求解释下这段代码...感激不尽

问题描述 求解释下这段代码...感激不尽 u_long ulDestIP; u_long ulDestIP1=inet_addr(a); u_long ulDestIP2=inet_addr(b); unsigned long count = ntohl(ulDestIP2 - ulDestIP1)-1; struct in_addr in; unsigned long hostip; for(unsigned int i = 0; i <=count+1; i++) { hostip = nt

下面代码是啥意思 求解释 qt新手

问题描述 下面代码是啥意思 求解释 qt新手 p.drawEllipse(QPoint((i + 1) * 40 (j + 1) * 40) 15 15);是啥意思 解决方案 drawEllipse( x y ab );表示以坐标(xy)为中心画一个长为a宽为b的椭圆以你的代码为例就是绘制一个 中心(40(i+1)40(j+1))长轴(长)为a短轴(宽)为b的椭圆其中ij应该是传入的参数 解决方案二: 在那个区域内绘制椭圆啊 解决方案三: QPoint((i+1)*40, (j+1)*40)坐标

线程-有几百个进程却只有几G的内存,求解释这几百个进程如何共享内存的?

问题描述 有几百个进程却只有几G的内存,求解释这几百个进程如何共享内存的? 我感觉每个进程"占的内存"加起来应该大于物理内存,,怎样的内存管理和调度可以让这几百个进程看起来是一块运行的啊? 解决方案 同一个物理页可以映射到不同进程的地址空间,比如如果多个版本的程序都用同一个Visual C++运行时的DLL,那么只读数据是共享的.一个进程的私有内存才是说占就真占的. 另外,系统会把暂时不用的内存(比如窗口正在被最小化的程序的内存)交换到磁盘上的虚拟内存交换文件,直到下次程序想起来用(比

软件开发-这个报什么错?求解释

问题描述 这个报什么错?求解释 开发-这个报什么错?求解释-pos机报错代码解释"> 解决方案 http://blog.csdn.net/lyc_daniel/article/details/12968843http://blog.hehehehehe.cn/a/10160.htm

指针-么么哒、这题用C语言为什么出现Segmentation fault,求解释并纠错(谢绝新代码)

问题描述 么么哒.这题用C语言为什么出现Segmentation fault,求解释并纠错(谢绝新代码) //依次输出字符串中的数字团,比如poq89ayu1u&129aa //就输出89,129,一共2个数. //萌妹纸诚心诚意求修改 include int main() { char str[80],*pstr; int i=0,flag=1,num=0;pstr=str; gets(str); while(flag==1) { for(i=0;(str+i)!='';i++) { if('

c-C语言输出数字团,代码为什么出现Segmentation fault,求解释并纠错??

问题描述 C语言输出数字团,代码为什么出现Segmentation fault,求解释并纠错?? //题目:输出字符串里数字团,以及个数.比如89cy129 //就输出89,129,一共2个数. 代码在这个百度知道的问题上:well,看来百度知道上面没有人会做? 跪谢!!! 源代码: include int main() { int a[80],i=0,*pa,an=0; char str[80],*pstr=str; void getnum(char pstr); gets(str); get

指针-@C语言大神,这程序谭浩强给的答案看不懂,求解释?

问题描述 @C语言大神,这程序谭浩强给的答案看不懂,求解释? //题目:输出字符串里数字团,以及个数.比如89cy129//就输出89,129,一共2个数.// 问题:后面一大段为啥要复制粘贴前面一大段的代码?//有什么用?求解释.而且运行也不对,求修改!跪谢! include int main() { char str[80],*pstr; int m,i=0,j=0,k=0,digit=0,ndigit=0,e10,a[80],*pa; pstr=&str[0];pa=&a[0]; g