之前谈过多线程相关的4种常用Java线程锁的特点,性能比较、使用场景,今天主要分享线程池相关的内容,这些都是属于Java面试的必考点。
为什么需要线程池
java中为了提高并发度,可以使用多线程共同执行,但是如果有大量线程短时间之内被创建和销毁,会占用大量的系统时间,影响系统效率。
为了解决上面的问题,java中引入了线程池,可以使创建好的线程在指定……继续阅读 »
陈睿
2年前 (2018-11-08) 6371浏览 0评论
16个赞
一面
1、HashMap底层原理?HashTable和ConcurrentHashMap他们之间的相同点和不同点?
2、由上题提到锁的问题
3、MySQL的表锁&行锁&乐观锁&悲观锁,各自的使用场景
4、Java线程锁有哪些,各自的优劣势
5、事务四大特性
6、事务的二段……继续阅读 »
陈睿
2年前 (2018-11-08) 4235浏览 0评论
1个赞
多线程的缘由
在出现了进程之后,操作系统的性能得到了大大的提升。虽然进程的出现解决了操作系统的并发问题,但是人们仍然不满足,人们逐渐对实时性有了要求。
使用多线程的理由之一是和进程相比,它是一种非常花销小,切换快,更"节俭"的多任务操作方式。
在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立……继续阅读 »
陈睿
2年前 (2018-11-07) 14219浏览 1评论
25个赞
1.什么是spring?
Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。
2.使用Spring框架的好处是什么?
轻量:……继续阅读 »
陈睿
2年前 (2018-11-06) 9370浏览 0评论
38个赞
蚂蚁中间件一面:
自我介绍
JVM垃圾回收算法和垃圾回收器有哪些,最新的JDK采用什么算法。
新生代和老年代的回收机制。
讲一下ArrayList和linkedlist的区别,ArrayList与HashMap的扩容方式。
Concurrenthashmap1.8后的改动……继续阅读 »
陈睿
2年前 (2018-11-06) 4937浏览 0评论
2个赞
直通BAT之JVM系列
直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结
直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置
今天继续JVM的垃圾回收器详解,如果说垃圾收集算法是JVM内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。
常见的垃……继续阅读 »
陈睿
2年前 (2018-11-05) 8472浏览 4评论
25个赞
分布式架构
阿里P8架构师谈:淘宝技术架构从1.0到4.0的架构变迁
优知学院」淘宝技术架构的前世今生(上)
优知学院」淘宝架构的前世今生(下)
揭秘:一位亲历者眼中的淘宝技术架构发展之路
淘宝发展历程最具决定性的一次技术架构演变
大型网站架构设计谈过了多期,本篇大部分内容来源与大型网站技术架构这本书,算是大……继续阅读 »
陈睿
2年前 (2018-11-05) 2964浏览 0评论
10个赞
一面
详细的介绍JVM的内存模型结构
JVM最常用的参数配置讲讲
GC垃圾收集算法、GC垃圾收集器有哪些,以及新生代老生代 分别用什么算法
多线程的几种加锁方式详细介绍
实现线程安全的方式?ThreadLocal原理?线程池了解吗说说看?自己用线程池怎么定参数? ……继续阅读 »
陈睿
2年前 (2018-11-02) 2062浏览 0评论
3个赞
天猫一面
自我介绍、项目介绍
Spring拦截器、实现了哪些方法?底层原理
AOP如何配置,底层原理、2种动态代理,aop注解实现,xml定义切面
Bean的作用域,单例模式是否线程安全?恶汉模式是否线程安全?bean如何结束生命周期?
Spring事务种类,如何回滚,A方法调……继续阅读 »
陈睿
2年前 (2018-11-02) 3705浏览 0评论
2个赞
BAT必考JVM系列专题
直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置
垃圾回收算法
1.标记清除
标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。
在标记阶段首先通过根节点(GC Roots),标记所……继续阅读 »
陈睿
2年前 (2018-11-01) 8999浏览 0评论
20个赞
JVM基本是BAT面试必考的内容,今天我们先从JVM内存模型开启详解整个JVM系列,希望看完整个系列后,可以轻松通过BAT关于JVM的考核。
BAT必考JVM系列专题
1.JVM内存模型
2.JVM垃圾回收算法
3.JVM垃圾回收器
4.JVM参数详解
5.JV……继续阅读 »
陈睿
2年前 (2018-10-31) 10634浏览 2评论
43个赞
什么是分布式系统唯一ID
在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。
如在金融、电商、支付、等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求,此时一个能够生成全局唯一ID的系统是非常必要的。
分布式系统唯一ID的特点
……继续阅读 »
陈睿
2年前 (2018-10-31) 8137浏览 1评论
8个赞
性能优化专题
阿里P8架构师谈:MySQL数据库的索引原理、与慢SQL优化的5大原则
阿里P8架构师谈:Web前端、应用服务器、数据库SQL等性能优化总结
大型网站Web前端优化最佳实践,以及最全优化工具集锦
阿里P8架构师谈:多线程、架构、异步消息、Redis等性能优化策略
性能问题简介
……继续阅读 »
陈睿
2年前 (2018-10-30) 2899浏览 1评论
2个赞
阿里技术一面
自我介绍
Java中多态是怎么实现的
Java中的几种锁
数据库隔离级别 脏读 幻读 ACID mysql的隔离级别
mysql索引实现,如何解决慢查询
数据库锁是怎么实现的
死锁的条件,进程和线程区别
……继续阅读 »
陈睿
2年前 (2018-10-28) 2958浏览 0评论
3个赞
后端优化的六种方法:
1.硬件升级
硬件问题对性能的影响不容忽视。
举一个例子:一个DB集群经常有慢SQL报警,业务排查下来发现SQL都很简单,该做的索引优化也都做了。后来DBA同学帮忙定位到问题是硬件过旧导致,将机械硬盘升级成固态硬盘之后报警立马消失了,效果立竿见影!
2.缓存化
缓存可以称的上是性能……继续阅读 »
陈睿
2年前 (2018-10-26) 4999浏览 1评论
10个赞
Hi 大家好,我是陈睿|mikechen,这是优知学院的所有文章集合,专门整理这个页面,希望会对大家在浏览感兴趣文章的时候,能有更好的帮助!
这些文章的呈现,并不是按照时间轴来排序,无论是新旧文章,我认为都会对大家有所帮助。
今天在整理这些文章的时候,忽然发现,原来这么久了,我居然写了这么多的文章,甚是感慨。
感谢你们,陪伴了我这么久!~
历史文章分类导航
mikeche……继续阅读 »
陈睿
2年前 (2018-10-25) 26281浏览 6评论
47个赞
服务器集群:
1.集群概念
集群就是一组相互独立的计算机,通过高速的网络组成一个计算机系统。服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。
2.集群的特点和优势
1)高性能
比如上千台服务器同时计算运行,远大于单机的运行效率。
2)性价比优势
……继续阅读 »
陈睿
2年前 (2018-10-25) 4468浏览 0评论
9个赞
蚂蚁金服一面:
1 自我介绍
2 讲一下ArrayList和linkedlist的区别,ArrayList的扩容方式,扩容时机。
3 hashmap的实现,以及hashmap扩容底层实现。
4 NIO了解么,讲一下和BIO的区别,AIO呢。阻塞,非阻塞,异步。具体。
5 你说了解分布式服务,那么你怎么理……继续阅读 »
陈睿
2年前 (2018-10-24) 3198浏览 0评论
5个赞
架构师进阶有一块很重要的内容,就是需要掌握大数据的架构设计,主要涵括:
MySQL等关系式数据库,需要掌握数据库的索引、慢SQL、以及长事务的优化等。
需要掌握非关系式数据库(NoSQL)的选型,以及使用场景,以及与MySQL等的优劣势比较等。
分布式数据的一致性等问题,以及分布式事务。
考……继续阅读 »
陈睿
2年前 (2018-10-24) 4594浏览 0评论
4个赞
为什么需要线程池
我们有两种常见的创建线程的方法,一种是继承Thread类,一种是实现Runnable的接口,Thread类其实也是实现了Runnable接口。但是我们创建这两种线程在运行结束后都会被虚拟机销毁,如果线程数量多的话,频繁的创建和销毁线程会大大浪费时间和效率,更重要的是浪费内存。那么有没有一种方法能让线程运行完后不立即销毁,而是让线程重复使用,继续执行其他的任……继续阅读 »
陈睿
2年前 (2018-10-20) 9278浏览 2评论
20个赞
很多同学对于高并发总是讳莫如深,今天主要谈谈高并发需要掌握的技术集,文末有高并发技术资料~
高并发、多线程
1.高并发
高并发是请求,指的是多个客户端同一时刻向服务端发送请求, 它是一种现象。
比如,在双11凌晨12:00分同时有10万个下单请求。
高并发标准:
高并发用户数
TP……继续阅读 »
陈睿
2年前 (2018-10-19) 5327浏览 2评论
16个赞
内容大纲:
1.介绍Restful、SOAP、RPC、SOA以及微服务
2.重点谈谈SOA与微服务的区别
3.以及为什么要使用微服务架构
什么是Restful
Restful是一种架构设计风格,提供了设计原则和约束条件,而不是架构,而满足这些约束条件和原则的应用程序或设计就是 Res……继续阅读 »
陈睿
2年前 (2018-10-18) 12227浏览 1评论
15个赞
什么是Spring Cloud
Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。
为什么需要Spring Cloud
Spring Cloud 是整个 Spring 家族中新的成员,要致力于分布式系统、云……继续阅读 »
陈睿
2年前 (2018-10-17) 6436浏览 1评论
12个赞
什么是 Zookeeper
Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:
统一命名服务
状态同步服务
集群管理
分布式应用配置项的管理等
Zookeeper已经成为Hadoo……继续阅读 »
陈睿
2年前 (2018-10-16) 4179浏览 2评论
7个赞
分布式数据层中间件:
1.简介:
分布式数据访问层中间件,旨在为供一个通用数据访问层服务,支持MySQL动态数据源、读写分离、分布式唯一主键生成器、分库分表、动态化配置等功能,并且支持从客户端角度对数据源的各方面(比如连接池、SQL等)进行监控,后续考虑支持NoSQL、Cache等多种数据源。
2.功能特性
动态数……继续阅读 »
陈睿
2年前 (2018-10-14) 4056浏览 0评论
9个赞
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。
我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少……继续阅读 »
陈睿
2年前 (2018-10-13) 5945浏览 3评论
14个赞
网络编程
ISO模型与协议
http1.0:需要使用keep-alive参数来告知服务器端要建立一个长连接
http1.1:默认长连接。支持只发送header信息,可以用作权限请求。支持Host域。
http2.0:多路复用的技术,做到同一个连接并发处理多个请求。HTTP2.0使用HPACK算法对……继续阅读 »
陈睿
2年前 (2018-10-11) 6685浏览 19评论
14个赞
Dubbo面试题锦集
1、默认也推荐使用netty框架,还有mina。
2、默认是阻塞的,可以异步调用,没有返回值的可以这么做。
3、推荐使用zookeeper注册中心,还有redis等不推荐。
4、默认使用Hessian序列化,还有Duddo、FastJson、Java自带序列化。
5、服务失效踢出基于z……继续阅读 »
陈睿
2年前 (2018-10-11) 4483浏览 0评论
0个赞
1、Java基础技术体系掌握牢固:
JVM内存分配
垃圾回收
类装载机制
JVM性能优化
反射机制
多线程
网络编程
常用数据结构和相关算法
2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用……继续阅读 »
陈睿
2年前 (2018-10-10) 2756浏览 2评论
18个赞
以下将分别从Quartz架构简介、集群部署实践、Quartz监控、集群原理分析详解Quartz任务调度框架。
Quartz简介
Quartz是Java领域最著名的开源任务调度工具,是一个任务调度框架,通过触发器设置作业的定时运行规则,来执行定时任务。其中quartz集群通过故障切换和负载平衡的功能,能给调度器带来高可用性和伸缩性。
Q……继续阅读 »
陈睿
2年前 (2018-10-10) 3758浏览 0评论
3个赞