浩浩 浩浩
3年前
面试官:给你了十分钟,讲出实现 Router 框架的原理
Android开发中,组件化,模块化是一个老生常谈的问题。随着项目复杂性的增长,模块化是一个必然的趋势。除非你能忍受改一下代码,就需要十几分钟的漫长阅读时间。模块化,组件化随之带来的另外一个问题是页面的跳转问题,由于代码的隔离,代码之间有时候会无法互相访问。于是,路由(Router)框架诞生了。目前用得比较多的有阿里的ARouter,美团的WM
Wesley13 Wesley13
3年前
java多线程——CAS
关于无锁队列,网上有很多介绍了,我做一个梳理,从它是什么再到它有哪些特性以及应用做一个总结,方便自己使用和记录。本文主要内容:非阻塞同步是什么cas是什么特性ABA问题无阻塞队列1非阻塞同步互斥同步属于一种悲观的并发策略,总认为只要不去做正确的同步措施,肯定会出问题,无论共享数据是否真的会出现竞争,它都要进行加锁。而基
Stella981 Stella981
3年前
Openwrt笔记
在校园里使用路由器,开发高级功能,首先遇到的问题就是校园网的连接问题;经过一段摸索基本上找到了一些方法,暂记于此;未完待续;0.名词解释H3C:华三通(华三/新华三)公司,系华为与3Com公司合办的通信设备公司,在国内较为普及,尤其是在教育网中应用比较广(全套设备),影响巨大。后因一些原因没能归于华为,被HP(惠普)收购。产品性价比挺高,质量
Stella981 Stella981
3年前
Keepalived+LVS+nginx搭建nginx高可用集群
       nginx是一款非常优秀的反向代理工具,支持请求分发,负载均衡,以及缓存等等非常实用的功能。在请求处理上,nginx采用的是epoll模型,这是一种基于事件监听的模型,因而其具备非常高效的请求处理效率,单机并发能力能够达到上百万。nginx接收到的请求可以通过负载均衡策略分发到其下一级的应用服务器,这些服务器一般是以集群方式部署的,因而在性能不
可莉 可莉
3年前
13_ redis数据库高可用
数据库高可用1.1数据库高可用说明当数据库的主库宕机之后.如果没有高可用机制,则可能导致整个服务全部不能正常的使用.解决策略:双主模式(双机热备)1.2数据库双机热备实现1.2.1双机热备的说明将2台数据库设置为双主模式.互为主从的结构.其中任意的数据库服务器既是主机.也是从机.!在这里插入图
Stella981 Stella981
3年前
Redis内存淘汰机制及过期Key处理
  “天长地久有时尽,此恨绵绵无绝期。”好诗!好诗啊!即使是天长地久,也总会有尽头,那么,Redis的内存是不是也会有时尽呢?答案是肯定的。那么,当Redis的内存满了以后,再来新的请求,我们该怎么办呢?这时候,大家就应该来了解Redis的内存淘汰策略了,了解了相关的知识点后,就能明白“Redis内存有时尽”后,会发生些什么。Redis内存淘汰机制
Stella981 Stella981
3年前
JavaScript面向对象编程的15种设计模式
在程序设计中有很多实用的设计模式,而其中大部分语言的实现都是基于“类”。在JavaScript中并没有类这种概念,面向对象编程不是基于类,而是基于原型去面向对象编程,JS中的函数属于一等对象,而基于JS中闭包与弱类型等特性,在实现一些设计模式的方式上与众不同。ps:本文之讲述面向对象编程的设计模式策略,JavaScript原型的基础请参考阮一峰面向
Wesley13 Wesley13
3年前
Java虚拟机类加载机制
概述  虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。  与那些在编译时需要进行连接工作的语言不同,在Java语言里面,类型的加载、连接和初始化过程都在程序运行期间完成的,这种策略虽然会稍微增加一些系统性能开销,但是会为Java应用程序
Stella981 Stella981
3年前
RabbitMQ——队列消息数
背景在实际使用过程,会遇到这么些情况:生产者发送的消息数量与消费者接收的消息数量不一致。例如生产者向rabbitmq投递了100条消息,消费者只从队列中接收到了80条消息,并且当前队列中已经没有任何消息。要定位这个问题,通常是分段来定位,一方面统计生产者到底发送了多少消息,一方面统计有多少消息是正确路由到
可莉 可莉
3年前
2020最新Java、spring微服务、高并发、虚拟机大厂高频面试题 ,入职大厂指日可待
写在前面在知乎上看到一条消息,说互联网公司每月对架构师的需求量高达近万人,有点出乎意料。那求职季需求岂不会更多!只要放平心态,调整策略,用心准备,就能抢占先机。那么,对于技术人,尤其是Java人来说,到底需要掌握什么技术才能通过筛选呢?这里列出几个流行的技术:1、JAVA并发编程对于一个Java程序员而言,能否熟练掌