首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【高并发】面试官:说说缓存最关心的问题?有哪些类型?回收策略和算法?

缺点也很明显,缓存的数据量很大,GC(垃圾回收)暂停时间会变长,存储容量受限于堆空间大小。一般通过引用/弱引用来存储缓存对象。即堆内存不足可以强制回收这部分内存释放堆内存空间。...磁盘缓存 即缓存数据存储在磁盘上,在JVM重启时数据还存在,而堆/堆外缓存数据会丢失,需要重新加载可以使用Ehcache 3.x、MapDB实现。...基于时间 TTL(Time To Live):存活期,即缓存数据从创建开始直到到期的一个时间段(不管在这个时间段内有没有访问,缓存数据都将过期)。...TTI(Time To Idle):空闲期,即缓存数据多久没被访问后移除缓存的时间。 基于对象引用 引用:如果一个对象是引用,则JVM堆内存不足,垃圾回收器可以回收这些对象。...引用适合用来做缓存,从而JVM堆内存不足可以回收这些对象腾出一些空间供强引用对象使用,从而避免OOM。弱引用:垃圾回收器回收内存,如果发现弱引用,则将它立即回收。

36910
您找到你想要的搜索结果了吗?
是的
没有找到

【高并发】在高并发环境下该如何构建应用级缓存?

3.基于时间 TTL(Time To Live):存活期,即缓存数据从创建开始直到到期的一个时间段(不管在这个时间段内有没有访问,缓存数据都将过期)。...TTI(Time To Idle):空闲期,即缓存数据多久没被访问后移除缓存的时间。 4.基于对象引用 引用:如果一个对象是引用,则JVM堆内存不足,垃圾回收器可以回收这些对象。...引用适合用来做缓存,从而JVM堆内存不足可以回收这些对象腾出一些空间供强引用对象使用,从而避免OOM。 弱引用:垃圾回收器回收内存,如果发现弱引用,则将它立即回收。...缺点也很明显,缓存的数据量很大,GC(垃圾回收)暂停时间会变长,存储容量受限于堆空间大小。一般通过引用/弱引用来存储缓存对象。即堆内存不足可以强制回收这部分内存释放堆内存空间。...磁盘缓存: 即缓存数据存储在磁盘上,在JVM重启时数据还存在,而堆/堆外缓存数据会丢失,需要重新加载可以使用Ehcache 3.x、MapDB实现。

40310

最新整理的运维工程师面试真的太给力了,整整50道,速度收藏!

一个容器启动,一个新的可写层加载到镜像的顶部,这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。...添加文件:在容器中创建文件,新文件添加到容器层中。 读取文件:在容器中读取某个文件,Docker 会从上往下依次在各镜像层中查找此文件。一旦找到,立即将其复制到容器层,然后打开并读入内存。...有节点加入集群,也会为他们新增一个Pod。有节点从集群移除,这些Pod也会被回收。删除DaemonSet将会删除它创建的所有Pod。...数量达到指定的成功个数阈值,任务(即Job)结束。删除Job的操作会清除所创建的全部Pod。挂起Job的操作会删除Job的所有活跃Pod,直到Job再次恢复执行。...; 监控项(item):一个特定监控指标的相关的数据;这些数据来自于监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识; 触发器(trigger):一个表达式

5.6K23

【干货】你想了解的BGP的问题都在这里了

如果邻居有重新配置功能,您能发出clear ip bgp x.x.x.x奇 incommand。如果设置了优化的边缘路由 (OER),则可以自动清除 BGP 会话。...19、为什么两次看到同一个路由从BGP的同一对等体? 例如: ? 两个条目看到的归结于配置的重新配置。非限定的路径和已修改路径,在前缀的路径表里取决于Inbound政策,如果允许,存储。...它只获取交换的BFD Hello数据包,有bfd配置更改类似更改发生的会话状态。正常BFD数据包没有由此命令捕获。 33、在新的BGP邻居最大前缀配置后,路由是否必须重新启动?...如果前缀新的最大更加大当前最大数量,那里是没有的需要/困难清除BGP会话,并且重新加载没有要求。...AS路径加在前面设置, AS编号将被加在前面添附到AS路径,并且,更新离开往eBGP对 等体的AS,本地AS编号加在前面到完整AS路径。

2.4K30

IT运维面试问题总结-Linux基础

10、简述Linux中链接和硬链接的区别? 链接 链接类似于Windows的快捷方式功能的文件,可以快速连接到目标文件或目录。...读取文件A,系统会自动将访问者导向文件B。这时,文件A就称为文件B的链接。 因此,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错。...通过此数据段,B向A声明已收到A的请求,A可以传输数据了,同时告知A可用某个序列号作为起始数据段进行响应; 第三次握手,主机A收到主机B的数据段后,再发送一个确认应答,确认已收到主机B 的数据段,之后开始正式实际传输数据...只有当ACK=1,确认号才有效,ACK=0,确认号无效,此时会要求重传数据,保证数据的完整性。 SYN:同步序列号,这个标志位只有在TCP建立连接才会被置1,握手完成后SYN标志位置0。...包过滤防火墙:工作在网络层,根据包头中的源IP地址、目标IP地址、协议类型、端口号进行过滤; 代理应用防火墙:工作在应用层,使用代理服务器技术,将内网对外网的访问,变为防火墙对外网的访问可以对包的内容进行分辨

76820

JVM第二卷

如果要操作对象则必须用引用进行。 因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。...对象都不通过【强引用】引用该对象,该对象才能垃圾回收 引用(SoftReference) 仅有引用引用该对象,在垃圾回收后,内存仍不足时会再次出发垃圾回收,回收引用 对象 可以配合引用队列来释放引用自身...,就会造成不一致性,我们需要解决这个问题,这就引入了三色标记法: 白色:对象还没有垃圾回收器访问过,如果在标记结束阶段,对象还是白色,代表不可达 黑色:访问过,是存活对象 灰色:访问过,但是中途用户线程改变了引用...如果在标记过程中用户线程改变了某个对象的引用,就将该对象标记为灰色,并将其加入stab队列中,等待重新标记阶段,垃圾收集器会去访问该队列里面所有对象,判断是否存活,即重新扫描一遍这些灰色对象 **如何在用户线程改变了某个对象的引用...,则卸载它所加载的所有类 -XX:+ClassUnloadingWithConcurrentMark 默认启用 判定一个类型是否属于不在被使用的类的条件比较苛刻: 该类所有实例都被回收 加载该类的类加载回收

22830

巧设IP路由 实现不同网段互通

【简 介】 一个局域网中必须存在两个以上网段,分属于不同网段内的主机彼此互不可见。为了解决这个问题,就必须在不同的网段之间设置路由器。...一个局域网中必须存在两个以上网段,分属于不同网段内的主机彼此互不可见。为了解决这个问题,就必须在不同的网段之间设置路由器。...一、路由安装前的准备   1、在欲设置为路由的计算机中安装Windows 2000 Server。   2、在欲设置为路由的计算机中正确安装两块网卡。   ...二、路由的安装   以域用户管理员的身份登录,并执行下述操作。   1、依次单击“开始/程序/管理工具/路由和远程访问”,打开“路由和远程访问”窗口。   ...三、路由的设置   1、依次单击“开始/程序/管理工具/路由和远程访问”,打开“路由和远程访问”窗口。   2、右键单击要启用路由的服务器名,然后单击“属性”,显示“属性”对话框。

5.6K20

前端系列第5集-Vue系列

v-if和v-for同时出现在同一个元素上,Vue需要先对列表进行渲染,然后再根据条件过滤出需要显示的元素。这样做会导致Vue在每次重新渲染都需要重新计算和比较列表,从而降低了应用程序的性能。...延迟加载:使用按需加载技术,只有当需要访问某个特定部分时才加载相关的 JavaScript 或 CSS 文件。...一个缓存的组件激活,会触发activated函数;一个缓存的组件停用时,则会触发deactivated函数。开发者可以在这两个函数中执行需要的逻辑,例如获取最新数据等。...在Vue Router中可以使用路由守卫来判断某个用户是否有权访问某个页面。可以根据用户的角色或其他条件来判断用户是否有权访问该页面,如果没有则重定向到登录页或其他提示页。...在发起API请求可以携带用户信息和权限信息,后端根据这些信息来判断是否有权访问该接口或执行某个操作。

13620

再刷一波起来!Java后端开发面经大集锦2.0,刷完顺利拿下Offer!

信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源,其他进程也访问该资源。...共享内存( shared memory ) :共享内存就是映射一段能其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。...引用:在使用引用时,如果内存的空间足够,引用就能继续使用,而不会被垃圾回收器回收,只有在内存不足引用才会被垃圾回收器回收。 弱引用:具有弱引用的对象拥有的生命周期更短暂。...问题三十六 Override和Overload的含义以及区别 Overload顾名思义是重新加载,它可以表现类的多态性,可以是函数里面可以有相同的函数名但是参数名、返回值、类型不能相同;或者说可以改变参数...PULL:与 SAX 类似,也是基于事件驱动,我们可以调用它的next()方法,来获取下一个解析事件(就是开始文档,结束文档,开始标签,结束标签),处于某个元素可以调用XmlPullParser的getAttributte

50120

2017年Java面试题整理

引用:在使用引用时,如果内存的空间足够,引用就能继续使用,而不会被垃圾回收器回收,只有在内存不足引用才会被垃圾回收器回收。 e. 弱引用:具有弱引用的对象拥有的生命周期更短暂。...因为 JVM 进行垃圾回收,一旦发现弱引用对象,无论当前内存空间是否充足,都会将弱引用回收。不过由于垃圾回收器是一个优先级较低的线程,所以并不一定能迅速发现弱引用对象 f....Overload顾名思义是重新加载,它可以表现类的多态性,可以是函数里面可以有相同的函数名但是参数名、返回值、类型不能相同;或者说可以改变参数、类型、返回值但是函数名字依然不变。 b....SAX:与 SAX 类似,也是基于事件驱动,我们可以调用它的next()方法,来获取下一个解析事件(就是开始文档,结束文档,开始标签,结束标签),处于某个元素可以调用XmlPullParser的getAttributte...引用计数(最简单古老的方法):指将资源(可以是对象、内存或磁盘空间等等)的引用次数保存起来,引用次数变为零就将其释放的过程 f.

44620

Angular 从入坑到挖坑 - 路由守卫连连看

(判断是否可以进行访问) CanActivateChild:功能同 CanActivate,只不过针对的是子路由 CanDeactivate:用来处理从当前路由离开的情况(判断是否存在未提交的信息) CanLoad...:是否允许通过延迟加载的方式加载某个模块 在添加了路由守卫之后,通过路由守卫返回的值,从而达到我们控制路由的目的 true:导航将会继续 false:导航将会中断,用户停留在当前的页面或者是跳转到指定的页面...问题解决后,就可以针对 crisis 模块设置惰性加载 在配置惰性路由,我们需要以一种类似于子路由的方式进行配置,通过路由的 loadChildren 属性来加载对应的模块,而不是具体的组件,修改后的...,也就是在该路由首次请求执行,在后续请求,该模块和路由都是立即可用的 4.3.2、CanLoad:杜绝未通过认证授权的组件加载 在上面的代码中,对于 CrisisModule 模块我们已经使用 CanActivate...、CanActivateChild 路由守卫来进行路由的认证授权,但是当我们并没有权限访问路由的权限,却依然点击了链接,此时框架路由仍会加载该模块。

3.7K30

各大公司Java后端开发面试题总结

多个线程对同一个集合的内容进行操作,就可能会产生fail-fast事件。...,另一方面是取出引用,缓存中是否有该Employee实例的引用,如果有,从引用中取得。...d.引用:在使用引用时,如果内存的空间足够,引用就能继续使用,而不会被垃圾回收器回收,只有在内存不足引用才会被垃圾回收器回收。 e.弱引用:具有弱引用的对象拥有的生命周期更短暂。...---- Override和Overload的含义以及区别 a.Overload顾名思义是重新加载,它可以表现类的多态性,可以是函数里面可以有相同的函数名但是参数名、返回值、类型不能相同;或者说可以改变参数...c.PULL:与 SAX 类似,也是基于事件驱动,我们可以调用它的next()方法,来获取下一个解析事件(就是开始文档,结束文档,开始标签,结束标签),处于某个元素可以调用XmlPullParser

1.3K20

各大公司Java后端开发面试题总结

多个线程对同一个集合的内容进行操作,就可能会产生fail-fast事件。...,另一方面是取出引用,缓存中是否有该Employee实例的引用,如果有,从引用中取得。...d.引用:在使用引用时,如果内存的空间足够,引用就能继续使用,而不会被垃圾回收器回收,只有在内存不足引用才会被垃圾回收器回收。 e.弱引用:具有弱引用的对象拥有的生命周期更短暂。...---- Override和Overload的含义以及区别 a.Overload顾名思义是重新加载,它可以表现类的多态性,可以是函数里面可以有相同的函数名但是参数名、返回值、类型不能相同;或者说可以改变参数...c.PULL:与 SAX 类似,也是基于事件驱动,我们可以调用它的next()方法,来获取下一个解析事件(就是开始文档,结束文档,开始标签,结束标签),处于某个元素可以调用XmlPullParser

45510

攻防 | 红队钓鱼技术剖析与防范

定制免杀木马,以便能通过目标沙箱检查和杀查杀。最好能够在信息收集时或与受害者沟通打探清楚目标是否存在杀,使用什么样的杀,以便能够制作相对应免杀的木马样本。...类似C,C++语言的加载各大杀严密监控,可以尝试使用其他工具的加载器,如前期兴起的python、go语言,再如近期应用于免杀领域较多的nim开发语言,小众语言对绕过杀有奇效。...模式中选择安静模式,可以隐藏解压进度,防止解压文件暴露压缩文件中的内容。这里建议木马文件先于正常文件运行,否则只有当正常文件运行完关闭才会运行木马文件。...可以采用一些第三方通过图片生成ico,也可以使用在线ico转换工具进行转换。重新使用图标进行压缩。双击运行,正常文件打开,木马加载到预定目录,且主机上线,无其他异常弹框。...需要对上线主机做权限持久化(权限维持),持久化技术包括任何可以攻击者用来在系统重启、更改用凭据或其他可能造成访问中断的情况发生可保持或恢复对目标访问权限的技术,这里介绍几种简单的持久化方案。

52310

Linux内核22-中断和tasklet

中断是静态分配好的(编译),而tasklet是在运行时分配并初始化的(比如,加载内核模块的时候)。因为中断的实现是可重入的,使用自旋锁保护它们的数据结构。所以中断可以在多个CPU上并发运行。...对其具体的操作函数是local_softirq_pending()宏,用来是否禁止某个中断。...do_IRQ()函数完成I/O中断处理,调用irq_exit()宏。...在多核系统中,CPU处理完一个由CALL_FUNCTION_VECTORCPU间的中断引发的函数一个特殊的ksoftirqd/n内核线程唤醒。...这个方案有瑕疵,假设中断函数在执行do_softirq()函数的过程中被重新激活。最坏的情况就是,直到下一次定时器中断发生中断不会被执行,即使当前处理器处于空闲状态。

1.3K30

路由ip的优势与劣势:了解其适用场景和限制

本文将深入探讨路由IP的优势、劣势以及其适用场景和限制,帮助你更好地了解和应用路由IP。图片优势:1、灵活性:路由IP具有更强的灵活性,可以根据需求进行定制和配置。...你可以根据自己的网络规模、带宽需求和功能要求选择适合的路由IP设备,灵活地进行设置和管理。2、成本效益:相比传统硬件路由器,路由IP通常更具成本效益。...这些功能使得路由IP在满足不同网络需求更具优势。4、可扩展性:路由IP可以根据需要进行扩展和升级。你可以根据网络规模的增长,随时添加更多的资源和功能,以适应不断变化的需求。...2、小型企业网络:对于小型企业来说,路由IP是一种经济实惠且功能强大的选择。它可以提供企业级的网络功能,同时也具备灵活性和可扩展性。...因此,在选择和应用路由IP,需要根据具体需求和限制进行综合考虑。通过充分了解路由IP的优势、劣势和适用场景,你可以更好地利用路由IP来提升网络性能和功能。

34620

vue路由加载的实现方式_vue-router路由模式

路由加载如何实现 打包构建应用时,JavaScript 包会变得非常大,影响页面加载。...如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由访问的时候才加载对应组件,这样就会更加高效 当前,我们使用如下方式导入组件 import Login from '.....文件中包含了所有的用户组件的js以及css代码,但用户可能根本不会浏览器到某些页面,也就是说根本不需要渲染某些组件,所以vue-router 提供了一种路由加载机制,就是某个路由规则匹配,才会去加载下载并加载某个组件...,此时可以提升首页的渲染速度 路由加载实现的基础是组件引入方式的变化,需要使用 如下方式引入组件才可以 const Login = () => import('...../views/goods/Params') 重新打包 此时,运行程序,打开各个页面,通过网络查看资源的加载情况,如打开用户列表 访问商品列表 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人

76720

JVM内存结构和Java内存模型别再傻傻分不清了

所有的GC Root都不通过【强引用】引用该对象,对象才能垃圾回收 引用 仅有【引用】引用该对象,在垃圾回收后,内存仍不足时会再次发起垃圾回收,回收引用对象 可以配合引用队列来释放引用自身...null 解决:使用引用队列,引用关联的对象回收引用自身会被加入到引用队列中,通过queue.poll()取得对象进行删除 创建一个而引用队列:ReferenceQueue queue =...LoadClass和forName的区别 Class.ForName得到的class是已经初始化完成的 ClassLoader.loadClass得到的class是还没有链接的 双亲委派机制 什么是双亲委派机制 某个加载器需要加载某个...可见性 什么是可见性问题 可见性指的是一个线程修改了某个共享变量的值,其他线程是否能够马上得知这个修改的值。...一个共享变量volatile修饰,它会保证修改的值立即被其他的线程看到,即修改的值立即更新到主存中,其他线程需要读取,它会去内存中读取新值 解决方法2:使用synchronized和Lock保证可见性

24730

Linux运维面试题

Zabbix监控某个具体的项目,项目会设置一个触发器阈值,监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(SHELL 命令、Reboot、...HTTP区域:加载mime.types媒体类型配置文件,日志的模板格式,访问日志的路径,超时时间、加载虚拟主机的配置文件等等 只听到从架构师办公室传来架构君的声音: 早知恁地难拚,悔不当时留住。...RIP运行时,首先向外发送请求报文,其他运行RIP的路由器收到请求后,马上把自己的路由表发送过去,在没收到请求,会将路由删除,并广播自己新的路由表。...其他 1.PV、UV、IP之间的区别与联系 以上三个术语都用来衡量网站的用户访问量 PV(Page View)值就是所有访问者在24小(0点到24点)内访问某个网站多少个页面或某个网页多少次 (...一天内访问某个网站的人数,以cookie为依据;一天内同一访客的多次访问只能记为一个UV。 IP可以理解为独立IP的访问用户,指1天内使用不同IP地址的用户访问网站的数量。

1.3K20
领券