阿里Java架构师谈:2021年最新Java面试经历
第一家是美团美团的话,三面下来,设计的内容知识也是挺广的吧,有MySQL、Redis、Kafka、线程、算法、、volatile、线程、并发、设计模式等等...一面问题:MySQLRedisKafka线程算法mysql知道哪些存储引擎,它们的区别mysql索引在什么情况下会失效mysql在项目中的优化场景,慢查询解决等my
Wesley13 Wesley13
3年前
100 行写一个 go 的协程池 (任务池)
前言go的goroutine提供了一种较线程而言更廉价的方式处理并发场景,go使用二级线程的模式,将goroutine以M:N的形式复用到系统线程上,节省了cpu调度的开销,也避免了用户级线程(协程)进行系统调用时阻塞整个系统线程的问题。【1】但goroutine太多仍会导致调度性能下降、GC
Wesley13 Wesley13
3年前
Java高级面试必问:AQS 到底是什么?
前言JDK1.5以前只有synchronized同步锁,并且效率非常低,因此大神DougLea自己写了一套并发框架,这套框架的核心就在于AbstractQueuedSynchronizer类(即AQS),性能非常高,所以被引入JDK包中,即JUC。那么AQS是怎么实现的呢?本篇就是对AQS及其相关组件进行分析,了解其原理,并领略大神的优美而又精简
Wesley13 Wesley13
3年前
JAVA NIO non
Java自1.4以后,加入了新IO特性,NIO.号称newIO.NIO带来了nonblocking特性.这篇文章主要讲的是如何使用NIO的网络新特性,来构建高性能非阻塞并发服务器.文章基于个人理解,我也来搞搞NIO.,求指正.在NIO之前服务器还是在使用阻塞式的javasocket.以Tomcat最新版
Stella981 Stella981
3年前
2021金三银四必备:Java后端开发面试总结【25个技术专题】
前言小编分享的这份春招Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM、Redis、SpringMVC、MyBatis、MySQL数据库、消息中间件MQ、Dubbo、Linux、ZooKeeper、分布式&数据结构与算法等25个专题技术点,都是小编在各个大厂总结出来的面
Stella981 Stella981
3年前
Golang 果然是大杀器
已经将一个Service改成用Golang实现,效果非常好!这个Service的代码已经开源,GoTasks(http://git.oschina.net/janpoem/GoTasks)。Golang是我目前接触过的语言中,并发编程效率最高。node.js虽然也高,但是时间精准度上,就远远不如Golang了。一开始看了很多网上的教程,搞得乱七八
Stella981 Stella981
3年前
JVM回收器与调优
定义:使用编程语言将GC算法实现出来,产生的程序就是垃圾搜集器了JVM给了三种选择:串行收集器、并行收集器、并发收集器串行搜集器(serialcollector):它只有一条GC线程,且就像前面说的,它在运行的时候需要暂停用户程序(stoptheworld)。并行搜集器(parallelcollector):它有多
Wesley13 Wesley13
3年前
Java集合框架一览笔录
1、集合概念集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所以的集合类都位于java.util包下,后来为了处理多线程环境下的并发安全问题,java5还在java.util.concurrent包下提供了一些多线程支持的集合类。集合分为两大类:Collection、Map。Collection(集合),每个元素存储单个
Wesley13 Wesley13
3年前
Java ConcurrentHashMap存入引用对象时也是线程安全的
本人小白,看到资料说ConcurrentHashMap是线程安全的,get过程不需要加锁,put是线程安全的,推荐高并发时使用.但是本人不清楚是否该map中存入的引用类型对象,对象属性变化也是否线程安全的,看了很多资料,貌似都没说明这一点,所以写代码测试一下,packagetestConcurrentHashMap;importjava.util
【专项测试系列】-缓存击穿、穿透、雪崩专项测试
作者:刘须华一、背景概述: R2M缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。而缓存最常见的问题是缓存穿透、击穿和雪崩,在高并发下这三种情况都会有大量请求落到数据库,导致数据库资源占满,引起数据库故障。平时