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

大连高新区规划建设局网站网站开发选题依据

大连高新区规划建设局网站,网站开发选题依据,德赞网站建设网站制作,广州安全教育平台登录账号登录前言 一#xff1a;后续Mybatis我们会研究那些内容#xff1f; Mybatis核心运行源码分析#xff08;前面系列文章已经探讨过#xff09; Mybatis中缓存的使用 Mybatis与Spring集成 Mybatis 插件。 Mybatis的插件可以对Mybatis内核功能或者是业务功能进行拓展#xff0c…前言 一后续Mybatis我们会研究那些内容 Mybatis核心运行源码分析前面系列文章已经探讨过 Mybatis中缓存的使用 Mybatis与Spring集成 Mybatis 插件。 Mybatis的插件可以对Mybatis内核功能或者是业务功能进行拓展内核的话我们拓展意义不大业务拓展是非常具有含义的可以把Mybatis操作的更细节。 插件拓展内容举例 1分页操作PageHelper这个本质上就是一个Mybatis插件。 2乐观锁拓展实际上我们说乐观锁在Mybatis当中是不支持的。 3数据权限-- 拿到SQL语句拿到paramter就可以为所欲为。 缓存不是MyBatis专利 二为什么引入缓存 数据库和程序之间的交互永远是性能瓶颈 1程序性能瓶颈点 1网络通信 数据传输。 2RDB(关系型数据库)这种一定是内存和硬盘并用的传统数据库硬盘存储大量数据不利于查询。SQL优化 3Java对象的复用问题JDBC Connection -- 池化思想 -- 链接池 Statment -- 对象的复用 -- xxx2Mybatis引入缓存解决的是哪个问题 1)Mybatis引入缓存解决的问题 Mybatis引入了缓存。优先访问到缓存然后将数据缓存中没有在去查询数据库将数据保存到缓存中进行使用 使用缓存不是为了第一次交互的性能而是为了后续的此数据的交互。这样就解决了硬盘存储大量数据不利于查询的问题。硬盘随机读写数据是毫秒级别内存随机读取数据是纳秒级别。 注意 当前个人PC硬盘已经到了2T-5T内存基本上最大才128G受限于内存的大小和断电安全性所以缓存中获取的应该是热点数据。 2)什么是换出策略 当缓存中的空间不够使用时先讲缓存中数据临时拿出来临时存储到硬盘中这就叫换出换出是使用的是序列化的方式。 当然这里的序列化是一个很宽泛的概念可以理解为文件序列化到硬盘中、可以理解为Java对象进行了网络传输。这些都可以称之为序列化与之对应的是反序列化。序列化的方式Java、Json、其他的序列化方式。 这里使用Json的方式进行序列化好不好呢一定是不好的传统的序列化方式一定是二进制方式存储数据的Json是以字符串的方式存储数据的。存储相同数量级的数据使用二进制体量一定更小。 字符串底层不也是二进制么字符串最后也会存成二进制的这是没有任何问题的。但是字符串的二进制体量一定要比纯粹二进制的体量要大因为他有他的格式还有一些特殊的字符他有他的解析协议格式、编解码。层层解析协议格式、编解码嵌套的话数据量就很大了。所以同样数据大小的前提下字符串一定是更占地方。 所以说使用Json存字符串行不行行但是不好因为数据量大。所以一般在内部我们不会使用字符串进行序列化。但是像Http协议和RPC的时候经常会使用字符串做序列化方案。 3)什么是换出算法 LLU和FIFO是两个经典算法。 ALLU 最不常用的对象会被换出对象使用次数。 BFIFO 典型的一个队列缓存的1000个对象在队列当中先入先出。进来一个新的挤出去一个老的。 三缓存分类 1ORM框架集成缓存 ORM框架解决缓存的问题是最合理的。Hibernate或者Mybatis、JDO都会提供缓存功能。 这种方式也是最省心的直接按照对应框架的开发步骤搞即可。 2第三方中间件充当缓存。 Redis、Memcache 自研方式。 这种中间件的方式如何编码呢 /*** 用于测试:创建DAO接口的代理*/Testpublic void test() {ProductDAO productDAO new ProductDAOImpl();ProductDAO productDAOProxy (ProductDAO) Proxy.newProxyInstance(TestMybaits2.class.getClassLoader(), new Class[]{ProductDAO.class}, new InvocationHandler() {Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {//方法 只有以query开头在进行缓存的处理 如果不是以query开头就直接运行 // if (method.getName().startsWith(query)) { // System.out.println(连接redis 查看数据是否 存在 如果存在 则直接返回 return data); // return method.invoke(productDAO, args); // }//定义了一个这样的注解Cache cache method.getDeclaredAnnotation(Cache.class);if (cache ! null) {System.out.println(连接redis 查看数据是否 存在 如果存在 则直接返回 return data);return method.invoke(productDAO, args);}//非查询方法return method.invoke(productDAO, args);}});productDAOProxy.save();System.out.println(---------------------------------);productDAOProxy.queryProductById(10);System.out.println(---------------------------------);productDAOProxy.queryAllProducts();} public interface ProductDAO {public void save();public Product queryProductById(int id);Cachepublic ListProduct queryAllProducts(); }public class ProductDAOImpl implements ProductDAO {Overridepublic void save() {System.out.println(jdbc 的方式操作 数据库 完成 插入的操作);}Overridepublic Product queryProductById(int id) {System.out.println(jdbc 的方式基于ID 进行查询 id);return new Product();}Overridepublic ListProduct queryAllProducts() {System.out.println(jdbc 的方式进行全表查询 );return new ArrayList();} }第三方的集成一定是基于代理设计模式做的。我们使用ORM框架做缓存的话会提供对应的编码方式日过是使用这种第三方中间件的话一定是基于代理设计模式做的。 3两种缓存方式的优缺点 使用ORM框架集成缓存的话这样的话缓存是存储在本JVM内存中的空间较小但是很快因为没有其他的开销。 使用中间件作为缓存的话这样的话缓存是存储在中间件内存中空间较大但是就没那么快因为有网络IO涉及到JVM虚拟机进程和Redis进程之间的网络通信。考虑到内网使用的话也是可以接受的。
http://www.hkea.cn/news/14387611/

相关文章:

  • 信贷网站开发深圳网站建设行业排行
  • 如何看网站是否有做网站地图wordpress 自动备份
  • 盐城市城乡建设门户网站免费的网站建造
  • 茂名企业做网站公众平台官网登录入口
  • 网站的流量是怎么回事素材图下载
  • 江门做网站的公司域名备案期间 网站访问
  • 去国外做非法网站吗注册一个5000万空壳公司要多少钱
  • 上海住房和城乡建设部网站深圳网站优化搜索
  • 光电网站建设相同网站名
  • 网站需要什么费用网站系统说明
  • 免费行情软件网站大全下载南昌市住房和城乡建设网站
  • 在哪个网站上做实验仪器比较好wordpress4.9
  • 苍南网站设计公司怎么跟电商合作去哪找
  • 放单网站建设健身器材网站源码
  • 义乌网站制作电话做产品网站费用吗
  • 做产品网站营销推广公司标志设计图片大全免费
  • 商务网站建设工程师注册安全工程师通过率
  • 网站美工做图晋江友情链接是什么意思
  • 网站规划与网页设计第二版电商erp软件排名
  • 网站取消301后网站开发工程师发展趋势
  • 网站数据库 mysql中国装饰公司十大排名
  • php网站开发招聘需求开源站群cms
  • 哪个网站做h5比较好兰州市政建设集团办公网站
  • 自己电脑做网站用备案网站建设 模版
  • 塘厦仿做网站wordpress分类页置顶信息
  • 峡江网站建设jquery网站模板
  • 关于新闻管理的网站建设报告河北省建设项目环保备案网站
  • html5手机网站教程wordpress怎么制作网站主页
  • 网站怎么做抽奖外贸做网站建设公司
  • 济南哪里有建网站源码管理 网站