标签:Java
-
Java虚拟机:JVM内存模型和volatile详解
JVM内存模型和volatile详解 Java内存模型 随着计算机的CPU的飞速发展,CPU的运算能力已经远远超出了从主内存(运行内存)中读取的数据的能力,为了解决这个问题,CPU…
-
Java虚拟机:怎么确定对象已经死了?
怎么确定对象已经死了? 怎么确定对象已经死了?怎么确定一个对象已经死了? 引用计数算法 给对象中添加一个引用计数器,每当有个地方引用它,计数器值就加1,引用失效,计数器减1,任何时…
-
Java并发编程:线程封闭和ThreadLocal详解
什么是线程封闭 当访问共享变量时,往往需要加锁来保证数据同步。一种避免使用同步的方式就是不共享数据。如果仅在单线程中访问数据,就不需要同步了。这种技术称为线程封闭。在Java语言中…
-
Java虚拟机:虚拟机类加载机制
虚拟机类加载机制 代码编译的结果从本地机器码转变成字节码,是存储格式发展的一小步,确是编程语言发展的一大步。 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换…
-
17-Java中级面试题进阶(十七)- Dubbo篇
1、测试和生产共用一套zookeeper,怎么保证消费不冲突 ? 方案1:服务发布的group设置为不同; <dubbo:reference id="comm1&q…
-
16-Java中级面试题进阶(十六)- 设计模式篇
1.单例设计模式 使用设计模式为了代码复用,增加可维护性。 设计模式的六大原则:开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、迪米特法则(最少知道原则)、合成/聚合复用原则 …
-
15-Java中级面试题进阶(十五)-基础篇
1. Java集合类的总结 1、Iterator:Collection(值)、Map(键值对); 2、Collection:Set(无序不重复)、List(有序可重复)、Queue…
-
14-Java中级面试题进阶(十四)-Netty篇
1.BIO、NIO和AIO的区别? BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。 伪异步IO:将请求连接放入线程池,一对多,但线程还…
-
13-Java中级面试题进阶(十三)-Liunx篇
1.查看内核 uname -a 2.查看系统调用列表 man 2 syscalls 3.查看系统调用说明 man 2 acct #man 2 系统调用 3 是公共库函数 4.常用指…
-
12-Java中级面试题进阶(十二)-分布式锁篇
引言 为什么要使用分布式锁?为了保证一个方法在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如Reentrant…
-
11-Java中级面试题进阶(十一)-RabbitMQ篇
1. RabbitMQ 的使用场景有哪些? 抢购活动,削峰填谷,防止系统崩塌。 延迟信息处理,比如 10 分钟之后给下单未付款的用户发送邮件提醒。 解耦系统,对于新增的功能可以单独…
-
10-Java中级面试题进阶(十)-Zookeeper篇
1. zookeeper 是什么? zookeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 google chubby 的开源实现,是 hadoop 和 hbas…
-
09-Java中级面试题进阶(九)-Mysql篇
1. 数据库的三范式是什么? 第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。 第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖…
-
08-Java中级面试题进阶(八)-Redis篇
1. Redis 是什么?都有哪些使用场景? 我们先来理解经典的CAP理论: 一致性:是指从数据层面来看的一致性。 可用性:是指从系统层面的可用性。 容错性:是指从网络层面的的容错…
-
07-Java中级面试题进阶(七)-jvm篇
1. 说一下 JVM 的主要组成部分?及其作用? 类加载器(ClassLoader) 运行时数据区(Runtime Data Area) 执行引擎(Execution Engine…
-
06-Java中级面试题进阶(六)-jvm篇
1. 说一下 JVM 有哪些垃圾回收算法? 标记-清除算法:标记无用对象,然后进行清除回收。缺点:效率不高,无法清除垃圾碎片。 标记-整理算法:标记无用对象,让所有存活的对象都向一…
-
04-Java中级面试题进阶(四)-多线程篇
1.为什么要使用线程池 避免频繁地创建和销毁线程,达到线程对象的重用。另外,使用线程池还可以根据项目灵活地控制并发的数目。 2.java中如何获取到线程dump文件 死循环、死锁、…
-
03-Java中级面试题进阶(三)SpringMVC篇
1. 什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring …
-
02-Java中级面试题进阶(二)-SpringCloud篇
1. 什么是 spring cloud? spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务…