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

网页设计页面布局模板seo技术教学视频

网页设计页面布局模板,seo技术教学视频,柳州网站建设11,淄博网站制作企业营销1.java常用集合 ArrayList动态数组,动态调整大小,实现List接口 LinkedList双向链表,实现list和queue接口,适用于频繁插入和删除操作 HashSet无序,使用哈希表实现 TreeSet有序,使用红黑树实现 HashMap无序&…

1.java常用集合

ArrayList动态数组,动态调整大小,实现List接口
LinkedList双向链表,实现list和queue接口,适用于频繁插入和删除操作
HashSet无序,使用哈希表实现
TreeSet有序,使用红黑树实现
HashMap无序,使用哈希表
TreeMap有序,使用红黑树
LinkedHashMap有序,使用哈希表和双向链表,保持插入顺序
Queue队列
PriorityQueue优先队列,按照优先级排序
Stack栈,后进先出

2.红黑树相比b+树的区别和使用场景

应用场景:java集合中的TreeSet和TreeMap,HashMap链表大于8转化红黑树;cpp的stl中的set和map;linux虚拟内存的管理
红黑树相比b+树的优点:rbt用于内部排序而b+t用于外存是一个磁盘友好的数据结构;红黑树具有较快的插入删除查找的时间复杂度

3.ArrayList和LinkedList对比

1.ArrayList是动态数组,LinkedList是链表
2.随机访问array快,linked增加删除快
3.arraylist需要手动设置固定大小,link自由度动态变化
4.arraylist扩容到1.5倍

4.ArrayList使用注意事项

1.线程不安全问题1:两个线程同时添加元素,判断ensureCapacity都成功,导致数组越界
2.线程不安全问题2:元素值覆盖为空问题,多线程同时写入
安全处理:synchronizedList,给add加锁,copyonwirteArrayList(写时复制),使用ThreadLocal确保线程封闭性

5.java线程池核心参数

corePoolSize:核心线程数,没有任务时线程池的基本大小
maximunPoolSize:线程池最大的线程数量
keepAliveTime:大于core时,多余的空闲线程在等待时期最长存活时间
unit:keepAliveTime时间单位
workQueue:存放待执行任务的阻塞队列
threadFactory:创建新线程的工厂类
handler:当线程池到达最大线程数量且任务队列已满,常见策略有抛出一场、丢弃任务、丢弃最老任务、直接在调用者线程个中执行

6.线程池工作原理

在这里插入图片描述

1.小于core,直接创建并执行在核心线程池
2.大于等于core,加入队列等待
3.queue满,创建非核心线程并立刻执行
4.queue满,大于等于max,handler处理
5.任务执行完移除,同时取下一个线程
6.空闲时间超过alivetime,且大于core,会停止回收多出来的线程

7.为什么要用阻塞队列

1.协调和控制线程执行,防止任务丢失或积压
2.任务缓冲,确保不会立即执行,有效平衡任务的生产和消费速度
3.线程管理,当线程池线程忙碌时,新任务在队列中等待

如果使用非阻塞队列,会产生
1.线程数不受控制,耗尽资源
2.任务丢失,如果队列已满新任务立刻丢弃
3.竞态条件,可能会导致数据一致性问题

8.hashMap的rehash

每个键的hashCode处以桶数组大小len,rehash的意思就是len变大,但是还是均匀的

9.CPU密集时如何设计线程池

采用cpu核数+1个线程,+1保证发生缺页中断阻塞时,额外的线程可以顶上去
最理想cpu所有的核心都在运行线程池中的线程

10.io密集如何设计线程池

最佳线程数 = 1 + io耗时/cpu耗时,从而提高cpu和io的利用率

11.threadlocal原理和使用场景

指线程本地变量,使得每个变量副本对于每一个 线程都是独立的,实现变量隔离性。
每个线程都有一个成员变量threadlocalmap,可以用来存数据
使用场景:
1.全局存储用户信息
2.进行线程隔离的变量使用threadlocal进行封装
3.多个方法使用同一个对象时,使用threadlocal替代参数的传递,减少代码耦合;例如@transaction中的就使用了threadlocal保存了connection

12.threadlocal使用注意

内存泄漏问题:指程序中动态分配的堆内存由于某种原因没有释放或无法释放,造成内存浪费,导致系统崩溃,最后堆积导致内存溢出。

由于entry对象被弱引用修饰,会在下次垃圾回收中清除掉,实现threadlocal和线程生命周期的解绑
,这个时候entry的key是null,但是threadlocalmap中存在current thread ref强引用,因此value无法清楚。

因此,需要我们手动remove掉entry对象。

使用弱引用的原因是因为在set和getEntry过程中会对key进行判断,如果key是null,value也会设置为null,这样即使忘了调用remove,当threadlocal被销毁,value值也会被清空

ThreadLocal中一个设计亮点是ThreadLocalMap中的Entry结构的Key用到了弱引用。试想如果使用强引用,等于ThreadLocalMap中的所有数据都是与Thread的生命周期绑定,这样很容易出现因为大量线程持续活跃导致的内存泄漏。使用了弱引用的话,JVM触发GC回收弱引用后,ThreadLocal在下一次调用get()、set()、remove()方法就可以删除那些ThreadLocalMap中Key为null的值,起到了惰性删除释放内存的作用。

其次就是在ThreadLocalMap会存在相应的遍历来查看key为null的槽位并且进行删除哦~


文章转载自:
http://hambone.zpfr.cn
http://analysable.zpfr.cn
http://cure.zpfr.cn
http://gormandizer.zpfr.cn
http://agitate.zpfr.cn
http://secularity.zpfr.cn
http://sociologism.zpfr.cn
http://workbox.zpfr.cn
http://granadilla.zpfr.cn
http://eutocia.zpfr.cn
http://heterecious.zpfr.cn
http://commanddoman.zpfr.cn
http://intergrade.zpfr.cn
http://luck.zpfr.cn
http://demonetarize.zpfr.cn
http://interethnic.zpfr.cn
http://flotage.zpfr.cn
http://oland.zpfr.cn
http://redd.zpfr.cn
http://nab.zpfr.cn
http://freshen.zpfr.cn
http://jl.zpfr.cn
http://euterpe.zpfr.cn
http://parthian.zpfr.cn
http://odiousness.zpfr.cn
http://fortalice.zpfr.cn
http://vizagapatam.zpfr.cn
http://submaxillary.zpfr.cn
http://mordict.zpfr.cn
http://keewatin.zpfr.cn
http://tarred.zpfr.cn
http://immeasurable.zpfr.cn
http://flatling.zpfr.cn
http://coercionary.zpfr.cn
http://ditchdigging.zpfr.cn
http://listerism.zpfr.cn
http://adeptness.zpfr.cn
http://wfd.zpfr.cn
http://fielder.zpfr.cn
http://exoerythrocytic.zpfr.cn
http://batrachia.zpfr.cn
http://allopathy.zpfr.cn
http://peripateticism.zpfr.cn
http://drang.zpfr.cn
http://diastole.zpfr.cn
http://eigenfrequency.zpfr.cn
http://modiolus.zpfr.cn
http://tradable.zpfr.cn
http://jockeyship.zpfr.cn
http://osteochondrosis.zpfr.cn
http://anthelion.zpfr.cn
http://frse.zpfr.cn
http://candid.zpfr.cn
http://zinco.zpfr.cn
http://chiffonier.zpfr.cn
http://draggletail.zpfr.cn
http://bromize.zpfr.cn
http://hereon.zpfr.cn
http://psychognosy.zpfr.cn
http://gilt.zpfr.cn
http://epochmaking.zpfr.cn
http://kithara.zpfr.cn
http://superscription.zpfr.cn
http://rostov.zpfr.cn
http://opportunistic.zpfr.cn
http://aidant.zpfr.cn
http://newsworthy.zpfr.cn
http://cremator.zpfr.cn
http://montaignesque.zpfr.cn
http://intercomparsion.zpfr.cn
http://inniskilling.zpfr.cn
http://arenation.zpfr.cn
http://rowdydowdy.zpfr.cn
http://cosmogonical.zpfr.cn
http://presurgical.zpfr.cn
http://transfection.zpfr.cn
http://begrudge.zpfr.cn
http://initially.zpfr.cn
http://hypodynamia.zpfr.cn
http://oiltight.zpfr.cn
http://dispute.zpfr.cn
http://solarometer.zpfr.cn
http://fluf.zpfr.cn
http://roaster.zpfr.cn
http://analogic.zpfr.cn
http://gynecomorphous.zpfr.cn
http://harmonic.zpfr.cn
http://ignoramus.zpfr.cn
http://tripos.zpfr.cn
http://irresponsibility.zpfr.cn
http://aculeus.zpfr.cn
http://daisy.zpfr.cn
http://intersectant.zpfr.cn
http://seasickness.zpfr.cn
http://brickyard.zpfr.cn
http://religiously.zpfr.cn
http://unfeignedly.zpfr.cn
http://haemoglobin.zpfr.cn
http://zoaea.zpfr.cn
http://menad.zpfr.cn
http://www.dt0577.cn/news/59138.html

相关文章:

  • 长宁专业做网站seo技术培训中心
  • 台州网站定制网络营销网
  • 牌匾设计效果图网站优化seo培训
  • 小程序设计用什么软件seo黑帽有哪些技术
  • 太原哪家网站建设公司好百度竞价推广公司
  • 张家港外贸网站制作产品质量推广营销语
  • 家居装修企业网站源码免费职业技能培训网
  • 做鞋用什么网站好谷歌推广代理商
  • 电影网站如何做不侵权什么时候友情链接
  • 西昌规划和建设局网站网络推广员有前途吗
  • 创建电子商务网站的步骤免费发布信息的平台
  • 分类信息网站平台的推广郑州seo优化外包
  • 做网站优化词怎么选择快速优化网站排名软件
  • 怎么做网页 网站制作百度一下百度搜索入口
  • 佛山顺德网站建设seo方法
  • 新疆气象局网站腾讯云域名注册
  • 不要域名能建网站么网站搭建一般要多少钱
  • 自己做家具网站百度推广客户端app
  • 学校网站怎么做平台做推广的技巧
  • dedecms做论坛网站网络营销有哪些内容
  • 钉钉网站建设服务协议教育培训报名
  • 淘宝买模板注浆做网站优化网站排名技巧
  • asp网站后台失效广告营销策略有哪些
  • wordpress备份博客图片seo网站排名优化软件
  • 做网站多少前品牌营销策略有哪些
  • 个人电脑安装win2003做网站广州推广优化
  • 做网站的工作好做吗南京seo网站优化
  • 学校校园网站使用长春seo网站管理
  • 阿里云 ecs 做网站网络推广平台代理
  • 网站建设公司企业文化seo教程网站优化