Java面试
文章平均质量分 83
心猿码意
专注于Java技术领域和毕业设计,你的支持是我分享的动力,更多毕业设计项目,深入学习项目,敬请期待。
展开
-
《Java核心技术面试精讲》学习笔记之Java应用开发扩展
第36讲:谈谈 MySQL 支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景? 所谓隔离级别(Isolation Level),就是在数据库事务中,为保证并发数据读写的正确性而提出的定义,它并不是 MySQL 专有的概念,而是源于ANSI/ISO制定的SQL-92标准。 每种关系型数据库都提供了各自特色的隔离级别实现,虽然在通常的定义中是以锁为实现单元,但实际的实现千差万别。以最常见的 MySQL InnoDB 引擎为例,它是基于 MVCC(Multi-Versioning Concurrency C原创 2021-11-04 20:10:32 · 266 阅读 · 0 评论 -
《Java核心技术面试精讲》学习笔记之Java性能基础
第33讲:后台服务出现明显“变慢”,谈谈你的诊断思路? 首先,需要对这个问题进行更加清晰的定义: 服务是突然变慢还是长时间运行后观察到变慢?类似问题是否重复出现? “慢”的定义是什么,我能够理解是系统对其他方面的请求的反应延时变长吗? 第二,理清问题的症状,这更便于定位具体的原因,有以下一些思路: 问题可能来自于 Java 服务自身,也可能仅仅是受系统里其他服务的影响。初始判断可以先确认是否出现了意外的程序错误,例如检查应用本身的错误日志。 对于分布式系统,很多公司都会实现更加系统的日志原创 2021-11-04 15:29:10 · 318 阅读 · 0 评论 -
《Java核心技术面试精讲》学习笔记之Java安全基础
第31讲:了解 Java 应用开发中的注入攻击吗? 注入式(Inject)攻击是一类非常常见的攻击方式,其基本特征是程序允许攻击者将不可信的动态内容注入到程序中,并将其执行,这就可能完全改变最初预计的执行过程,产生恶意效果。 下面是几种主要的注入式攻击途径,原则上提供动态执行能力的语言特性,都需要提防发生注入攻击的可能。 首先,就是最常见的 SQL 注入攻击。一个典型的场景就是 Web 系统的用户登录功能,根据用户输入的用户名和密码,我们需要去后端数据库核实信息。 假设应用逻辑是,后端程序利用界面输入动态生原创 2021-11-04 15:01:51 · 233 阅读 · 0 评论 -
《Java核心技术面试精讲》学习笔记之Java进阶
第15讲:synchronized 和 ReentrantLock 有什么区别?有人说 synchronized 最慢,这话靠谱吗? synchronized 是 Java 内建的同步机制,所以也有人称其为 Intrinsic Locking,它提供了互斥的语义和可见性,当一个线程已经获取当前锁时,其他试图获取的线程只能等待或者阻塞在那里。 在 Java 5 以前,synchronized 是仅有的同步手段,在代码中, synchronized 可以用来修饰方法,也可以使用在特定的代码块儿上,本质上 syn原创 2021-11-04 11:04:05 · 549 阅读 · 0 评论 -
《Java核心技术面试精讲》学习笔记之java基础
第1讲:谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗? Java 本身是一种面向对象的语言,最显著的特性有两个方面,一是所谓的“书写一次,到处运行”(Write once, run anywhere),能够非常容易地获得跨平台能力;另外就是垃圾收集(GC, Garbage Collection),Java 通过垃圾收集器(Garbage Collector)回收分配内存,大部分情况下,程序员不需要自己操心内存的分配和回收。 我们日常会接触到 JRE(Java Runtime Env原创 2021-11-01 14:38:01 · 434 阅读 · 0 评论