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

网站中超链接怎么做博业建站网

网站中超链接怎么做,博业建站网,扁平化网站设计欣赏,住建部网站2015年城市建设统计mysql存储引擎 存储引擎#xff1a;定义数据的存储方式#xff0c;以及数据读取的实现逻辑 在以前数据库5.5默认MyISAM引擎#xff0c;之后默认InnoDB引擎 MyISAM引擎的数据和索引是分开存储的#xff0c;InnoDb将索引和文件存储在同一个文件。 MyISAM不支持事务#…mysql存储引擎 存储引擎定义数据的存储方式以及数据读取的实现逻辑 在以前数据库5.5默认MyISAM引擎之后默认InnoDB引擎 MyISAM引擎的数据和索引是分开存储的InnoDb将索引和文件存储在同一个文件。 MyISAM不支持事务InnoDB支持事务 MyISAM只支持表锁InnoDB支持表锁行锁等 补充表锁和行锁 表锁粒度更粗的锁锁定整个数据表其他事务不能对该表进行任何读写操作。并发低不会死锁 行锁粒度更细的锁锁定数据表中的特定行其他事务只能对该表的其他行进行读写操作并发高会死锁。 MyISAM不支持外键InnoDB支持外键 如果大部分表操作是查询--选用MyISAM反之若是需要支持事务使用InnoDB ArrayList和LinkedList的区别 都是List接口下的两个实现类 1.内部实现 ArrayList使用的是数组的实现通过索引访问元素支持快速随机访问 LinkedList使用的是双向链表每个元素都包含指向前一个元素和后一个元素的引用适合插入删除操作 2.数据访问的时间复杂度不同 ArrayList时间复杂度为O(1)LinkedList需要从头部或者尾部开始遍历链表直到找到元素故为O(n) 3.空间占用 ArrayList基于数组实现占用空间是连续的可能产生内存碎片LinkedList通过链表连接元素每个元素都包含前后节点的引用占用的空间比较大 线程安全的集合有哪些 1.Vector 相当于 ArrayList 的翻版是长度可变的数组Vector的每个方法都加了 synchronized 修饰符是线程安全的。 2.Hashtable是一个线程安全的集合,是单线程集合它给几乎所有public方法都加上了synchronized关键字 3.ConcurrentHashMap 采用了分段锁(Segment)并非锁住整个方法而是通过原子操作和局部加锁的方法保证了多线程的线程安全且尽可能减少了性能损耗。 设计模式 单例模式 1.提供有且仅有一个单例的实例 2.私有化它的构造方法不让外部通过构造方法创建单例类的实例 3.提供一个公共方法给外界获取这个实例 代理模式 工厂模式 1.工厂方法模式 抽象工厂实现类只生产单一产品 2.抽象工厂超级工厂 抽象工厂实现类可以生产某一类的产品 观察者模式 可以理解为我发朋友圈其他人观察者可以自动立刻看到我发送的内容。 使用场景 List 元素去重 ? 该问题可以分为去重是否考虑顺序 去重不考虑顺序 1.使用循环去重判断集合中该元素是否存在不存在才添加 2.使用循环去重判断集合中该元素是否有相等的有的话则remove删除 3.使用set去重最简单先装进hashSet再装进ArrayList集合 去重考虑顺序 1.使用LinkedHashSet 2.使用Stream流的distinct方法去重 判断元素是否在List里面 可以使用contains()方法来检查一个元素是否存在于一个List中 线程之间通信方式 ? 1.使用volatile和synchronized关键字 volatile告诉程序任何对于该变量的访问都需要从共享内存中获取并且它们的改变必须同步刷新到共享内存里面即可保证所有线程对该变量访问的可见性 synchronized同步方法或代码块确保同一时间只有一个线程可以执行某个特定区域的代码。 2.等待/通知机制 等待通知机制 一个线程修改对应的一个值另外一个线程可以感知到变化进行相应的操作 线程是抢占式执行的无法预知线程之间的执行顺序。但有时程序员也希望能合理协调多个线程的执行顺序。因此在 Java 中使用了等待(wait)和通知(notify)机制用于在应用层面上干预多个线程的执行顺序。 3.管道pipe输入/输出流 和文件/网络 输入/输出流的区别在于主要用于线程之间的数据传输传输的媒介是内存 4.Thread.join 用于让一个线程A等待另一个线程B执行完。 5.ThreadLocal 可以通过set方法设置值也能通过get方法获得set的值 Mybatis一级缓存和二级缓存 ? 一级缓存是sqlSession级别的缓存也叫本地缓存每个用户执行查询时都需要使用sqlSession来执行为了避免每一次都去查询数据库mybatis把查询出来的数据缓存到sqlSession的本地缓存里面后续sql如果命中缓存就可以直接从本地缓存中读取数据。 二级缓存当多个用户在查询数据时只要有任何一个sqlSession拿到了数据就会放入到二级缓存里面其他的sqlSession就可以直接从二级缓存里面去加载数据。 每个sqlSession都有自己的一级缓存不共享 二级缓存是由每个sqlSession放入组成的共享 MyBatis的一级缓存是基于SqlSession的也就是说在一个SqlSession内部如果多次查询相同的数据MyBatis会首先从一级缓存中查找。如果一级缓存中有数据则直接返回结果如果没有则查询数据库并将结果放入一级缓存。 然而如果有多个SqlSession都需要查询相同的数据那么一级缓存就无法满足需求了因为每个SqlSession都有自己的一级缓存它们之间不共享数据。为了解决这个问题MyBatis引入了二级缓存。二级缓存是基于mapper的namespace的这意味着多个SqlSession可以共享同一个mapper的二级缓存。当多个SqlSession都需要查询相同的数据时MyBatis会先检查二级缓存如果有数据则直接返回如果没有则查询数据库并将结果放入二级缓存。 Redis为什么是单线程 ? Redis最大的两个特点基于内存单线程模型 这个问题要先明白redis的单线程指代的是什么 单线程指的是如图接收命令1返回结果1执行命令接受命令2返回结果2这些所有的步骤都是由1个线程来完成的。 为什么要设计成单线程 1.单线程简化设计避免了多线程常见问题如锁并发控制单线程不存在这些问题。 2.避免锁的开销多线程环境为了保证数据的一致性需要使用锁来同步不同线程的操作但是对于锁会产生额外的开销如获取锁释放锁死锁 3.降低cpu的消耗避免上下文切换
http://www.w-s-a.com/news/760008/

相关文章:

  • 商务公司网站建设网站建设如何自学
  • 现在建网站可以拖拉式的吗中国国内最新新闻
  • phpstorm网站开发产品logo设计
  • 电子商务网站建设与运营什么是单页面网站
  • 西安优化网站公司南阳微信网站
  • 购物网站线下推广方案佛山快速建站哪家服务专业
  • 临沂网站排名外贸网站推广方法之一
  • 手机网站百度关键词排名查询吕梁网站制作吕梁安全
  • 做网站媒体wordpress管理员账号数据库添加
  • php如何自己做网站wordpress怎么修改编辑代码
  • 网站建网站建设公司WordPress互联
  • 泊头市网站建设价格wordpress导航菜单位置
  • 怎么设立网站赚广告费网页制作素材模板图片
  • 做班级网站的目的网站设计制作公司需要什么资质
  • 济南做网站哪家好财政网站平台建设不足
  • php网站建设招聘网站开发与设计论文
  • 上海 网站建设平台 补贴网站开发招标文件范本
  • 延安网站建设公司电话手机上那个网站做农产品推广比较好
  • 增城哪家网站建设好如何做网站实名认证
  • 常州地区做网站个人购物网站需要备案吗
  • 网站建设公司 跨界鱼科技专业做服务器的网站都有哪些
  • 欧洲网站服务器网站建设费用计入什么科目
  • 网站的色调苏州策划网站模板建站公司
  • 怎么看网站用的什么后台公路建设项目可行性研究报告编制办法哪个网站查最新版
  • 可以看的网站的浏览器有哪些专业APP客户端做网站
  • 如何做网站推广自己的产品推荐个网站好吗
  • 网站经营范围wordpress注入点
  • 学校网站开发协议夫妻网络网站建设
  • 福州网站seo推广优化微信商家小程序怎么弄
  • 免费网站推广工具在游戏网站做中介合法