内存映射

C++ unordered_map的使用

喜欢而已 提交于 2019-12-01 16:59:30
参考:http://www.cplusplus.com/reference/unordered_map/unordered_map/?kw=unordered_map std::unordered_map(C++11) template < class Key, // unordered_map::key_type class T, // unordered_map::mapped_type class Hash = hash<Key>, // unordered_map::hasher class Pred = equal_to<Key>, // unordered_map::key_equal class Alloc = allocator< pair<const Key,T> > // unordered_map::allocator_type > class unordered_map; 无序的映射 无序映射是存储键值和映射值组合形成的元素的关联容器,它允许根据键快速检索单个元素。 在unordered_map中,键值通常用于惟一地标识元素,而映射的值是一个对象,其内容与此键相关联。 键和映射值的类型可能不同 。 在内部,unordered_map中的元素没有对键值或映射值以任何特定的顺序排序,但组织成buckets的形式都取决于他们的散列值

linux工具之pmap

牧云@^-^@ 提交于 2019-12-01 16:13:35
1、pmap简介 pmap命令用来报告一个进程或多个进程的内存映射。可以使用这个工具确定系统是如何为服务器上的进程分配内存的。 例如查看ssh进程的内存映射: 使用pmap -d查看详细信息: mapped,进程中用于映射到文件的内存总量 writable/private,进程私有地址空间的数量 shared,进程共享给其他进程的地址空间数量 pmap -x 5995 显示更详细的信息: Address :映射的起始地址 Kbytes,映射的大小,以KB为单位 RSS,驻留集大小,以KB为单位 Dirty,脏数据分页(包括共享 和私有),以KB为单位 Mode,映射的权限。读(read)、写(write)、执行(execute)、共享(shared)和私有(private -copy on write)\ Mapping,支持映射的文件,‘【anon】’为分配的内存;‘【stack】’为程序栈 Offset,文件的偏移量 Device,设备名称(主设备号:次设备号) 来源: https://www.cnblogs.com/liuxing0007/p/11692276.html

Mybatis最权威的知识点

ぐ巨炮叔叔 提交于 2019-12-01 13:28:54
1、什么是Mybatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。 (2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 (3)通过xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过java对象和 statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。(从执行sql到返回result的过程)。 2、Mybaits的优点: (1)基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理;提供XML标签,支持编写动态SQL语句,并可重用。 (2)与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余的代码,不需要手动开关连接; (3)很好的与各种数据库兼容(因为MyBatis使用JDBC来连接数据库,所以只要JDBC支持的数据库MyBatis都支持)。 (4

数据库分库分表思路

时光怂恿深爱的人放手 提交于 2019-12-01 13:17:39
转自: https://www.cnblogs.com/butterfly100/p/9034281.html 一. 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。 数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合。数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,通过扩充主机的数量缓解单一数据库的性能问题,从而达到提升数据库操作性能的目的。 数据切分根据其切分类型,可以分为两种方式:垂直(纵向)切分和水平(横向)切分 1、垂直(纵向)切分 垂直切分常见有垂直分库和垂直分表两种。 垂直分库就是根据业务耦合性,将关联度低的不同表存储在不同的数据库。做法与大系统拆分为多个小系统类似,按业务分类进行独立划分。与"微服务治理"的做法相似,每个微服务使用单独的一个数据库。如图: 垂直分表是基于数据库中的"列"进行,某个表字段较多,可以新建一张扩展表,将不经常用或字段长度较大的字段拆分出去到扩展表中。在字段很多的情况下(例如一个大表有100多个字段),通过"大表拆小表",更便于开发与维护,也能避免跨页问题

SpringMVC和hibernate工作流程描述

半世苍凉 提交于 2019-12-01 12:27:18
SpringMVC 工作流程描述 (1)向服务器发送HTTP请求,请求被前端控制器 DispatcherServlet 捕获。 (2)DispatcherServlet 根据 <servlet-name>-servlet.xml 中的配置对请求的URL进行解析,得到请求资源标识符(URI)。 然后根据该URI,调用 HandlerMapping 获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以 HandlerExecutionChain 对象的形式返回。 (3)DispatcherServlet 根据获得的Handler,选择一个合适的 HandlerAdapter 。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(...)方法)。 (4)提取Request中的模型数据,填充Handler入参,开始执行Handler( Controller )。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作: HttpMessageConveter : 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息。 数据转换:对请求消息进行数据转换。如String转换成Integer、Double等。 数据根式化

spring3 mvc的深入研究

前提是你 提交于 2019-12-01 09:08:54
转载博文 目录 一、前言: 二、核心类与接口: 三、核心流程图 四、DispatcherServlet说明 五、双亲上下文的说明 六、springMVC-mvc.xml 配置文件片段讲解 七、如何访问到静态的文件,如jpg,js,css? 八、请求如何映射到具体的Action中的方法? 九、Spring中的拦截器: 十、如何使用拦截器? 十一、如何实现全局的异常处理? 十二、如何把全局异常记录到日志中? 十三、如何给spring3 MVC中的Action做JUnit单元测试? 十四、转发与重定向 十五、处理ajax请求 十六、关于写几个配置文件的说明 十七、如何取得Spring管理的bean 十八、多视图控制器 十九、 <mvc:annotation-driven /> 到底做了什么工作 二十、 本文中springMVC.xml配置文件是核心,这里给一个下载地址 一、前言: 大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。 官方的下载网址是: http://www.springsource.org/download (本文使用是的Spring 3.0.5版本) Struts2也是比较优秀的MVC构架

Mybatis----基础

柔情痞子 提交于 2019-12-01 09:03:57
概述:   Hibernate 标准的ORM框架。Hibernate 框架是提供了全面的数据库封装机制的 “全自动” ORM,即实现了 POJO 和数据库表之间的映射,以及 SQL 的自动生成和执行。 MyBatis   1、持久层框架   2、相对于Hibernate,MyBatis 只能算作是 “半自动” ORM。其着力点,是在 POJO 类与 SQL 语句之间的映射关系。也就是说,MyBatis 并不会为程序员自动生成 SQL 语句。具体的 SQL 需要程序员自己编写,然后通过 SQL 语句映射文件,将 SQL 所需的参数,以及返回的结果字段映射到指定 POJO。因此,MyBatis 成为了“全自动”ORM 的一种有益补充。   3、MyBatis 可以prepareStatement (参考jdbc)中的输入参数自动进行输入映射,并将查询结果集自动映射成java对象。 MyBatis框架   配置SqlMapConfig.xml(是Mybatis的全局配置文件。配置了数据源,事务等运行环境)   配置Mapper.xml(映射文件) 如何操作数据库? 首先通过配置文件创建 SqlsessionFactory(会话工厂)---->创建SqlSession(会话工厂创建SqlSession(接口):作用:发出sql语句)----->Executor

网站搭建:从0到1搭建网站

…衆ロ難τιáo~ 提交于 2019-12-01 08:53:17
1 网站基本概念 网站说白了就是把一些东西放到哪里供其他人访问,并提供了一些可以交互的接口的地方。如果要实现这样一个地方首先,需要一个能放东西的地方这就是服务器。其次,我们要找到这个地方,然而有很多这样的地方,所以我们就需要给很多这样的地方标号,然后按照标号来找到这些地方,并访问。所以就有了IP地址,每个服务器都有一个唯一的IP地址,这样我们可以通过IP地址找到服务器。最后,IP地址都是一堆数字太难记了,有那么多服务器(相应的就有那么多IP地址),根据一串数字来找到服务器对于我们来说太麻烦了,根本记不住。如果有个名字就好了,比如百度的服务器可以用www.baidu.com来记那就好多了。所以就有了域名。为了我们能够用域名来找到服务器,我们需要把各个域名与服务器的IP地址映射起来来。每次当我们用域名来访问服务器的时候,就需要把域名转换为IP地址(这个过程就是DNS(Domain Name System)服务),然后通过IP地址找到服务器。 实际上这些概念实现上很复杂,分别在互联网七层协议中的不同层实现。它们之间层与层之间相互依赖。实际情况也比较复杂,比如从域名到IP的映射之间可以多个域名映射到同一个IP,这就是虚拟主机的概念。不过这些都是后话了。接下来对各个概念尽心详细的解释。 1.1 服务器概念 服务器(server),是提供计算机服务的设备。由于服务器需要响应服务请求,并进行处理

阿里最新38道Java面试题解析(MyBatis+消息队列+Redis)

∥☆過路亽.° 提交于 2019-12-01 08:48:55
一、谈谈你对 MyBatis 的理解? 1. Mybatis是一个半ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 Statement 等繁杂的过程。程序员直接编写原生态 SQL,可以严格控制 SQL 执行性能,灵活度高。 2. MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。3. 通过 XML 文件或注解的方式将要执行的各种 Statement 配置起来,并通过 Java 对象和 Statement 中 SQL 的动态参数进行映射生成最终执行的 SQL 语句,最后由 MyBatis 框架执行 SQL并将结果映射为 Java 对象并返回。(从执行 SQL到返回 Result 的过程)。 二、MyBaits 的优缺点有哪些? § 优点: 1. 基于 SQL 语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL 写在 XML 里,解除 SQL 与程序代码的耦合,便于统一管理;提供XML标签,支持编写动态 SQL 语句,并可重用; 2. 与 JDBC 相比,减少了代码量,消除了 JDBC 大量冗余的代码,不需要手动开关连接; 3. 很好的与各种数据库兼容(因为

【简明翻译】Hibernate 5.4 Getting Started Guide 官方入门文档

吃可爱长大的小学妹 提交于 2019-12-01 07:43:47
前言 最近的精力主要集中在Hibernate上,在意识到Hibernate 5 的中文资料并不多的时候,我不得不把目光转向Hibernate的官方doc,学习之余简要翻一下入门文档。 原文地址: https://docs.jboss.org/hibernate/orm/5.4/quickstart/html_single/ ,勘误请在评论区留言 原文序 使用面向对象软件和关系型数据库可能既麻烦且耗时。开发成本往往会因数据在软件和数据库中的数据范式(paradigm)表现不一而显著地增长,Hibernate就是一种Java语言环境下的一个对象/关系映射 解决方案(ORM框架),对象/关系映射(ORM)的概念,则代指一种将数据的对象模型形式,即在软件中的表现形式,和数据模型形式,即数据库中的表现形式,这两种形式的数据相映射的技术。可以参照 Wikipedia上的ORM词条 以获得更详细的了解。 虽然Hibernate并不要求用户需要有非常丰富的SQL编程经验,但是对于一些概念的基本理解着实可以让你更快更全面的理解Hibernate,特别是对数据建模原理的理解就显得尤为重要,这两篇文章可以帮助你快速开始理解这些原理 dataModeling101 、 DataModeling(wiki) 。 Hibernate负责Java class和数据库表的映射工作,同时也会处理两者间数据格式的映射