
Java面试题
java面试
冥想者-定
缘起性空
展开
-
9\ JAVA 对象内存结构
HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。对象头markWord 用于存储对象自身的运行时数据, 如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等等,这部分数据的长度在32位和64位的虚拟机(暂 不考虑开启压缩指针的场...转载 2020-03-29 18:37:24 · 436 阅读 · 0 评论 -
8、NoClassDefFoundError 和 ClassNotFoundException 有什么区别?
classnotfoundexception当程序运行的过程中尝试使用类加载器去加载class文件的时候,如果没有在classpath中查找到指定的类,就会抛出classnotfoundexception。一般情况下,当我们使用 class.forname或者classloader.loadclass以及使用 classloader.findsystemclass在运行时加载类的时候,如果类没...转载 2020-03-29 15:11:32 · 495 阅读 · 0 评论 -
7、Exception和Error有什么区别?
exception 和 error都是继承了 throwable类,在java中只有 throwable类型的实例才可以被抛出 throw活着 捕获 catch,它是异常处理机制的基本组成类型,exception和error 体现了java平台设计者对不同异常情况的分类, exceptin是程序正常运行中,可以预料的意外情况, 可能并且应该被捕获,进行相应处理的。error是...转载 2020-03-28 23:26:35 · 609 阅读 · 0 评论 -
6、谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗?
典型回答: java本身是一种面向对象的语言,最显著的特性有两个方面,一试所谓的 书写一次,到处运行, write once ,run anywhere ,能够非常容易的获得跨平台能力, 另外就是垃圾回收 gc garbage collection, java通过垃圾回收机器,回收分配的内存。大部分情况下,程序员不需要自己操心内存的分配和回收。我们日常回接触 jre 活着 ...转载 2020-03-28 23:16:06 · 382 阅读 · 0 评论 -
5、设计模式分为 3 大类型共 23 种
创建型:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。最常见的设计模式有:单例模式、工厂模式、代理模式、构造者模式、责任链模式、适配器模式...转载 2020-03-25 10:23:47 · 840 阅读 · 0 评论 -
4、让多线程按顺序执行的几种方法
文章介绍4种方法,简单易懂,通过4个demo抛砖引玉。目录在子线程中通过join()方法指定顺序在主线程中通过join()方法指定顺序通过倒数计时器CountDownLatch实现通过创建单一化线程池newSingleThreadExecutor()实现https://blog.youkuaiyun.com/jqc874789596/article/details/1005...转载 2020-03-25 10:19:29 · 438 阅读 · 0 评论 -
3、MyISAM 和 INNODB的区别是什么
区别:1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务;2. InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败;3. InnoDB是聚集索引,使用B+Tree作为索引结构,数据文件是和(主键)...转载 2020-03-25 08:45:36 · 226 阅读 · 0 评论 -
2、Mysql 创建索引
一、为什么需要索引?索引是数据表种一个或者多个列进行排序的数据结构索引能够大幅提升检索速度创建、更新索引本身也会耗费空间和时间二、查找结构进化史线性查找:一个个找;实现简单;太慢二分查找:有序;简单;要求是有序的,插入特别慢HASH查找:查询快;占用空间;不太适合存储大规模数据二叉查找树:插入和查询很快(log(n));无法存大规模数据,复杂度退化平衡树:解决 BST 退化问题,...转载 2020-03-25 08:35:50 · 220 阅读 · 0 评论 -
1、JVM内存模型,哪些是线程共有的,哪些是线程私有的。
详解 JVM 内存模型JVM 内存模型主要指运行时的数据区,包括 5 个部分,如下图所示栈也叫方法栈,是线程私有的,线程在执行每个方法时都会同时创建一个栈帧,用来存储局部变量表、操作栈、动态链接、方法出口等信息。调用方法时执行入栈,方法返回时执行出栈。本地方法栈与栈类似,也是用来保存线程执行方法时的信息,不同的是,执行 Java 方法使用栈,而执行 native 方法使用本...转载 2020-03-25 08:18:08 · 8184 阅读 · 0 评论