精华内容
下载资源
问答
  • CPU中的一级缓存,二级缓存,三级缓存

    千次阅读 多人点赞 2018-06-14 13:49:56
    CPU中的一级缓存,二级缓存,三级缓存 缓存又叫高速缓冲存储器,其作用在于缓解主存速度慢、跟不上CPU读写速度要求的矛盾。 缓存的实现原理,是把CPU最近最可能用到的少量信息(数据或指令)从主存复制到CACHE中,当...

           缓存又叫高速缓冲存储器,其作用在于缓解主存速度慢、跟不上CPU读写速度要求的矛盾。
           缓存的实现原理,是把CPU最近最可能用到的少量信息(数据或指令)从主存复制到CACHE中,当CPU下次再用这些信息时,它就不必访问慢速的主存,而直接从快速的CACHE中得到,从而提高了得到这些信息的速度,使CPU有更高的运行效率。
           缓存的工作原理:是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先缓存后内存。

           缓存的大小:一般说来,更大一点的cache容量,对提高命中率是有好处的,由于cache是用价格很高的静态存储器SRAM器件实现的,而cache容量达到一定大小后,再增加其容量,对命中率的提高并不明显,从合理的性能/价格比考虑,cache的容量设置应在一个合理的容量范围之内。

           缓存要分一级二级 三级,是为了建立一个层次存储结构,以达到最高性价比。而且多级组织还可以提高cache的命中率,提高执行效能。

           一般来说,一级缓存可以分为一级数据缓存(Data Cache,D-Cache)和一级指令缓存(InstructionCache,I-Cache)。二者分别用来存放数据以及对执行这些数据的指令进行即时解码,而且两者可以同时被CPU访问,减少了争用Cache所造成的冲突,提高了处理器效能。
           目前大多数CPU的一级数据缓存和一级指令缓存具有相同的容量,例如AMD的Athlon。XP就具有64KB的一级数据缓存和64KB的一级指令缓存,其一级缓存就以64KB+64KB来表示,其余的CPU的一级缓存表示方法以此类推。并不是缓存越大越好,譬如AMD和INTER就有不同的理论,AMD认为一级缓存越大越好,所以一级比较大,而INTER认为过大会有更长的指令执行时间,所以一级很小,二级缓存那两个公司的理论又反过来了,AMD的小,INTER的大,一般主流的INTERCPU的2级缓存都在2M左右,我们通常用(L1,L2)来称呼。

           CPU缓存(CacheMemory)是位于CPU与内存之间的临时存储器,它的容量比内存小的多,但是交换速度却比内存要快得多。缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与缓存间的带宽引起的。
           根据数据读取顺序和与CPU结合的紧密程度,CPU缓存可以分为一级缓存,二级缓存,部分高端CPU还具有三级缓存,每一级缓存中所储存的全部数据都是下一级缓存的一部分,这三种缓存的技术难度和制造成本是相对递减的,所以其容量也是相对递增的。当CPU要读取一个数据时,首先从一级缓存中查找,如果没有找到再从二级缓存中查找,如果还是没有就从三级缓存或内存中查找。
           一般来说,每级缓存的命中率大概都在80%左右,也就是说全部数据量的80%都可以在一级缓存中找到,只剩下20%的总数据量才需要从二级缓存、三级缓存或内存中读取,由此可见一级缓存是整个CPU缓存架构中最为重要的部分。

           目前缓存基本上都是采用SRAM存储器,SRAM是英文StaticRAM的缩写,它是一种具有静志存取功能的存储器,不需要刷新电路即能保存它内部存储的数据。不像DRAM内存那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,这也是目前不能将缓存容量做得太大的重要原因。
           它的特点归纳如下:优点是节能、速度快、不必配合内存刷新电路、可提高整体的工作效率,缺点是集成度低、相同的容量体积较大、而且价格较高,只能少量用于关键性系统以提高效率。

    展开全文
  • 顶级域名,我们知道域名由两个或两个以上的词构成,中间由点号分隔开,最右边的那个词就叫做顶级域名。...一级域名又称顶级域名,即: baidu.com 二级域名,即: www.baidu.com 另外 .baidu....

    顶级域名,我们知道域名由两个或两个以上的词构成,中间由点号分隔开,最右边的那个词就叫做顶级域名。我们接触的顶级域名又分为两类:一是国家和地区顶级域名。例如中国是cn,美国是us等;二是国际顶级域名,例如表示工商企业的.com,表示非盈利组织的.org,表示网络商的.net等。
    一级域名又称顶级域名,即:
    baidu.com
    二级域名,即:
    www.baidu.com
    另外 .baidu.com也属于二级域名,上可以填写任意内容,都属于二级域名。
    三级域名,也就是二级域名的子目录,即:
    ..baidu.com ,_上可以填写任意内容,都属于三级域名。
    一个完整的域名一般由二个或二个以上部分组成,各部分之间用英文的句号”.”来分隔,最后一个”.”的右边部分称为顶级域名(TLD,也称为一级域名),一级域名”.”的左边部分称为二级域名(SLD),二级域名的左边部分称为三级域名,以此类推,每一级的域名控制它下一级域名的分配。三级域名是形如”().().baidu.com”的域名,可以当做是二级域名的子域名,特征为域名包含两个”.”,一般来说,三级域名都是免费的。

    展开全文
  • 根域的下层就是第层次的顶级域(TLD)了,那么它就是各省省长了。顶级域一般两种划分方法:按国家划分和按组织性质划分。 ◇ 按国家划分:.cn(中国)、.tw(台湾)、.hk(香港)。基本都是两个字母的。 ◇ 按组...

    域是分层管理的,就像中国的行政级别。

    最高层的域是根域(root)".",就是一个点,它就像国家主席一样。全球只有13个根域服务器,基本上都在美国,中国一台根域服务器都没有。

    根域的下一层就是第二层次的顶级域(TLD)了,那么它就是各省省长了。顶级域一般两种划分方法:按国家划分和按组织性质划分。

    ◇ 按国家划分:.cn(中国)、.tw(台湾)、.hk(香港)。基本都是两个字母的。

    ◇ 按组织性质划分:.org、.net、.com、.edu、.gov、.cc等。

    ◇ 反向域:arpa。这是反向解析的特殊顶级域。

    顶级域下来就是普通的域,公司或个人在互联网上注册的域名一般都是这些普通的域,如baidu.com。

    顶级域名就是一级域名,比如 .com .org .cn
    N级域名就是在N-1级域名前追加一级。
    比如二级域名是在一级域名前加一级,二级域名示例:baidu.com, zhihu.com, qq.com

    注:在有些资料中,baidu.com, zhihu.com, qq.com的二级域名分别为 baidu, zhihu, qq

    有些人会说 baidu.com, zhihu.com, qq.com是一级域名,虽然是错误的-但可以理解(说的人多了也就是对的了……),这是站在使用者/购买者角度看的,对于购买域名者来说 xxx.com, xxx.com.cn就相当一级域名,但是从真正的域名分级看,它们俩分别是二级域名、三级域名。


    参考链接:https://www.zhihu.com/question/29998374/answer/121041060

    展开全文
  • Mybatis的一级缓存和二级缓存详解

    千次阅读 多人点赞 2018-11-19 19:11:59
    注:本笔记是根据尚硅谷的MyBatis视频记录的 对于任何一个持久层框架,都有缓存机制;... 两个关于mybatis缓存额外的链接: ...关于Mybatis的一级缓存和二级缓存执行顺序具体可参考:Mybatis的一级缓存和二级缓存执行...

    注:本笔记是根据尚硅谷的MyBatis视频记录的

    对于任何一个持久层框架,都有缓存机制;缓存在电脑中有一块真实的存储空间(https://baike.baidu.com/item/%E7%BC%93%E5%AD%98/100710?fr=aladdin);

    两个关于mybatis缓存额外的链接:

    关于Mybatis的一级缓存和二级缓存执行顺序具体可参考:Mybatis的一级缓存和二级缓存执行顺序

     Mybatis整合第三方缓存步骤具体可参考:Mybatis整合第三方缓存ehcache

    缓存原理图:

    一、一级缓存(本地缓存)

    sqlSession级别的缓存。(相当于一个方法内的缓存)

    每一次会话都对应自己的一级缓存,作用范围比较小,一旦会话关闭就查询不到了;

    一级缓存默认是一直开启的,是SqlSession级别的一个Map;
    与数据库同一次会话期间查询到的数据会放在本地缓存中。
    以后如果需要获取相同的数据,直接从缓存中拿,没必要再去查询数据库;

    测试:

    取缓存中的数据:

    说明:当再次查询发现已经有数据了,就直接在缓存中返回之前查的数据,而不再访问数据库;

    二、一级缓存失效的四种情况:

    没有使用到当前一级缓存的情况,效果就是:还需要再向数据库发出查询

    1、sqlsession不同(会话不同)

    结果:

    说明:不同的会话的缓存不共享数据

    2、sqlsession相同,查询缓存中没有的数据

    @Test
    public void testFirstLevelCache() throws IOException{
    	SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
    	SqlSession openSession = sqlSessionFactory.openSession();
    	try{
    		EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
    		Employee emp01 = mapper.getEmpById(1);
    		System.out.println(emp01);
    		
    		//sqlSession相同,查询条件不同
    		Employee emp03 = mapper.getEmpById(3);
    		System.out.println(emp03);
    		System.out.println(emp01==emp03);
    
    	}finally{
    		openSession.close();
    	}
    }

    结果:

    说明:当缓存中没有数据时,会重新查数据库

    3、sqlsession相同,但两次查询之间执行了增删改操作

    @Test
    public void testFirstLevelCache() throws IOException{
    	SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
    	SqlSession openSession = sqlSessionFactory.openSession();
    	try{
    		EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
    		Employee emp01 = mapper.getEmpById(1);
    		System.out.println(emp01);
    		
    		//sqlSession相同,两次查询之间执行了增删改操作(这次增删改可能对当前数据有影响)
    		mapper.addEmp(new Employee(null, "testCache", "cache", "1"));
    		System.out.println("数据添加成功");
    		
    		Employee emp02 = mapper.getEmpById(1);
    		System.out.println(emp02);
    		System.out.println(emp01==emp02);
    		
    	}finally{
    		openSession.close();
    	}
    }

    结果:

    说明:为了防止增删改对当前数据的影响,即使查的同一个对象,也会重新查数据库

    原因:每个增删改标签都有默认清空缓存配置:flushCache="true",不过这是默认的是一级和二级缓存都清空

    4、sqlsession相同,但手动清楚了一级缓存(缓存清空)

    清空缓存:openSession.clearCache();

    @Test
    public void testFirstLevelCache() throws IOException{
    	SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
    	SqlSession openSession = sqlSessionFactory.openSession();
    	try{
    		EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
    		Employee emp01 = mapper.getEmpById(1);
    		System.out.println(emp01);
    		
    		//sqlSession相同,手动清除了一级缓存(缓存清空)
    		openSession.clearCache();
    		
    		Employee emp02 = mapper.getEmpById(1);
    		System.out.println(emp02);
    		System.out.println(emp01==emp02);
    		
    	}finally{
    		openSession.close();
    	}
    }

    结果:

    说明:手动清空缓存后,需要重新查数据库

    三、二级缓存(全局缓存)

    基于namespace名称空间级别的缓存:一个namespace对应一个二级缓存

    即一个mapper.xml对应一个缓存:

    1、工作机制:

    *         1、一个会话,查询一条数据,这个数据就会被放在当前会话的一级缓存中;
    *         2、如果会话关闭;一级缓存中的数据会被保存到二级缓存中;新的会话查询信息,就可以参照二级缓存中的内容;
    *         3、sqlSession===EmployeeMapper==>Employee
    *                         DepartmentMapper===>Department
    *             不同namespace查出的数据会放在自己对应的缓存中(map)
    *             效果:数据会从二级缓存中获取
    *                 查出的数据都会被默认先放在一级缓存中。
    *                 只有会话提交或者关闭以后,一级缓存中的数据才会转移到二级缓存中

    2、 使用:
    *             1)、开启全局二级缓存配置:<setting name="cacheEnabled" value="true"/>
    *             2)、去mapper.xml中配置使用二级缓存:
    *                 <cache></cache>
    *             3)、我们的POJO需要实现序列化接口

    1)在mybatis全局配置文件中开启全局二级缓存配置:<setting name="cacheEnabled" value="true"/>

    2)在mapper.xml中配置使用二级缓存

    直接加上: <cache><cache/>

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
     PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.atguigu.mybatis.dao.EmployeeMapper">
    	
    	 <cache><cache/>
    
     	<!--public Map<Integer, Employee> getEmpByLastNameLikeReturnMap(String lastName);  -->
     	<select id="getEmpByLastNameLikeReturnMap" resultType="com.atguigu.mybatis.bean.Employee">
     		select * from tbl_employee where last_name like #{lastName}
     	</select>
    </mapper>

    或者 <cache>中配置一些参数:

    eviction:缓存的回收策略:
        • LRU – 最近最少使用的:移除最长时间不被使用的对象。
        • FIFO – 先进先出:按对象进入缓存的顺序来移除它们。
        • SOFT – 软引用:移除基于垃圾回收器状态和软引用规则的对象。
        • WEAK – 弱引用:更积极地移除基于垃圾收集器状态和弱引用规则的对象。
        • 默认的是 LRU。
    flushInterval:缓存刷新间隔
        缓存多长时间清空一次,默认不清空,设置一个毫秒值
    readOnly:是否只读:
        true:只读;mybatis认为所有从缓存中获取数据的操作都是只读操作,不会修改数据。
                 mybatis为了加快获取速度,直接就会将数据在缓存中的引用交给用户。不安全,速度快
        false:非只读:mybatis觉得获取的数据可能会被修改。
                mybatis会利用序列化&反序列的技术克隆一份新的数据给你。安全,速度慢
    size:缓存存放多少元素;
    type="":指定自定义缓存的全类名;
            实现Cache接口即可;

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
     PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.atguigu.mybatis.dao.EmployeeMapper">
    
    	 <cache eviction="FIFO" flushInterval="60000" readOnly="false" size="1024"></cache> 
     
     	<!--public Map<Integer, Employee> getEmpByLastNameLikeReturnMap(String lastName);  -->
     	<select id="getEmpByLastNameLikeReturnMap" resultType="com.atguigu.mybatis.bean.Employee">
     		select * from tbl_employee where last_name like #{lastName}
     	</select>
    </mapper>

    3)POJO需要实现序列化接口

    测试:

    注意:需要openSession.close();后,才能从二级缓存中查数据;

    @Test
    public void testSecondLevelCache() throws IOException{
    	SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
    	SqlSession openSession = sqlSessionFactory.openSession();
    	SqlSession openSession2 = sqlSessionFactory.openSession();
    	try{
    
    		EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
    		EmployeeMapper mapper2 = openSession2.getMapper(EmployeeMapper.class);
    		
    		Employee emp01 = mapper.getEmpById(1);
    		System.out.println(emp01);
    		openSession.close();
    		
    		//第二次查询是从二级缓存中拿到的数据,并没有发送新的sql
    		Employee emp02 = mapper2.getEmpById(1);
    		System.out.println(emp02);
    		openSession2.close();
    		
    	}finally{
    		
    	}
    }

    结果:

    说明:第二次查询是从二级缓存中拿到的数据,并没有发送新的sql;

    注意:

    如果openSession.close();在第二次查询之后才关闭,则第二次查询会从一级缓存中查,如果不是一个session,则查询不到数据:

    @Test
    public void testSecondLevelCache() throws IOException{
    	SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
    	SqlSession openSession = sqlSessionFactory.openSession();
    	SqlSession openSession2 = sqlSessionFactory.openSession();
    	try{
    
    		EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
    		EmployeeMapper mapper2 = openSession2.getMapper(EmployeeMapper.class);
    		
    		Employee emp01 = mapper.getEmpById(1);
    		System.out.println(emp01);
    		
    		Employee emp02 = mapper2.getEmpById(1);
    		System.out.println(emp02);
    		openSession.close();
    		openSession2.close();
    		
    	}finally{
    		
    	}
    }

    结果:

    说明:第二次又重新发送了sql,因为从二级缓存中取数据时,会话没关闭所以二级缓存中没数据,所以又去一级缓存中查询,也没有数据则发送了sql查数据库;

    所以,只有会话关闭或提交后,一级缓存中的数据才会转移到二级缓存中,然后因为是同一个namespace所以可以获取到数据;

    关于Mybatis的一级缓存和二级缓存执行顺序具体可参考:Mybatis的一级缓存和二级缓存执行顺序

    四、和缓存有关的设置/属性

    1)、mybatis全局配置文件中配置全局缓存开启和清空

    1.1)控制二级缓存的开启和关闭

             <setting name="cacheEnabled" value="true"/>

             cacheEnabled=true:开启缓存;false:关闭缓存(二级缓存关闭)(一级缓存一直可用的)

    1.2)控制一级缓存的开启和关闭

             <setting name="localCacheScope" value="SESSION"/>

             localCacheScope:本地缓存作用域(一级缓存SESSION);

             当前会话的所有数据保存在会话缓存中;STATEMENT:可以禁用一级缓存;

    注意:一级缓存关闭后,二级缓存自然也无法使用;  

    2)、方法中sqlSession清除缓存测试

    sqlSession.clearCache();只是清除当前session的一级缓存;

    如果openSession清空了缓存,即执行了openSession.clearCache()方法:

    结果:

     说明:openSession清空缓存不影响二级缓存;只清空了一级缓存;因为在openSession.close()时,就将一级缓存保存至了二级缓存; 

    3)、mapper.xml中也可以配置一级和二级缓存开启和使用

    3.1)每个select标签都默认配置了useCache="true":
             如果useCache= false:则表示不使用缓存(一级缓存依然使用,二级缓存不使用)
    3.2)每个增删改标签默认配置了flushCache="true":(一级二级都会清除)


    增删改执行完成后就会清除缓存;

    测试:默认flushCache="true":一级缓存和二级缓存都会被清空;

    执行增加操作:

    结果:

    注意:查询标签<select>默认flushCache="false":如果flushCache=true;每次查询之后都会清空缓存;一级和二级缓存都无法使用;

    五、整合第三方缓存

    mybatis通过map实现的缓存,很不专业;此时可以通过整合第三方缓存来达到缓存的目的;

    做法:实现Cache.java接口中的方法即可:

    如实现putObject()方法,往缓存中写数据;实现getObject()方法,从缓存中获取数据;至于什么时候调用,由mybatis决定;

     具体可参考:Mybatis整合第三方缓存ehcache

    展开全文
  • 数据库系统的三级模式结构 模式是数据库中全体数据的逻辑结构和特征的描述,它只涉及型的描述,而不涉及具体的值。...数据库系统内部的体系结构从逻辑上分为内模式、模式和外模式三级模式结构和二级映像功能。 ...
  • 题记 常常听到别人提起:“一级缓存、二级缓存、三级缓存”。那么它们是什么呢?有什么作用呢?
  • 比如二级域名是在一级域名前加一级二级域名示例:http://baidu.com http://zhihu.com http://qq.com 注: 有些人会说 http://baidu.com http://zhihu.com http://qq.com 是一级域名,虽然是错误的-但可以理解(说的...
  • 数据库三级模式结构

    万次阅读 多人点赞 2018-03-08 17:24:12
    三级模式结构数据库系统的三级模式结构是指模式、外模式和内模式。1、模式模式也称为逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。个数据库只有个模式,模式...
  • 二级网络架构由核心层和接入层构成 三级网络架构多了个汇聚层,那么如何从拓扑图上来判断此网络是否有汇聚层呢?如何在拓扑图上区分核心层和汇聚层呢?
  • AXURE8.0制作二级菜单和三级菜单

    千次阅读 2019-08-11 15:27:31
    Axure 二级菜单 三级菜单
  • 什么是顶级域名,二级域名和三级域名

    千次阅读 多人点赞 2019-07-09 11:32:42
    最近用到了顶级域名,二级域名和三级域名的知识,但是在自己的知识体系中出现了困扰,对于baidu.com属于几级域名,出现了不确定的答案。网上搜索的很多帖子,大部分帖子给的答案是这样的:baidu.com是顶级, pan....
  • MyBatis一级缓存和二级缓存

    万次阅读 多人点赞 2018-09-05 22:44:30
    MyBatis自带的缓存有一级缓存和二级缓存 一级缓存 Mybatis的一级缓存是指Session缓存。一级缓存的作用域默认是一个SqlSession。Mybatis默认开启一级缓存。 也就是在同一个SqlSession中,执行相同的查询SQL,第一次...
  • 计算机二级考试之Office2010

    万次阅读 多人点赞 2019-09-10 08:28:00
    跟着您的教程,依次点击个按钮,在最后个按钮点击后运行发生错误,截图如下 ,再检查遍电脑,诶!电脑管家忘记退出了。。。。所以,重启电脑后千万记得退出电脑管家!退出后,再重新依次点击个按钮,就成功...
  • 域名: 域名相当于一个人名,通过域名可以访问到网站,也能让人们更清楚的记住网站,域名是网站的大组成元素之一,其余为程序和...一级域名 又称顶级域名,即:baidu.com 二级域名 例如:www.baidu.com,.baid
  • 域名级数是从右至左,按照“.”分开的部分数确定的,有几个“."就是几级. 顶级域名就是一级域名
  • :mybatis查询缓存基本介绍 缓存:将相同查询条件的sql语句执行遍后所得到的结果存在内存或者某种缓存介质当中,当下次遇到一模一样的查询sql时候不在执行sql与数据库交互,而是直接从缓存中获取结果,减少...
  • 一、背景 在运用X锁和S锁对数据对象加锁时,还需要约定一些规则 ,例如何时申请X锁或S锁、持锁时间、...种封锁协议 1.一级封锁协议 一级封锁协议是:事务T在修改数据R之前必须先对其加X锁,直到事束才释放。...
  • 很多人分不清楚网站的一级域名和二级域名,听到说... 域名最多可以分为三级一级域名也称为顶级域名。一串字符串中间一个点隔开,例如:baidu.com、sohu.com、qq.com  二级域名:对一级域名进行划分,一串字符串...
  • <template> <div> <el-cascader v-model="value" :options="options" :props="{ multiple: true, checkStrictly: true }" clearable collapse-tags @change="changeLabel" .../div
  • 1、先判断二级缓存是否开启,如果没开启,再判断一级缓存是否开启,如果没开启,直接查数据库 2、如果一级缓存关闭,即使二级缓存开启也没有数据,因为二级缓存的数据从一级缓存获取 3、一般不会关闭一级缓存 4、...
  • 一级指针和二级指针的理解和总结

    千次阅读 多人点赞 2019-02-10 20:17:10
    一级指针 对于一级指针来讲, 我们再熟悉不过的应用就是修改实参的值 注意下方应用: #include &lt;stdio.h&gt; void changeValue(int* value); int main() { ...
  • 一级二级三级封锁协议 https://blog.csdn.net/justdb/article/details/7596132 转载未经授权,侵删
  • 百度的网址baidu.com,这个就是一级域名。...百度知道的网址zhidao.baidu.com这个就是二级域名,就是百度的一级域名下面的二级域名。 只要看域名的小数点有几个就是几级域名,有几个点就是几级域名。...
  • word中二级标题随一级标题自动编号

    千次阅读 2019-10-10 22:53:02
    如果我的一级标题为:“第一章,第二章,第章…" 我的二级标题设为”1.1,1.2,1.3; 2.1,2.2,2.3; 3.1,3.2,3.3; 怎么才能使我的二级标题的小数点前面随着以及标题1、2、3变动? 例如 我把第二章删除了,这是“第...
  • 光分配网(ODN)的分光方式主要有两种:一级分光和二级分光,如图1所示。受PON设备光功率预算及带宽的限制,当前,ODN的总分路比一般为1:64。 图1 ODN的一级分光和二级分光 采用一级分光时,分路器一般设置在配线...
  • 什么是一级域名和二级域名

    千次阅读 2021-03-09 14:50:30
    顶级域名:就是我们常说的一级域名。 一个完整的域名由两个或者两个以上部分组成,各部分之间用英文的句号 "."来隔开 ...Tips:域名中包含两个"."的就是二级域名,域名中只有一个"."的就是一级域名。 ...
  • 上一篇:21-Mybatis二级缓存... 关闭二级缓存,一级缓存可正常使用 2. <select useCache="false"> 关闭二级缓存,一级缓存可正常使用 3. <select flushCache="true"> :一二级均被清空
  • Mybatis中有一级缓存和二级缓存,默认情况下一级缓存是开启的,而且是不能关闭的。一级缓存是指SqlSession级别的缓存,当在同一个SqlSession中进行相同的SQL语句查询时,第二次以后的查询不会从数据库查询,而是直接...
  • Hibernate一级缓存和二级缓存详解

    万次阅读 多人点赞 2014-10-14 09:02:38
    一、一级缓存二级缓存的概念解释 (1)一级缓存就是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓存中,如果短时间内这个 session(一定要同一个session)又做了同一个操作,...
  • 今天给大家带来React项目结合Antd的时候如何渲染二级菜单 就算你用其他的UI框架也是换汤不换药。 1.首先配置Antd,关于配置Antd请前往React配置Antd处观看。 2.然后在routes文件定义你的sidebar数据 其中有个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,715,310
精华内容 686,124
关键字:

一级市二级市三级市