随笔分类 -  面试集锦

摘要:1. 网络层次划分 除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议,它们之间的对应关系如下图所示: 2. OSI七层网络模型 TCP/IP协议毫无疑问是互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。不管是O 阅读全文
posted @ 2020-12-18 09:58 JavaJayV 阅读(671) 评论(0) 推荐(0)
摘要:多线程 创建线程的四种方式 1、继承Thread Thread01 thread = new Thread01(); thread.start(); 2、实现Runable接口 Runable01 runable = new Runable(); new Thread(runable).start( 阅读全文
posted @ 2020-12-18 09:57 JavaJayV 阅读(148) 评论(0) 推荐(0)
摘要:死锁 所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。 因此我们举个例子来描述,如果此时有一个线程A,按照先锁a再获得锁b的的顺序获得锁,而在此同时又有另外一个线程B,按照先锁b再锁a的顺序获得锁 产生死锁的原因 1.竞争 阅读全文
posted @ 2020-12-18 09:54 JavaJayV 阅读(30) 评论(0) 推荐(0)
摘要:基本知识 操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的程序,是计算机的基石。 操作系统本质上是一个运行在计算机上的软件程序 ,用于管理计算机硬件和软件资源。 举例:运行在你电脑上的所有应用程序都通过操作系统来调用系统内存以及磁盘等等硬件。 操作系统存在屏蔽了硬 阅读全文
posted @ 2020-12-18 09:51 JavaJayV 阅读(278) 评论(0) 推荐(1)
摘要:Netty IO=》网络通信、IO、socket =》BIO、NIO、多路复用器 =》netty 知识准备-计算机组成原理 1、内核:相当于一个程序,负责管理IO设备,如硬盘、网卡、外设等,统一资源控制 2、保护模式:内核能访问其他程序,其他程序无法直接访问内核,防止对内核及系统的侵入和破坏 3、中 阅读全文
posted @ 2020-11-27 21:47 JavaJayV 阅读(330) 评论(0) 推荐(0)
摘要:NIO NIO主要有三个核心部分组成: buffer缓冲区 Channel管道 Selector选择器 在NIO中并不是以流的方式来处理数据的,而是以buffer缓冲区和Channel管道配合使用来处理数据。 NIO就是通过Channel管道运输着存储数据的Buffer缓冲区的来实现数据的处理! C 阅读全文
posted @ 2020-11-27 21:45 JavaJayV 阅读(100) 评论(0) 推荐(0)
摘要:在 Java 中,所有的异常都有一个共同的祖先 java.lang 包中的 Throwable 类。Throwable: 有两个重要的子类:Exception(异常) 和 Error(错误) ,二者都是 Java 异常处理的重要子类,各自都包含大量子类。 Error(错误):是程序无法处理的错误,表 阅读全文
posted @ 2020-11-20 20:41 JavaJayV 阅读(156) 评论(0) 推荐(0)
摘要:Stream流 Stream 流分为顺序流和并行流,所谓顺序流就是按照顺序对集合中的元素进行处理,而并行流则是使用多线程同时对集合中多个元素进行处理,所以在使用并行流的时候就要注意线程安全的问题了。 创建流 调用集合的 stream() 方法或者 parallelStream() 方法创建流。 St 阅读全文
posted @ 2020-11-20 20:40 JavaJayV 阅读(70) 评论(0) 推荐(0)
摘要:微服务身份认证方案 1. 单点登录(SSO) 这种方案意味着每个面向用户的服务都必须与认证服务交互,这会产生大量非常琐碎的网络流量和重复的工作,当动辄数十个微应用时,这种方案的弊端会更加明显。 2. 分布式 Session 方案 分布式会话方案原理主要是将关于用户认证的信息存储在共享存储中,且通常由 阅读全文
posted @ 2020-11-20 20:39 JavaJayV 阅读(1277) 评论(0) 推荐(0)
摘要:分布式系统 **分布式系统一定是由多个节点组成的系统。**其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。 这些连通的节点上部署了我们的节点,并且相互的操作会有协同。 分布式应用用到的技术: 网络通信,基于消息方式的系统间通信和基于远程调用的系统间通信。 基于Java实现消息方 阅读全文
posted @ 2020-11-20 20:38 JavaJayV 阅读(850) 评论(0) 推荐(0)
摘要:基本认识 序列号: 在建立连接时由计算机生成的随机数作为其初始值,通过 SYN (同步序列编号) 包传给接收端主机,每发送一次数据,就「累加」一次该「数据字节数」的大小。用来解决网络包乱序问题(类似保证幂等性)。 确认应答号: 指下一次「期望」收到的数据的序列号,发送端收到这个确认应答以后可以认为在 阅读全文
posted @ 2020-11-20 20:34 JavaJayV 阅读(418) 评论(0) 推荐(0)
摘要:HTTP 超文本传输协议,用于客户端和服务器端之间的通信, HTTP与TCP的区别和联系 TCP是传输层,而http是应用层 http是要基于TCP连接基础上的,TCP就是单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输。http是用来收发数据,即实际应用上来的。 TCP是底层通讯协议,定 阅读全文
posted @ 2020-11-20 20:28 JavaJayV 阅读(146) 评论(0) 推荐(0)
摘要:架构 核心模块 rocketmq-broker:接受生产者发来的消息并存储(通过调用rocketmq-store),消费者从这里取得消息 rocketmq-client:提供发送、接受消息的客户端API。 rocketmq-namesrv:NameServer,类似于Zookeeper,这里保存着消 阅读全文
posted @ 2020-11-20 20:27 JavaJayV 阅读(1215) 评论(0) 推荐(0)
摘要:Redis分布式缓存 redis-benchmark性能测试 redis-benchmark [参数] [参数值] 参数说明: 选项 描述 默认值 -h 指定服务器主机名 127.0.0.1 -p 指定服务器端口 6379 -s 指定服务器 socket -c 指定并发连接数 50 -n 指定请求数 阅读全文
posted @ 2020-11-20 20:15 JavaJayV 阅读(105) 评论(0) 推荐(0)
摘要:分布式解决方案redis cluster 使用原因 1.主从复制不能实现高可用 2.随着公司发展,用户数量增多,并发越来越多,业务需要更高的QPS,而主从复制中单机的QPS可能无法满足业务需求 3.数据量的考虑,现有服务器内存不能满足业务数据的需要时,单纯向服务器添加内存不能达到要求,此时需要考虑分 阅读全文
posted @ 2020-11-20 20:13 JavaJayV 阅读(257) 评论(0) 推荐(0)
摘要:Spring是什么? ​ Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。 主要由以下几个模块组成: Spri 阅读全文
posted @ 2020-11-20 20:07 JavaJayV 阅读(136) 评论(0) 推荐(0)
摘要:Nosql:非关系型数据库 分表分库 + 水平拆分 + mysql集群: 在Memcached的高速缓存,Mysql主从复制、读写分离的基础上,由于MyISAM使用表锁,高并发Mysql应用开始使用InnoDB引擎代替MyISAM。现如今分表分库 + 水平拆分 + mysql集群 已经成为解决缓解写 阅读全文
posted @ 2020-07-16 00:19 JavaJayV 阅读(196) 评论(0) 推荐(0)
摘要:基础知识易错点 1. object.equals("str") 容易报空指针异常,应使用"str".equals(object); 还可以使用JDK7引入的工具类object#equals : objects.equals(null, "str"); // false java.util.Objec 阅读全文
posted @ 2020-07-11 17:58 JavaJayV 阅读(158) 评论(0) 推荐(0)
摘要:JVM体系结构 类加载器(快递员): 只负责加载java文件,编译后的class文件在文件开头有特定的文件表示,将class文件字节码内容从硬盘加载到JVM内存中并将这些内容转换成方法区的运行时数据结构,至于是否可以正常运行由Execution Engine决定。加载class后为模板Class,该 阅读全文
posted @ 2020-06-29 11:52 JavaJayV 阅读(441) 评论(0) 推荐(0)
摘要:typora-root-url: ......\Software\Typora\Picture Bean的作用域 在Spring的元素的scope属性设置bean的作用域,用来决定bean是单实例还是多实例的 默认情况下Spirng为每个在IOC容器里声明的bean创建唯一一个实例,整个IOC都能共 阅读全文
posted @ 2020-06-21 00:40 JavaJayV 阅读(120) 评论(0) 推荐(0)