- 浏览: 428855 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (170)
- java (77)
- javascript (5)
- jsp (1)
- servlet (6)
- struts (8)
- hibernate (3)
- spring (4)
- ajax (5)
- jquery (3)
- apache cxf (0)
- ext.js (1)
- hadoop (0)
- android (0)
- html5 (2)
- linux (5)
- flex (1)
- tomcat (1)
- jboss (0)
- nginx (0)
- mysql (16)
- sql server (3)
- oracle (4)
- div+css (0)
- mybatis (4)
- design patterns (22)
- xml (2)
- postgresql (3)
- velocity (1)
- freemarker (1)
- kendo-ui (2)
- ibatis (1)
- socket (1)
- C and C++ (1)
- C# (2)
- 程序设计----算法 (0)
- jersey (1)
- dd (0)
- perl (1)
- shell (0)
最新评论
-
书策稠浊:
兄弟,这tm是Java?
java调用百度地图和谷歌地图 -
fengyunlouyanyu:
jquery----删除指定id的div下的img -
yangjianzhouctgu:
Neoman 写道hi,我看你引入了kendo.web.min ...
kendo-ui中kendoGrid的用法 -
Neoman:
hi,我看你引入了kendo.web.min.js 这个js, ...
kendo-ui中kendoGrid的用法 -
yangjianzhouctgu:
llscp 写道这是JS吧...对的呀
java调用百度地图和谷歌地图
业务数据来自a-app与b-app,其中a-app中数据的业务时间早于b-app,现在需要对这两个来源的数据做内存分页查询。
public ResultGson<ProductPaginationBean> mergePaginationQuery(int pageNo, int pageSize) { ResultGson<ProductPaginationBean> productPaginationResultGson = new ResultGson<ProductPaginationBean>("000", "success", null); ResultGson<ProductPaginationBean> paginationOneResultGson = paginationOneQuery(pageNo, pageSize); ResultGson<ProductPaginationBean> paginationTwoBeanResultGson = paginationSecondQuery(pageNo, pageSize); int firstTotalCount = paginationOneResultGson.getData().getTotalCount(); int secondTotalCount = paginationTwoBeanResultGson.getData().getTotalCount(); int totalCount = firstTotalCount + secondTotalCount; int firstTotalPage = firstTotalCount / pageSize; int firstMode = firstTotalCount % pageSize; if (firstTotalPage > pageNo) { ProductPaginationBean productPaginationBean = new ProductPaginationBean(totalCount, paginationOneResultGson.getData().getProductDTOList()); productPaginationResultGson.setData(productPaginationBean); return productPaginationResultGson; } if (firstTotalPage < pageNo) { ResultGson<ProductPaginationBean> productPaginationFirstResultGson = paginationSecondQuery(pageNo - firstTotalPage -1, pageSize); ResultGson<ProductPaginationBean> productPaginationSecondResultGson = paginationSecondQuery(pageNo - firstTotalPage, pageSize); List<ProductDTO> mergedProductList = mergeDataAfterRemoveDataOfFirstList(pageSize-firstMode, productPaginationFirstResultGson.getData().getProductDTOList(), productPaginationSecondResultGson.getData().getProductDTOList()); ProductPaginationBean productPaginationBean = new ProductPaginationBean(totalCount, mergedProductList); productPaginationResultGson.setData(productPaginationBean); return productPaginationResultGson; } if (firstTotalPage== pageNo) { paginationOneResultGson = paginationOneQuery(pageNo, pageSize); paginationTwoBeanResultGson = paginationSecondQuery(0, pageSize); List<ProductDTO> productDTOList = mergeDataDeleteSomeIfPossible(paginationOneResultGson.getData().getProductDTOList() , paginationTwoBeanResultGson.getData().getProductDTOList() , pageSize); ProductPaginationBean productPaginationBean = new ProductPaginationBean(totalCount, productDTOList); productPaginationResultGson.setData(productPaginationBean); return productPaginationResultGson; } return productPaginationResultGson; } private List<ProductDTO> mergeDataAfterRemoveDataOfFirstList(int removeSize, List<ProductDTO> firstProductList, List<ProductDTO> secondProductList) { List<ProductDTO> resultProductList = new ArrayList<>(); if (firstProductList.size() > removeSize) { resultProductList.addAll(firstProductList.subList(removeSize, firstProductList.size())); } int cutSize = removeSize > secondProductList.size() ? secondProductList.size() : removeSize; resultProductList.addAll(secondProductList.subList(0, cutSize)); return resultProductList; } private List<ProductDTO> mergeDataDeleteSomeIfPossible(List<ProductDTO> firstProductList, List<ProductDTO> secondProductList, int pageSize) { List<ProductDTO> resultProductList = new ArrayList<>(); resultProductList.addAll(firstProductList); resultProductList.addAll(secondProductList); if (resultProductList.size() > pageSize) { resultProductList = resultProductList.subList(0, pageSize); } return resultProductList; }
发表评论
-
spring boot应用测试框架介绍
2018-07-19 14:44 753个人原创博客:spring boot应用测试框架介绍 -
可执行jar包的配置与运行
2017-06-04 19:42 1008spring boot项目可以以jar包的形式执行运行。s ... -
多线程并发
2016-05-21 23:49 0Splitter.on('|').trimResults(). ... -
jdk动态代理实现原理
2016-05-09 23:12 775jdk的动态代理即使用反射来实现,具体由Proxy、Invoc ... -
spring常见注解
2016-05-01 23:33 12321.Autowired 通过spring的依赖注入功能来 ... -
spring常见配置作用
2016-04-29 23:08 936一般应用中常见spring的 ... -
linux下java web开发环境搭建
2016-04-10 14:09 1134一般的java web开发涉及到的开发工具有:jdk、tomc ... -
linux下md5sum和DigestUtils.md5Hex的关系
2015-12-19 22:30 8526本文对linux下md5sum命令和java中DigestUt ... -
基于jersey的web service
2015-11-22 22:55 1010本文是基于jersey的web service 的两个小例子, ... -
面试总结----spring
2015-05-19 22:17 912spring在面试中经常被 ... -
面试总结----多线程
2015-05-18 22:10 900面试过程中,多线程被问到的概率非常大,差不多都会问的。 下面 ... -
面试总结----java虚拟机
2015-05-17 23:20 741在面试过程中,java虚拟机被问到的概率非常大,应该是每场面试 ... -
面试总结----java集合
2015-05-17 11:57 677春节刚过,打算换一份工作,于是就开始了一段准备面试的生活,准备 ... -
json串与对象之间转换的几种实现方式
2015-01-24 18:56 1878这里使用了gson,fastjson,jackson,json ... -
google关于事件的生产者消费者模式实现例子
2015-01-24 11:28 976google使用生产者/消费者模式实现了事件的产生传播处理过程 ... -
图形化显示---冒泡排序
2014-12-05 22:17 917代码: package com.thread.singal ... -
多线程----wait/notify
2014-11-06 22:06 687线程同步:两个线程依次对同一变量进行操作。 packag ... -
多线程-----阻塞队列
2014-11-05 22:43 851使用一个线程将一个指定目录下面的所有文件放在一个阻塞队列中,用 ... -
迷宫的最短路径
2014-08-19 00:31 3764代码如下: package com.chapterO ... -
深度优先遍历------部分和问题
2014-08-15 20:15 518代码如下: package com.chapterO ...
相关推荐
当一个进程运行时,不是所有的页都会立即加载到内存中,而是根据需要进行动态加载,这就引出了分页置换算法。 置换算法是决定哪些页面应该被换出内存,以便为新的页面腾出空间的关键机制。在"操作系统实验2 分页...
操作系统内存分页机制是现代计算机系统中用于管理内存的关键技术之一。它将物理内存分割成固定大小的块,称为页,然后将这些页映射到进程的虚拟地址空间中的页框,实现虚拟地址到物理地址的转换。在这个过程中,VC++...
操作系统课程设计中的动态内存分配算法是一项关键的技能,它涉及到计算机系统如何有效地管理内存资源,以满足程序运行时的需求。动态内存分配允许程序在运行时请求和释放内存,而不是在编译时固定内存大小。这样的...
4. **页面置换算法**:当系统内存不足时,内核会使用页面置换算法决定哪些页面应该被换出到磁盘,以便释放更多的物理内存供其他页面使用。 #### 六、总结 通过深入探讨Linux内存分页机制原理,我们可以清楚地了解...
### 请求分页系统页面淘汰算法 #### 一、实验背景及目标 在现代计算机系统中,内存管理和虚拟存储技术是操作系统的重要组成部分。其中,请求分页系统是一种常用的虚拟存储技术,它允许进程只将部分页面加载到物理...
操作系统中的分页式存储管理是内存管理的一种策略,它的核心目标是解决主存与辅存之间的数据交换问题,以提高内存利用率和系统效率。在分页系统中,内存被划分为固定大小的页框,而程序则被分割为同样大小的页。这种...
页面置换算法是操作系统中请求分页存储管理的关键组成部分,它负责决定当一个页面需要被访问,但该页面不在内存中时,应该将哪个页面替换出去。这一技术用于虚拟内存管理,可确保计算机系统在有限的物理内存下能运行...
在IT行业中,数据库查询优化与分页算法是两个至关重要的主题,特别是在处理海量数据时。本文将深入探讨这两个方面,帮助你理解如何有效地管理和检索大规模数据库中的信息。 首先,我们来谈谈**数据库查询优化**。当...
操作系统中的基本分页存储系统是内存管理的一种方法,它将主存划分为固定大小的块,称为页框,同时将进程的虚拟地址空间也分割成相同大小的块,称为页。这种技术的主要目的是解决内存碎片问题,提高内存利用率,并...
在操作系统中,分页式存储管理是一种常用的内存管理方式,它将进程的虚拟内存分割成固定大小的块,称为页,而物理内存也被划分为相同大小的块,称为页框。这种管理方式使得进程和物理内存之间的地址转换变得简单且...
本实验“C分页管理内存”旨在通过编程模拟来深入理解分页内存管理系统的工作原理,特别是聚焦于FIFO(先进先出)和LRU(最近最少使用)两种替换算法,以及如何计算它们的缺页率和命中率。 首先,我们要了解分页系统...
高老师的算法分页是这个话题的一个具体实例,它涉及到如何有效地处理和展示大量的数据,以便用户可以方便地浏览和访问。在这个场景下,“假分页”和“数字分页”是两种不同的分页实现方式。 首先,我们来详细了解...
2. **内存管理算法**:分页和分段是两种主要的内存管理方式。最佳适配、最坏适配和首次适配是用于内存分配的常见算法,它们在动态内存分配中起作用,帮助有效地使用内存空间。 3. **磁盘调度算法**:磁盘调度负责...
数据结构模块包括功能和数据结构两个部分,其中功能部分负责记录页面的使用频率,数据结构部分负责存储页面的使用频率信息。 在课程设计中,学生需要设计和实现一个LFU算法仿真请求分页系统,包括设计算法、实现...
总结,操作系统中的分页式存储管理和硬件地址转换是提高内存利用率和效率的重要手段,而面对缺页中断时,FIFO等页面调度算法则是保障系统性能的关键决策机制。理解这些概念并能够通过编程模拟其工作过程,对于深入...
当进程运行过程中需要访问的数据不在内存中时,会发生“缺页”中断,系统会通过特定的算法选择内存中的某一页淘汰,以便将所需页面调入内存。 #### 三、LRU置换算法详解 **LRU置换算法原理:** LRU(Least Recently...
根据给定文件的信息,本文将深入探讨两种不同的页面替换算法——先进先出(FIFO)算法与最近最少使用(LRU)算法,并通过具体的代码示例来解释如何在分页管理系统中实现这两种算法以处理缺页调度问题。 ### 一、...
实验分为两个部分,分别实现FIFO和LRU算法。程序接收用户输入的页面访问序列,然后模拟缺页过程,并记录结果。 1. FIFO算法: - 输入页面访问序列,检查页表,如果访问的页面不在内存中(缺页),则设置缺页标志为...
操作系统分页地址变换是操作系统中的一种重要机制,它允许操作系统将逻辑地址转换为物理地址,以便在计算机中存储和访问数据。通过分页地址变换,操作系统可以将大型程序分解成小的、独立的页,以便更好地管理内存...
在实现FIFO和LRU算法时,需要使用适当的数据结构来存储页面信息。例如,可以使用数组来存储页面信息,并使用标志来标记页面是否在内存中。在算法中,需要使用循环来遍历页面信息,检查页面是否在内存中,并进行相应...