欢迎您的访问
专注架构,Java,数据结构算法,Python技术分享

Java面试 第12页

Synchronized实现对象锁的两种方式以及它的原理

站长阅读(460)赞(0)

一.同步代码块锁 案例:通过同步代码块锁,实现两个线程对同一个全局变量count,各自执行1万次count++,验证结果是否等于2万,而不会出现小于2万的情况。 完整代码实现: public class SynchronizeCodeBlo...

口气说出 Synchronized 同步方法的八种使用场景

站长阅读(328)赞(0)

简介 本文将介绍7种同步方法的访问场景,我们来看看着七种情况下,多线程访问同步方法是否还是线程安全的。这些场景是多线程编程中经常遇到的,而且也是面试时高频被问到的问题,所以不管是理论还是实践,这些都是多线程场景必须要掌握的场景。 八种使用场...

出现几率比较大的Redis面试题

站长阅读(553)赞(0)

本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型...

delete、truncate、drop的区别有哪些,该如何选择

站长阅读(402)赞(0)

上周同事小姐姐问我:“哈哥你看,我发现MySQL有bug,我下午为了清理磁盘,明明删除了100万条MySQL数据,磁盘不仅没有变小,反而更满了呢??” 那你是怎么删除的? “delete from table 呀” “怪不得,其实要删除My...

delete后加 limit是个好习惯么

站长阅读(398)赞(0)

在业务场景要求高的数据库中,对于单条删除和更新操作,在delete和update后面加limit 1绝对是个好习惯。比如,在删除执行中,第一条就命中了删除行,如果SQL中有limit 1;这时就return了,否则还会执行完全表扫描才ret...

MQ消息中间件,面试能问些什么?

站长阅读(417)赞(0)

为什么使用消息队列?消息队列的优点和缺点?kafka、activemq、rabbitmq、rocketmq都有什么优缺点? 面试官角度分析: (1)你知不知道你们系统里为什么要用消息队列这个东西? (2)既然用了消息队列这个东西,你知不知道...

SOA架构和微服务架构的区别

站长阅读(495)赞(0)

1.SOA架构和微服务架构的区别 首先SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件。 1.SOA(Service Oriented Architecture)...

线程池中多余的线程是如何回收的?

站长阅读(367)赞(0)

最近阅读了JDK线程池ThreadPoolExecutor的源码,对线程池执行任务的流程有了大体了解,实际上这个流程也十分通俗易懂,就不再赘述了,别人写的比我好多了。 不过,我倒是对线程池是如何回收工作线程比较感兴趣,所以简单分析了一下,加...

如何利用装饰者模式在不改变原有对象的基础上扩展功能

站长阅读(467)赞(0)

什么是装饰者模式 装饰者模式(DecoratorPattern)是指在不改变原有对象的基础之上,将功能附加到对 象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式。 装饰者模式在生活中也有很多形象的例子,比如说给蛋糕...

Redis第三方jar没有封装的命令该怎么执行?

站长阅读(387)赞(0)

今天对redis的进阶操作给大家介绍一下,以及对于jedis和redisTemplate等工具包没有封装的命令我们该如何使用?相信大家读了本篇对redis的整体会有更深的认知。 一、Pipelin模式介绍 1、redis的通常使用方式 大多...