JVM基本是BAT面试必考的内容,今天我们先从JVM内存模型开启详解整个JVM系列,希望看完整个系列后,可以轻松通过BAT关于JVM的考核。
BAT必考JVM系列专题
1.JVM内存模型
2.JVM垃圾回收算法
3.JVM垃圾回收器
4.JVM参数详解
5.JV……继续阅读 »
陈睿
2年前 (2018-10-31) 10611浏览 2评论
43个赞
什么是分布式系统唯一ID
在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。
如在金融、电商、支付、等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求,此时一个能够生成全局唯一ID的系统是非常必要的。
分布式系统唯一ID的特点
……继续阅读 »
陈睿
2年前 (2018-10-31) 8125浏览 1评论
8个赞
性能优化专题
阿里P8架构师谈:MySQL数据库的索引原理、与慢SQL优化的5大原则
阿里P8架构师谈:Web前端、应用服务器、数据库SQL等性能优化总结
大型网站Web前端优化最佳实践,以及最全优化工具集锦
阿里P8架构师谈:多线程、架构、异步消息、Redis等性能优化策略
性能问题简介
……继续阅读 »
陈睿
2年前 (2018-10-30) 2897浏览 1评论
2个赞
阿里技术一面
自我介绍
Java中多态是怎么实现的
Java中的几种锁
数据库隔离级别 脏读 幻读 ACID mysql的隔离级别
mysql索引实现,如何解决慢查询
数据库锁是怎么实现的
死锁的条件,进程和线程区别
……继续阅读 »
陈睿
2年前 (2018-10-28) 2953浏览 0评论
3个赞
后端优化的六种方法:
1.硬件升级
硬件问题对性能的影响不容忽视。
举一个例子:一个DB集群经常有慢SQL报警,业务排查下来发现SQL都很简单,该做的索引优化也都做了。后来DBA同学帮忙定位到问题是硬件过旧导致,将机械硬盘升级成固态硬盘之后报警立马消失了,效果立竿见影!
2.缓存化
缓存可以称的上是性能……继续阅读 »
陈睿
2年前 (2018-10-26) 4977浏览 1评论
10个赞
Hi 大家好,我是陈睿|mikechen,这是优知学院的所有文章集合,专门整理这个页面,希望会对大家在浏览感兴趣文章的时候,能有更好的帮助!
这些文章的呈现,并不是按照时间轴来排序,无论是新旧文章,我认为都会对大家有所帮助。
今天在整理这些文章的时候,忽然发现,原来这么久了,我居然写了这么多的文章,甚是感慨。
感谢你们,陪伴了我这么久!~
历史文章分类导航
mikeche……继续阅读 »
陈睿
2年前 (2018-10-25) 26243浏览 6评论
47个赞
服务器集群:
1.集群概念
集群就是一组相互独立的计算机,通过高速的网络组成一个计算机系统。服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。
2.集群的特点和优势
1)高性能
比如上千台服务器同时计算运行,远大于单机的运行效率。
2)性价比优势
……继续阅读 »
陈睿
2年前 (2018-10-25) 4458浏览 0评论
9个赞
蚂蚁金服一面:
1 自我介绍
2 讲一下ArrayList和linkedlist的区别,ArrayList的扩容方式,扩容时机。
3 hashmap的实现,以及hashmap扩容底层实现。
4 NIO了解么,讲一下和BIO的区别,AIO呢。阻塞,非阻塞,异步。具体。
5 你说了解分布式服务,那么你怎么理……继续阅读 »
陈睿
2年前 (2018-10-24) 3196浏览 0评论
5个赞
架构师进阶有一块很重要的内容,就是需要掌握大数据的架构设计,主要涵括:
MySQL等关系式数据库,需要掌握数据库的索引、慢SQL、以及长事务的优化等。
需要掌握非关系式数据库(NoSQL)的选型,以及使用场景,以及与MySQL等的优劣势比较等。
分布式数据的一致性等问题,以及分布式事务。
考……继续阅读 »
陈睿
2年前 (2018-10-24) 4585浏览 0评论
4个赞
为什么需要线程池
我们有两种常见的创建线程的方法,一种是继承Thread类,一种是实现Runnable的接口,Thread类其实也是实现了Runnable接口。但是我们创建这两种线程在运行结束后都会被虚拟机销毁,如果线程数量多的话,频繁的创建和销毁线程会大大浪费时间和效率,更重要的是浪费内存。那么有没有一种方法能让线程运行完后不立即销毁,而是让线程重复使用,继续执行其他的任……继续阅读 »
陈睿
2年前 (2018-10-20) 9255浏览 2评论
20个赞
很多同学对于高并发总是讳莫如深,今天主要谈谈高并发需要掌握的技术集,文末有高并发技术资料~
高并发、多线程
1.高并发
高并发是请求,指的是多个客户端同一时刻向服务端发送请求, 它是一种现象。
比如,在双11凌晨12:00分同时有10万个下单请求。
高并发标准:
高并发用户数
TP……继续阅读 »
陈睿
2年前 (2018-10-19) 5321浏览 2评论
16个赞
内容大纲:
1.介绍Restful、SOAP、RPC、SOA以及微服务
2.重点谈谈SOA与微服务的区别
3.以及为什么要使用微服务架构
什么是Restful
Restful是一种架构设计风格,提供了设计原则和约束条件,而不是架构,而满足这些约束条件和原则的应用程序或设计就是 Res……继续阅读 »
陈睿
2年前 (2018-10-18) 12209浏览 1评论
15个赞
什么是Spring Cloud
Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。
为什么需要Spring Cloud
Spring Cloud 是整个 Spring 家族中新的成员,要致力于分布式系统、云……继续阅读 »
陈睿
2年前 (2018-10-17) 6421浏览 1评论
12个赞
什么是 Zookeeper
Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:
统一命名服务
状态同步服务
集群管理
分布式应用配置项的管理等
Zookeeper已经成为Hadoo……继续阅读 »
陈睿
2年前 (2018-10-16) 4173浏览 2评论
7个赞
分布式数据层中间件:
1.简介:
分布式数据访问层中间件,旨在为供一个通用数据访问层服务,支持MySQL动态数据源、读写分离、分布式唯一主键生成器、分库分表、动态化配置等功能,并且支持从客户端角度对数据源的各方面(比如连接池、SQL等)进行监控,后续考虑支持NoSQL、Cache等多种数据源。
2.功能特性
动态数……继续阅读 »
陈睿
2年前 (2018-10-14) 4051浏览 0评论
9个赞
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。
我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少……继续阅读 »
陈睿
2年前 (2018-10-13) 5939浏览 3评论
14个赞
网络编程
ISO模型与协议
http1.0:需要使用keep-alive参数来告知服务器端要建立一个长连接
http1.1:默认长连接。支持只发送header信息,可以用作权限请求。支持Host域。
http2.0:多路复用的技术,做到同一个连接并发处理多个请求。HTTP2.0使用HPACK算法对……继续阅读 »
陈睿
2年前 (2018-10-11) 6674浏览 19评论
14个赞
Dubbo面试题锦集
1、默认也推荐使用netty框架,还有mina。
2、默认是阻塞的,可以异步调用,没有返回值的可以这么做。
3、推荐使用zookeeper注册中心,还有redis等不推荐。
4、默认使用Hessian序列化,还有Duddo、FastJson、Java自带序列化。
5、服务失效踢出基于z……继续阅读 »
陈睿
2年前 (2018-10-11) 4479浏览 0评论
0个赞
1、Java基础技术体系掌握牢固:
JVM内存分配
垃圾回收
类装载机制
JVM性能优化
反射机制
多线程
网络编程
常用数据结构和相关算法
2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用……继续阅读 »
陈睿
2年前 (2018-10-10) 2753浏览 2评论
18个赞
以下将分别从Quartz架构简介、集群部署实践、Quartz监控、集群原理分析详解Quartz任务调度框架。
Quartz简介
Quartz是Java领域最著名的开源任务调度工具,是一个任务调度框架,通过触发器设置作业的定时运行规则,来执行定时任务。其中quartz集群通过故障切换和负载平衡的功能,能给调度器带来高可用性和伸缩性。
Q……继续阅读 »
陈睿
2年前 (2018-10-10) 3754浏览 0评论
3个赞
Docker容器
阿里P8架构师谈:Docker简介、组成架构、使用步骤、以及生态产品
阿里P8架构师谈:Docker容器的原理、特征、基本架构、与应用场景
消息中间件
阿里P8架构师谈:消息中间件介绍、典型使用场景、以及使用原则
阿里P8架构师谈:分布式消息K……继续阅读 »
陈睿
2年前 (2018-10-09) 5117浏览 2评论
10个赞
web前端性能优化
Web前端指网站业务逻辑之前的部分,包括:
1.浏览器加载
2.网站视图模型
3.图片服务
4.CDN服务等
主要优化手段有优化浏览器访问,使用反向代理,CDN等。
1.浏览器访问优化
(1)减少http请求
HTTP协议是无状态的应用层协议,意味……继续阅读 »
陈睿
2年前 (2018-10-09) 3554浏览 0评论
6个赞
本文主要围绕微服务的技术选型、通讯协议、服务依赖模式、开始模式、运行模式等几方面来综合比较Dubbo和Spring Cloud 这2种开发框架。架构师可以根据公司的技术实力并结合项目的特点来选择某个合适的微服务架构平台,以此稳妥地实施项目的微服务化改造或开发进程。
微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协……继续阅读 »
陈睿
2年前 (2018-10-09) 9530浏览 1评论
21个赞
1.什么是微服务
1)一组小的服务(大小没有特别的标准,只要同一团队的工程师理解服务的标识一致即可)
2)独立的进程(java的tomcat,nodejs等)
3)轻量级的通信(不是soap,是http协议)
4)基于业务能力(类似用户服务,商品服务等等)
5)独立部署(迭代速度快)
6)无集中式管理(无须统……继续阅读 »
陈睿
2年前 (2018-10-09) 4531浏览 0评论
4个赞
Docker简介
Docker是DotCloud开源的、可以将任何应用包装在Linux container中运行的工具。
Docker基于Go语言开发,代码托管在Github上,目前超过10000次commit。
基于Docker的沙箱环境可以实现轻型隔离,多个容器间不会相互影响;Docker可以自动化打包和部署任何应用,方便地……继续阅读 »
陈睿
2年前 (2018-10-09) 3672浏览 0评论
2个赞
数据拆分前其实是要首先做准备工作的,然后才是开始数据拆分,我先讲拆分前需要做的事情:
第一步:采用分布式缓存redis、memcached等降低对数据库的读操作。
第二步:如果缓存使用过后,数据库访问量还是非常大,可以考虑数据库读、写分离原则。
第三步:当我们使用读写分离、缓存后,数据库的压力还是很大的时候,这就需要使用到数据库拆……继续阅读 »
陈睿
2年前 (2018-10-06) 3687浏览 1评论
13个赞
分布式锁的几种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。
分布式的CAP理论告诉我们,任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。
所以,很多系统在设计……继续阅读 »
陈睿
2年前 (2018-10-06) 6455浏览 2评论
12个赞
Java并发编程实战 (java并发的圣经)
多处理器编程的艺术 (并发编程的各种算法,java实现,有点难度)
并发的艺术 (多核处理器的共享内存模型中的各种算法)
Java虚拟机并发编程 (jvm平台上各种语言的并发比较,如java,scala,clojure)
Jav……继续阅读 »
陈睿
2年前 (2018-10-06) 6108浏览 0评论
2个赞
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。
因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的……继续阅读 »
陈睿
2年前 (2018-10-04) 4649浏览 0评论
7个赞