09 2020 档案
摘要:每周,谷歌员工都会在厕所的墙壁上粘贴一页来分享本周的测试小建议。有时这页纸会讨论依赖注入,并提供一个简单的示例展示如何用不同语言使用它;有时它可能会分享如何安装一个用于测量团队代码库测试覆盖率的软件。“Testing on the Toilet”起初是个奇怪又有趣的方式,来教给工程师在工作中会用到的
        阅读全文
                
摘要:什么是RabbitMQ RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。RabbitMQ使用的是AMQP协议,它是一种二进制协议 1.用户的请求,服务器收到之后,首先写入消息队列,加入消息队列长度超过最大值,则直接抛弃用户请求或跳转到错误页
        阅读全文
                
摘要:Nginx的作用 这个问题是入门级知识点,讨论Nginx的用处。我觉得只要几个重要的点都回答到位就可以了,可以考虑这样的一个回答:Nginx是一个高性能web服务器和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。不仅可以实现负载均衡,还可以做接口限流,缓存等功能。 使用Nginx的优势
        阅读全文
                
摘要:SpringMVC执行流程及原理? 用户发起请求到前端控制器(DispatcherServlet),该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问。就是url-pattern的作用,并且会加载SpringMVC.xml配置文件。前端控制器会找到处理器映射器(HandlerMapping
        阅读全文
                
摘要:1、请说明什么是Apache Kafka? Apache Kafka是由Apache开发的一种发布订阅消息系统,它是一个分布式的、分区的和可复制的提交日志服务。 2、说说Kafka的使用场景? ①异步处理 ②应用解耦 ③流量削峰 ④日志处理 ⑤消息通讯等。 3、使用Kafka有什么优点和缺点? 优点
        阅读全文
                
摘要:1. 不要轻易换笔记本电脑,不要跟潮流,不要买过多的电子产品,不要过于频繁的更换手机。 这方面我的经验教训也是惨痛的。我大概前后购买过 5-6 个笔记本,以前的都是 1 万多元一台,最近买的这台 1 万多是给女朋友的,自己买了一台是 7500 元左右,手机大概换过接近 10 个了,这些钱加起来也足够
        阅读全文
                
摘要:过去几年,“微服务架构”这个术语出现了,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。 49页PPT干货:微服务架构起源、简介及设计 尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,端点智能以及语言和数据的分散控制等方面存在着某些共同特征。 “微服务” 是在拥挤的软件架
        阅读全文
                
摘要:什么是springMVC?作用? springMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校验等)。 为什么要用springMVC? 基本上,框架的作用就是用来简化编程的,相对于servlet来说,获取表单参数,响应请求等变得更简单了。 说出spring
        阅读全文
                
摘要:Mysql中有哪几种锁? 1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3. 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发
        阅读全文
                
摘要:1、什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减
        阅读全文
                
摘要:Step 1 : 建造时光机 我在学习新技术时,会用到两个东西。第一个是 Git,第二个是 Redmine。 Git git 是新手的时光机。我认为如果一般人学习任何编程语言,甚至写任何笔记,都应该上个 git 版本控制。起码看你上一次写了什么东西。其实 git 一开始也不用学太多指令,练习以下几个
        阅读全文
                
摘要:1.nginx常用命令 启动nginx ./sbin/nginx 停止nginx ./sbin/nginx -s stop ./sbin/nginx -s quit 重载配置 ./sbin/nginx -s reload(平滑重启) service nginx reload 重载指定配置文件 ./s
        阅读全文
                
摘要:在这里就简单记录一下期间我问到的一些关于 Kafka 的面试题目,这些都是我平时在学习 Kafka 的一些总结要点。 谈谈你对 kafka 的整体认识? 问这个问题主要是想知道面试者对 Kafka 的整体认识如何,能够大致了解面试者对 Kafka 的相关概念的熟悉程度,比如消息、topic、part
        阅读全文
                
摘要:近几年深入学习JVM调优的人越来越多,因为互联网一线大厂的Java高级开发工程师JD中都明确要求了“JVM调优”的能力。       所以掌握JVM调优是深入学习Java必不可少的一环,也是Java开发人员迈向更高水平的一个阶梯。 那么到底什么是JVM调优呢? JVM调优主要是针对垃圾收
        阅读全文
                
摘要:见过真正头铁的程序员吗?如题所示,真人真事,这位二本的兄弟在这短短几个月内海投了638份简历,全挑的大厂岗位投的,仅字节跳动就前前后后面试了九次,他说:没有撤退可言。 九次面试经历也是奇了—— 网友们的评论真相了: “字节这么缺人?大家可以去投了” “看来字节跳动就是要定你了!” “哥们你这得累积多
        阅读全文
                
摘要:Redis 本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-V
        阅读全文
                
摘要:一面 介绍项目 java 线程池的实现原理,threadpoolexecutor关键参数解释 hashmap的原理,容量为什么是2的幂次 为什么要同时重写hashcode和equals ConcurrentHashMap如何实现线程安全? 介绍Java多线程的5大状态,以及状态图流转过程 介绍下Sy
        阅读全文
                
摘要:一、MySQL架构与历史A.并发控制 1.共享锁(shared lock,读锁):共享的,相互不阻塞的 2.排他锁(exclusive lock,写锁):排他的,一个写锁会阻塞其他的写锁和读锁 B.事务 1.事务ACID * 原子性(atomicity)一个事务必须被视为一个不可分割的最小工作单元,
        阅读全文
                
摘要:一、键值设计 1. key名设计 (1)【建议】: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id (2)【建议】:简洁性 保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如: (3)【强制】:不要包含特殊字符 反例:包
        阅读全文
                
摘要:一、什么是bigkey 在Redis中,一个字符串最大512MB,一个二级数据结构(例如hash、list、set、zset)可以存储大约40亿个(2^32-1)个元素,但实际上中如果下面两种情况,我就会认为它是bigkey。 字符串类型:它的big体现在单个value值很大,一般认为超过10KB就
        阅读全文
                
摘要:近几年,微服务架构一跃成为 IT 领域炙手可热的话题。大量一线互联网公司因为庞大的业务体量和业务需求,纷纷投入了微服务架构的建设中,像阿里巴巴、百度、美团等大厂,很早就已经开始了微服务的实践和应用。 其中微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo、还是 Sprin
        阅读全文
                
摘要:本章开始说内存,内存的管理是极其复杂的模块,涉及到非常多概念,光地址就有逻辑,线性,物理地址三个,网上文章很多,参差不齐,没有很好基础或实战经验的同学基本得懵掉,本篇最后也有这些概念介绍。系列篇打算用三篇来讲述鸿蒙内核的内存管理机制。由浅入深,层层递进。我们换个视角切入,将从进程和线程创建的视角看内
        阅读全文
                
摘要:Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象。因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 St
        阅读全文
                
摘要:1.计算机基础: 1.1数据结构基础: 主要学习:1.向量,链表,栈,队列和堆,词典。熟悉2.树,二叉搜索树。熟悉3.图,有向图,无向图,基本概念4.二叉搜索A,B,C类熟练,9大排序熟悉。5.树的前中后,层次,之字,最短路。6.KMP等字符串算法。 1.2操作系统: 主要学习:1.进程,线程,进程
        阅读全文
                
摘要:据说有小伙伴靠这份笔记顺利进入 BAT 哦,所以一定要好好学习这份资料! 资料介绍,面试题超350题+ 这套面试题丰富全面,从 java常用命令到 java常用操作,再到jvm编程、主流服务、性能优化、自动化运维、面试技巧等几乎覆盖了所有 java 面试题,被同事称为 java界 面试活字典,跟ja
        阅读全文
                
摘要:最近几年,微服务的概念非常火爆,由于它确实能解决传统单体应用所带来的种种问题(比如代码可维护性低、部署不灵活、不够稳定、不易扩展,等等),所以大家对“如何成功实施微服务架构”越来越感兴趣。在Java技术栈中,Spring Cloud独树-一帜, 提供了一整套微服务解决方案,它基于Spring Boo
        阅读全文
                
摘要:1、自我介绍、自己做的项目和技术领域 2、项目中的监控:那个监控指标常见的有哪些? 3、微服务涉及到的技术以及需要注意的问题有哪些? 4、注册中心你了解了哪些? 5、consul 的可靠性你了解吗? 6、consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过? 7、项目用 Spring
        阅读全文
                
摘要:1.HTTP 和 HTTPS 有什么区别? HTTPS 和 HTTP 的关系 协议 明文/安全 HTTPS 它把 HTTP 下层的传输协议由 TCP/IP 换成了 SSL/TLS,由 「“HTTP over TCP/IP”」 变成了 「“HTTP over SSL/TLS”」,让 HTTP 运行在了
        阅读全文
                
摘要:首先你应该知道,运行一个 Java 应用程序,我们必须要先安装 JDK 或者 JRE 包。这是因为 Java 应用在编译后会变成字节码,然后通过字节码运行在 JVM 中,而 JVM 是 JRE 的核心组成部分。JVM 不仅承担了 Java 字节码的分析(JIT compiler)和执行(Runtim
        阅读全文
                
摘要:rabbitMQ是基于AMQP协议的,通过使用通用协议就可以做到在不同语言之间传递。 核心概念 非常强悍的 RabbitMQ 总结,看完别再说你不会RabbitMQ 交换机的类型,direct、topic、fanout、headers,durability(是否需要持久化true需要)auto de
        阅读全文
                
摘要:什么是微服务架构 简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API 进行通信协作。被拆分成的每-一个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功能进行构建,并
        阅读全文
                
摘要:自己总结的RabbitMQ的教程,有不恰当的地方欢迎小伙伴指出。 我们先来看一下一条消息在RabbitMQ中的流转过程  图示的主要流程如下 整个流程主要就4个参与者message,exchange,queue,consumer,我们就来认识一下这4个参与者 消息可以设置一些列属性  接收消息,
        阅读全文
                
摘要:在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足
        阅读全文
                
摘要:高性能程序就是高效的利用CPU、内存、网络和磁盘等资源,在短时间内处理大量的请求。那如何衡量“短时间和大量”呢?其实就是两个关键指标:响应时间和每秒事务处理量(TPS)。 那什么是资源的高效利用呢? 我觉得有两个原则: 减少资源浪费。比如尽量避免线程阻塞,因为一阻塞就会发生线程上下文切换,就需要耗费
        阅读全文
                
摘要:目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但
        阅读全文
                
摘要:一、前言 把对象序列化为json字符串输出的库很多,本文我们来看如何基于jackson动态控制哪些属性需要进行序列化。 二、序列化输出方式 对应使用Jackson,需要我们在pom文件中引入下面依赖: <dependency> <groupId>com.fasterxml.jackson
        阅读全文
                
摘要:问题背景 MySql(InnoDB)中的订单表需要按时间顺序分页查询,且主键不是时间维度递增,订单表在百万以上规模,此时如何高性能地实现该需求? 注:本文并非主要讲解如何建立索引,以下的分析均建立在有合适的索引的前提下 初步方案1 众所周知,MySql中,有一个limit offset, pageS
        阅读全文
                
摘要:不知不觉间,2020 年已经过了一大半了,作为技术圈中你,准备好迎接最新的变化了吗?在本文中,我们将以编程界最常用的编程语言 Java 为例,分享最为主流的技术与工具。 2020 年最流行的 Java 开发技术 Java几乎无处不在,无论在智能手机、台式机、游戏设备还是科学超级计算机上,处处都有Ja
        阅读全文
                
摘要:或许这份面试题还不足以囊括所有 Java 问题,但有了它,我相信你一定不会“败”的很惨,因为有了它,足以应对目前市面上绝大部分的 Java 面试了,因为这篇文章不论是从深度还是广度上来讲,都已经囊括了非常多的知识点了。 凡事预则立,不预则废。能读到这里的人,我相信都是这个世界上的“有心人”,还是那句
        阅读全文
                
摘要:分布式系统 微服务就是原来臃肿的项目拆分为多个模块互不关联。如:按照子服务拆分、数据库、接口,依次往下就更加细粒度,当然运维也就越来越难受了。 分布式则是偏向与机器将诺大的系统划分为多个模块部署在不同服务器上。 微服务和分布式就是作用的“目标不一样”。 微服务与Cloud 微服务是一种概念,spri
        阅读全文
                
摘要:认识HTTP 首先你听的最多的应该就是HTTP是一种超文本传输协议CHypertext Transfer Protocol), 这你一定能说出来,但是这样还不够,假如你是大厂面试官,这不可能是他想要的最终结果,我们在面试的时候往往把自己知道的尽可能多的说出来,才有和面试官谈价钱的资本。那么什么是超文
        阅读全文
                
摘要:IO I0 JavalO是一个庞大的知识体系,很多人学着学着就会学懵了,包括我在内也是如此,所以本文将会从Java的BIO开始,一步一步深入学习,引出JDK1.4之后出现的NIO技术,对比NIO与BIO的区别,然后对NIO中重要的三个组成部分进行讲解(缓冲区、通道、选择器),最后实现一个简易的客户端
        阅读全文
                
摘要:1. ThreadLocal是什么?使用场景 ThreadLocal简介 ThreadLocal是线程本地变量,可以为多线程的并发问题提供一种解决方式,当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而
        阅读全文
                
摘要:一、JVM的体系结构 类装载系统 1、定位和导入二进制class文件 2、验证导入类的正确性 3、为类分配初始化内存 4、帮助解析符号引用 执行引擎 执行包在装载类的方法中的指令,也就是方法 运行区数据 虚拟机会在整个计算机内存中开辟一块内存存储JVM需要用到的对象,变量等,运行区数据有分很多小区,
        阅读全文
                
摘要:@ 高级语言运行机制编译型语言解释型语言 Java运行机制和JVM编写编译运行 JDK JREJDK、JRE与JVM 编写 编译 运行 Java程序运行机制 高级语言运行机制 计算机高级语言按程序的执行方式可以分为编译型和解释型两种。 编译型语言 编译型语言是指使用专门的编译器,针对特定平台(操作系
        阅读全文
                
摘要:异常的定义 异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。 (开发过程中的语法错误和逻辑错误不是异常) 1. 异常的体系结构 Java程序在执行过程中所发生的异常事件可分为两类: Error: Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如: 
        阅读全文
                
摘要:前言 系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。 从一个程序员到架构师是一个很大的变化,架构师需要从大的方面考虑,而不只是考虑这个模块该用哪种设
        阅读全文
                
摘要:一、什么是架构 我想这个问题,十个人回答得有十一个答案,因为另外的那一个是大家妥协的结果。哈哈,我理解,架构就是骨架,如下图所示: 人类的身体的支撑是主要由骨架来承担的,然后是其上的肌肉、神经、皮肤。架构对于软件的重要性不亚于骨架对人类身体的重要性。 二、. 什么是设计模式 这个问题我问过的面试者不
        阅读全文
                
摘要:McGovernTheory在StackOverflow提了这样一个问题: Java虚拟机最多支持多少个线程?跟虚拟机开发商有关么?跟操作系统呢?还有其他的因素吗? Eddie的回答: 这取决于你使用的CPU,操作系统,其他进程正在做的事情,你使用的Java的版本,还有其他的因素。我曾经见过一台Wi
        阅读全文
                
摘要:日志到底是何方神圣?为什么要使用日志框架? 想必大家都有过使用System.out来进行输出调试,开发开发环境下这样做当然很方便,但是线上这样做就有麻烦了: 系统一直运行,输出越来越多,磁盘空间逐渐被写满 不同的业务想要把日志输出在不同的位置 有些场合为了更高性能,尽量控制减少日志输出,需要动态调整
        阅读全文
                
摘要:什么是kafka kafka是一种高吞吐量的分布式发布订阅消息系统 主要是三个功能 1. 发布和订阅记录的流,类似于消息队列或者企业级消息系统。 2. 以容错的、持久的方式存储记录流 3. 当发生时处理记录流。 复制代码 SpringBoot集成kafka 新建SpringBoot项目 引入kafk
        阅读全文
                
                    
                
浙公网安备 33010602011771号