![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java面试
OdadaPlus
这个作者很懒,什么都没留下…
展开
-
在多线程环境下操作集合如何确保其安全性
我们知道ArrayList是线程不安全的,当高并发环境下如何兼顾性能和线程安全呢?直接上代码:/** * @author: dada * @date: 2020/12/18 * @description: 不安全的案例ArrayList */public class NoSafeArrayListDemo { public static void main(String[] args) { //List<String> list = new Array原创 2020-12-18 16:54:53 · 234 阅读 · 3 评论 -
多线程使用CAS引发的ABA问题的案例
(之前被面试官问起多线程CAS相关问题时,亿脸懵逼,赶紧恶补一下。)概念: CAS是compare and swap的缩写,即比较与交换。就是你修改主内存中的值时先要比对之前的值,如果相同那么就修改。或者这么理解: 它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的。CAS底层原理 CAS如何实现?unsafe.getAndAddInt原理总结CAS: CAS(CompareAndSwap) 比较当前工作内存种的值和主内存种的值,如果相同.原创 2020-12-18 12:28:19 · 362 阅读 · 0 评论 -
分布式事务解决方案之四:最大努力通知
(自学笔记)--------------------6.1.什么是最大努力通知 最大努力通知也是一种解决分布式事务的方案,下边是一个是充值的例子: 交互流程: 1、账户系统调用充值系统接口 2、充值系统完成支付处理向账户系统发起充值结果通知若通知失败,则充值系统按策略进行重复通知 3、账户系统接收到充值结果通知修改充值状态。 4、账户系统未接收到通知会主动调用充值系统的接口查询充值结果。 通过上边的例子我们总结最大努力通知方案的目标: 目标:..原创 2020-12-15 21:22:33 · 366 阅读 · 0 评论 -
分布式事务解决方案之三:可靠消息最终一致性
(自学笔记)----------------------5.1.什么是可靠消息最终一致性事务 可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能 够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。 此方案是利用消息中间件完成,如下图: 事务发起方(消息生产方)将消息发给消息中间件,事务参与方从消息中间件接收消息,事务发起方和消息中间件 之间,事务参与方(消息消费方)和消息中间件之间都是通过网络通信原创 2020-12-15 21:16:48 · 131 阅读 · 0 评论 -
多线程按序打印如何实现?
1、题目编写一个程序,开启 3 个线程,这 3 个线程的 ID 分别为 A、B、C,3 个线程交替打印 1-100 的整数,样例 Sample:Thread1:1Thread2:2Thread3:3Thread1:4Thread2:5Thread3:6....Thread3:99Thread1:100大家可以先思考一下,试试看看能否实现?2、解题思路题目中要求 3 个线程启动之后,需要按顺序一个接着一个来执行,重点是 3 个线程都处于运行状态,如何能让他们按顺序来打印转载 2020-11-28 22:10:32 · 308 阅读 · 0 评论 -
Redis面试2020
Redis 持久化机制Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。RDB是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。即S转载 2020-11-28 21:02:57 · 158 阅读 · 0 评论 -
SpringMVC-常见面试总结
1、什么是Spring MVC ?简单介绍下你对springMVC的理解?Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。2、SpringMVC的流程?(1)用户发送请...转载 2019-03-28 22:07:38 · 180 阅读 · 0 评论 -
spring最全面试总结
1、Spring是什么?Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。主要由以下几个模块组成:Spring Core:核心类库,提供IOC服务;Spring Context:提...转载 2019-03-28 18:17:24 · 146 阅读 · 0 评论 -
Mybatis常见面试总结
1、什么是Mybatis?(1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。(2)MyBatis 可以使用XML 或注解来配置和映射原生信息,将POJO映射成数据库中的记录,避免了几乎所...转载 2019-03-28 16:45:34 · 148 阅读 · 0 评论 -
java基础面试-最全(一)
同步异步阻塞非阻塞同步与异步 实际上同步与异步是针对应用程序与内核的交互而言的。同步过程中进程触发IO操作并等待或者轮询的去查看IO操作是否完成。异步过程中进程触发IO操作以后,直接返回,做自己的事情,IO交给内核来处理,完成后内核通知进程IO完成。同步与异步如下图所示:阻塞与非阻塞 简单理解为需要做一件事能不能立即得到返回应答,如果不能立即获得返回,需要等待,那就阻塞了,否则...转载 2019-03-27 13:48:52 · 169 阅读 · 0 评论 -
作为服务注册中心 Eureka比zookeeper好在哪?
Ps:CAP原则,只能满足其二, C:Consistency强一致性 A:Availability可用性 P:Partition tolerance 分区容错性一个分布式系统不可能同时满足CAP,由于分区容错性p是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。Eureka 遵守AP原则Zookeeper遵守CP原则Zoo...原创 2019-03-29 18:09:44 · 235 阅读 · 0 评论 -
redis分布式开发的使用
文章内容提要:本文围绕以下几点进行阐述1、为什么使用redis2、使用redis有什么缺点3、单线程的redis为什么这么快4、redis的数据类型,以及每种数据类型的使用场景5、redis的过期策略以及内存淘汰机制6、redis和数据库双写一致性问题7、如何应对缓存穿透和缓存雪崩问题8、如何解决redis的并发竞争问题正文1、为什么使用redis分析:博主觉得在项...转载 2019-03-11 17:22:20 · 155 阅读 · 0 评论 -
Java序列化的几种方式以及序列化的作用
本文着重讲解一下Java序列化的相关内容。如果对Java序列化感兴趣的同学可以研究一下。一.Java序列化的作用 有的时候我们想要把一个Java对象变成字节流的形式传出去,有的时候我们想要从一个字节流中恢复一个Java对象。例如,有的时候我们想要把一个Java对象写入到硬盘或者传输到网路上面的其它计算机,这时我们就需要自己去通过java把相应的对象写成转换成字节流。对于这种通用...转载 2019-03-09 10:59:55 · 137 阅读 · 0 评论 -
equals()方法和"=="运算符比较
一、equals()方法和"=="运算符比较(一)equals()超类Object中有这个方法equals()方法,该方法主要用于比较两个对象是否相等。源码如下: public boolean equals(Object obj){ return(this == obj);} 所有对象都拥有标识符(内存地址)和数据,同时"=="比较两个对象的内存地址,所有说使用Ob...原创 2019-02-11 10:10:28 · 349 阅读 · 0 评论 -
2018我的面试题总结
今年4月初找工作,方向java后端开发,坐标深圳。面试了约15次,拿到4个offer,每次面试后的总结。1、 springmvc原理 2、 jsp隐式对象3、 servlet生命周期4、 shiro表设计5、 springioc原理6、 hashset、hashmap、hashtable7、 归并排序 8、 Webservice9、 二叉树10、 sql优化11、 AOP12、 数据库表设计13、...原创 2018-05-05 22:11:57 · 364 阅读 · 0 评论