随笔分类 - 面试笔记
摘要:1.字符型常量和字符串常量的区别? 2.什么是字符串常量池? 3.String str="aaa”与 String str=new string("aaa")一样吗?new string(“aaa");创建了几个字符串对象? 4.String是最基本的数据类型吗? 5.String有哪些特性? 6.
阅读全文
摘要:1.Java语言有哪些特点? 2.Java和C++有什么关系,它们有什么区别? 3.JVM、JRE和JDK的关系是什么? 4.什么是字节码?采用字节码的好处是什么? 5.OracleJDK和OpenJDK的区别是什么? 6.Java有哪些数据类型? 7.switch是否能作用在byte上,是否能作用
阅读全文
摘要:Dubbo(开源分布式服务框架) Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。 Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程
阅读全文
摘要:再谈原子性:Java规范规定所有变量写操作都是原子的 Applications apps; 线程1: apps = loadedApps;//原子的,不需要AtomicReference来处理 java语言规范里面,int i=0,resource=loadedResoures,flag=true,
阅读全文
摘要:BIO 这个其实就是最传统的网络通信模型,就是BIO,同步阻塞式IO,简单来说大家如果参加过几个月的培训班儿应该都知道这种BIO网络通信方式。就是服务端创建一个ServerSocket,然后客户端用一个Socket去连接那个ServerSocket,然后ServerSocket接收到一个Socket
阅读全文
摘要:1.MySQL MylSAM 和 InnoDB存储引擎的区别是啥? myisam,不支持事务,不支持外键约束,索引文件和数据文件分开,这样在内存中可以缓存更多的索引,对查询的性能会更好,适用于那种少量插入、大量查询的场景。 innodb是现在最常用的存储引擎,是mysql5.5之后的默认存储引擎。主
阅读全文
摘要:1.你能聊聊TCPIP四层网络模型吗?OSI七层网络模型也说一下! 设想一下,各个电脑厂商,比如IBM、苹果啥的,都弄自己的协议,结果就苹果电脑和苹果电脑自己可以通信,和IBM电脑就不可以通信,这不是尴尬么。所以搞一个国际通行的协议,大家都按照这个来,所有电脑都可以通信,不是很好么。 此时就必须搞一
阅读全文
摘要:#1.JVM中有哪几块内存区域?Java 8之后对内存分代做了什么改进? JVM最常用的内存区域有三块 栈内存,堆内存和永久代。栈内存是线程每个线程独享的,堆内存是共享的,永久代中存储的是类的信息。 java8 之后将永久代中的常量池放到了堆内存中,永久代变成了metaspace(元区域)。 #2.
阅读全文
摘要:#1.说说你对Spring的_IOC_机制的理解可以吗? 程序的耦合和解耦 IOC叫控制反转其目的就是为了降低程序的耦合性,使类与类之间彻底的解耦合(现在这套比较高大上的一点系统里,有几十个类都使用了@Resource或者@Autowired这个注解去标注MyService myService, 几
阅读全文
摘要:#1.JavaSE多线程基础回顾 ##什么是线程?进程和线程的区别 线程是进程的执行单元,线程是操作系统能够进行运算调度的最小单位。 一个进程可拥有多个线程,而一个线程只能拥有一个父进程。 线程可独享自己的堆栈、程序计数器和局部变量;但线程必须与其父进程的其他线程共享代码段、数据段、堆空间等系统资源
阅读全文
摘要:#1、HashMap的底层数据结构是什么? 在 JDK1.7 中,由“数组+链表”组成,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的。 在 JDK1.8 中,由“数组+链表+红黑树”组成。当链表过长,则会严重影响 HashMap 的性能,红黑树搜索时间复杂度是 O(logn)
阅读全文
摘要:从分布式系统协调语义而言,是ZooKeeper做分布式锁更好一些,因为Redis本身其实是缓存,但是Redis能抗高并发,高并发场景下更好一些 zookeeper本身不适合部署大规模集群,他本身适用的场景就是部署三五台机器,不是承载高并发请求的,仅仅是用作分布式系统的协调的 Redis?ZooKee
阅读全文
摘要:Redis分布式锁,很少自己撸,Redisson框架,他基于Redis实现了一系列的开箱即用的高级功能,比如说分布式锁 引入maven依赖,他示例代码就几行 比如说,苹果这个商品的id是1 redisson.lock(“product_1_stock”) key的业务语义,就是针对product_i
阅读全文
摘要:下订单的环节,支付之前,创建一个订单 创建一个订单,订单里会指定对哪些商品要购买多少件,此时就需要走一个流程,校验一下库存 查库存,确认库存充足,锁定库存 这个过程必须用分布式锁,锁掉这个商品的库存,对一个商品的购买同一时间只能有一个人操作 redis和zookeeper实现分布式锁的原理,在之前面
阅读全文
摘要:类似TCC事务的落地的一些东西,技术选型,业务场景需要分布式事务,结合我个人亲身经历的一个创业公司APP的一个事故,给大家介绍了一下,对于系统核心链路,为什么必须要上分布式事务 seata,github上,都会提供sample,跟dubbo,官方的同学是定义为double,spring cloud,
阅读全文
摘要:#(1)数据库唯一索引 (2)基于Redis实现一套幂等性防重框架 对于插入类的操作,一般都是建议大家要在数据库表中设计一些唯一索引 你如果有一个订单被支付了,此时就要通知wms创建一个对应发货单,也是数据库里的一个表,仓库里的人会看到这个发货单,此时他就会根据发货单的信息从仓库里进行拣货,打包,封
阅读全文
摘要:第一个是高并发,第二个是如何优化 Zuul网关部署的是什么配置的机器,部署32核64G,对网关路由转发的请求,每秒抗个小几万请求是不成问题的,几台Zuul网关机器 每秒是1万请求,8核16G的机器部署Zuul网关,5台机器就够了 #生产级的网关,应该具备我刚才说的几个特点和功能: (1)动态路由:新
阅读全文
摘要:#网关的核心功能 (1)动态路由:新开发某个服务,动态把请求路径和服务的映射关系热加载到网关里去;服务增减机器,网关自动热感知 (2)灰度发布 (3)授权认证 (4)性能监控:每个API接口的耗时、成功率、QPS (5)系统日志 (6)数据缓存 (7)限流熔断 #几种技术选型 Kong、Zuul、N
阅读全文
摘要:非常常见的一个技术面试题,但凡只要是聊到分布式这块,一定会问问你,Dubbo,Spring Cloud,服务注册中心,你们当时是怎么选型和调研的,你们最终是选择了哪块技术呢?你选择这块技术的原因和理由是什么呢? Eureka、ZooKeeper Dubbo作为服务框架的,一般注册中心会选择zk Sp
阅读全文
摘要:底层架构原理是类似的 Dubbo,RPC的性能比HTTP的性能更好,并发能力更强,经过深度优化的RPC服务框架,性能和并发能力是更好一些 很多中小型公司而言,其实稍微好一点的性能,Dubbo一次请求10ms,Spring Cloud耗费20ms,对很多中小型公司而言,性能、并发,并不是最主要的因素
阅读全文