当前位置: 首页 > news >正文

广州做网站报价网站通栏

广州做网站报价,网站通栏,建行网点,小程序商城开发北京1.cpp和java的区别 cpp可以多重继承,对表java中的实现多个接口 cpp支持运算符重载、goto、默认函数参数 cpp自动强转,导致不安全;java必须显式强转 java提供垃圾回收机制,自动管理内存分配,当gc要释放无用对象时调用f…

1.cpp和java的区别

cpp可以多重继承,对表java中的实现多个接口
cpp支持运算符重载、goto、默认函数参数
cpp自动强转,导致不安全;java必须显式强转
java提供垃圾回收机制,自动管理内存分配,当gc要释放无用对象时调用finalize方法
java提供反射机制,允许程序运行时得到类或对象的相关属性和操作
java为解释性语言,编译成字节码后由jvm之星;cpp为编译性语言,得到二进制代码
cpp快,java跨平台
java没有指针,更加安全

2.什么是数据库事务?怎么使用?

事务时一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,执行结果使得数据库从一个一致性状态到另一个一致性状态,要么都执行,要么都不执行。

默认就是自动开启事物,一个sql就是一个事务;

或者手动开启:
start transaction 开启事物
commit 提交
rollback 回滚

或者设置自动提交参数autocommit=1,自动提交

3.线程进程协程

进程是程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位
线程是程序执行流的最小单位,PCB包括线程ID,当前指令指针PC,寄存器集合和堆栈组成
线程自己不拥有系统资源,但共享进程的全部资源
线程可共享堆不可共享栈
协程是更轻量级的一种函数,一个线程中的多个协程是串行的,所以go是多核编程
进程切换是从用户态到内核态再到用户态,效率低下
线程切换是os根据自己策略决定,切换内容保存在内核栈中
协程切换是程序决定,只有用户态,效率高

4.进程通信和线程通信

进程:管道(先进先出)、消息队列、共享内存(解决消息拷贝)、信号量、信号、socket(stream、dgram)
线程:互斥锁、读写锁、条件变量condition、信号量semaphore

5.堆栈的区别

1.栈是系统自动分配,堆要人工申请和释放
2.栈远小于堆
3.堆向上生长,内存地址由低到高;栈向下生长,内存地址由高到低
4.堆动态分配,栈可以动态或者静态
5.栈有专门的寄存器,更快;堆申请容易有内存碎片,效率低
6.栈存放函数返回地址、相关参数、局部变量和寄存器;堆内容由开发人员决定

6.多线程竞争

数据竞争:多个数据同时读写共享数据
死锁:互相等待对方释放资源
活锁:不断尝试,尝试失败尝试失败
优先级反转:低优先级的任务阻塞了一个高优先级的任务
解决方法:互斥锁、信号量、条件变量、读写锁、原子操作、线程安全的数据结构、资源分配和释放策略

7.乐观锁和悲观锁,哪里调用?

悲观锁:共享资源每次只给一个线程使用,其他线程阻塞,用完再转让(synchronized,reentrantlock)
乐观锁:认为共享资源每次访问都不会出现问题,无需加锁也无需等待,提交时候校验是否被修改即可(版本号机制、cas算法,aba问题用版本号或者时间戳解决)

8.线程间数据共享volatile

1.可见性:一个线程改了其他线程会立即看到
2.禁止指令重排:确保写操作不会重排到后面的读操作之前
3.不保证原子性:不适用于++这些复合操作,应该用锁

9.归并排序

def merge_sort(arr):if len(arr) > 1:mid = len(arr) // 2  # 找到中间位置left_half = arr[:mid]  # 分割成左右两个子序列right_half = arr[mid:]merge_sort(left_half)  # 递归对左子序列进行排序merge_sort(right_half)  # 递归对右子序列进行排序# 合并左右两个有序子序列i = j = k = 0while i < len(left_half) and j < len(right_half):if left_half[i] < right_half[j]:arr[k] = left_half[i]i += 1else:arr[k] = right_half[j]j += 1k += 1# 处理剩余元素while i < len(left_half):arr[k] = left_half[i]i += 1k += 1while j < len(right_half):arr[k] = right_half[j]j += 1k += 1# 示例用法
arr = [12, 11, 13, 5, 6, 7]
merge_sort(arr)
print("排序后的数组:", arr)

9.nio是什么

非阻塞的处理IO的方式(new io),不需要一直阻塞等待数据的到来,使得处理并发时高效
1.双向的通道为基本数据传输单元,流单线
2.缓冲区为nio用来读取和写入数据的容器,在通道和应用程序之间传输数据,字节or字符
3.选择器,监视多个通道的事件,例如就绪和可读,通过selector可以实现但线程管理多通道
4.非阻塞,当通道无数据不会阻塞线程,可以执行其他任务
5.同步异步:同步指线程请求完成前被阻塞;异步指完成前继续执行其他任务

10.integer128

byte8位,short16位,int32为,long64位,128位的话需要用BigInteger

http://www.yayakq.cn/news/391107/

相关文章:

  • 网站后台关键词链接怎样做邯郸市信息港
  • 手机社交网站建设怎么做自己的音乐网站
  • 外贸营销型网站2018wordpress最新主题下载
  • 网站开发与建设方向iis 部署wordpress
  • 营销型网站定做客户说做网站价格高
  • 建设网站用什么语言开发稳定云南工程建设信息网官网
  • 网站后台jsp怎么做分页五网合一网站建设
  • 盐都区城乡建设局网站网站服务器 优帮云
  • 网站建设与管理以后工作方向google chrome网页版
  • ios移动网站开发详解 pdfhtml5网站的优点
  • 购物网站设计建筑业企业服务平台
  • 上不了国外网站 怎么做贸易移动建站平台有哪些
  • 网站设计的重要性加工外包网
  • 做买鞋网站的论文医院网站模板
  • 17一起做网站广州广西灵山县住房和城乡建设局网站
  • 利用网盘做网站网页设计公司有专门做图的部门
  • 管理网站开发教程wordpress数据备份插件
  • 网站开发的比较上海亿网站建设
  • 陕西教育建设信息网站制作图片视频软件app
  • 惠州做网站公司做电影网站配什么公众号
  • ps兼职做网站品牌设计公司简介
  • 判断网站的好坏crm在线观看
  • 网站免费建站ozhihe网站建设 淘宝
  • 上虞网站建设文广网络应用公园app制作平台
  • 做公司网站需不需要注册凡科平台送审严格吗
  • 食品营销型网站网站网站建设费进什么科目
  • 小松建设的官方网站安丘网站建设公司
  • 网站建设公司宣传文案青岛市做网站
  • 郑大二附院网站建设招标同心食品厂网站建设项目任务分解
  • 南宁百度网站建设公司wordpress首页白屏