所以Java程序运行比较高效,而且,由于字节码并不针对一种特定的机器,因此,Java程序无需重新编译便可在多种操作系统的计算机上运行。 1.3.Java程序从源代码到运行一般有下面3步。 而我们知道,机器码的运行效率是高于Java解释器的。 这也解释了我们为什么说Java是编译和解释共存的语言。 字节码和不同系统的JVM是实现Java语言“一次编译,随处运行”的关键。 2.JDK和JRE JDK的全称是Java Development Kit,它是功能齐全的Java SDK。 JRE是Java运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件。 但是,它不能用于创建新程序。 return 一般有两种用法: return; :直接使用 return 结束方法执行,用于没有返回值函数的方法 return value; :return 一个特定值,用于有返回值函数的方法 10.Java
JAVA 说出ArrayList, Vector, LinkedList的存储性能和特性(集合类:ArrayList与 LinkedList的区别,为什么JAVA提供这样两种同样带有顺序的集合类,它们有什么不同 在JAVA中,如何跳出当前的多重嵌套循环? 用break; return 方法。 abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。 在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。 java中实现多态的机制是什么? 方法的重写Overriding和重载Overloading是Java多态性的不同表现。 什么是java序列化,如何实现java序列化? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。
10、Vue.js的路由是什么?请解释一下。 答案: Vue.js的路由是指通过URL实现页面之间的跳转。在Vue.js中,路由通过vue-router实现。
JVM组成部分 类加载器 运行时数据区 执行引擎 本地库接口 运行流程: 首先通过类加载器(ClassLoader)会把 Java 代码转换成字节码,运行时数据区(Runtime Data Area)
面向对象(包的定义及注意事项) A:定义包的格式 package 包名; 多级包用.分开即可 B:定义包的注意事项 A:package语句必须是程序的第一条可执行的代码 B:package语句在一个java HelloWorld.java b:通过java命令执行。 ) A:面试题 要求:使用已知的变量,在控制台输出30,20,10。 class Outer { public int num = 10; class Inner { public int num = 20; PersonDemo pd = new PersonDemo (); } } 10.16_面向对象(匿名内部类的面试题) A:面试题 按照要求,补齐代码 interface
Java 9之前字符串采用char[]数组来保存字符,即 private final char[] value ; Java 9做了改进,采用byte[]数组来保存字符,即private final 字符串作为基础的数据结构,大量地应用在一些集合容器之中,尤其是一些散列集合,在散列集合 中,存放元素都要根据对象的 hashCode() 方法来确定元素的位置。 说一说你对Java反射机制的理解 ? Java程序中的对象在运行时可以表现为两种类型,即编译时类型和运行时类型。 Java中的容器,线程安全和线程不安全的分别有哪些? 从Java5开始,Java在java.util.concurrent包下提供了大量支持高效并发访问的集合类,它们既能包装 良好的访问性能,有能包装线程安全。
10.数组有没有length()方法,String有没有length()方法? 答:数组没有length()方法,有length属性。String有length()方法。 import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream 在Java诞生初期,垃圾回收是Java最大的亮点之一,因为服务器端的编程需要有效的防止内存泄露问题,然而时过境迁,如今Java的垃圾回收机制已经成为被诟病的东西。 标准的Java进程既有栈又有堆。栈保存了原始型局部变量,堆保存了要创建的对象。Java平台对堆内存回收和再利用的基本算法被称为标记和清除,但是Java对其进行了改进,采用“分代式垃圾收集”。 面试题 - 编程实现文件拷贝。
前段时间给大家发过一份 java 面试题的思维导图,接下来我会用通俗、简洁、易记的话将其整理成一系列的文章,加深自己印象的同时,也希望能助大家跳槽成功! 1. 说说 java 的基本数据类型以及所占的字节数。 byte、short、int、long,1、2、4、8;boolean、char、float、double,1、2、4、8。 2. 什么是 java 的多态? 多态就是要到运行时才能确定类型,体现为重载和重写。 7. 为什么重写了 equals 方法就要重写 hashCode 方法? 10. Math.round(11.5) 和 Math.round(-11.5) 的结果分别是什么? 12 和 -11,四舍五入是操作数加上 0.5 然后向下取整。 18. java 中的异常体系你知道吗?
java基本数据类型有哪些? java.util.Collection是集合类的一个顶级接口。 介绍下java的集合? java的是反射? java线程创建方式继承Thread类:定义一个类继承Thread类,重写run方法。这种方式不推荐,因为Java单继承机制会限制该类的复用性。
背景本文涉及的六个问题,全部出自于Java小面的小朋友在大厂面试,所遇到问题。问题本身不难,都是些基础的概念,这些问题的价值在于每一个问题背后都可以挖出很多要点。 一、并发基础干货,非常干1-请你说一说什么是线程和进程?区别进程:有独立内存空间,每个进程中的数据空间都是独立的。 JMM定义是Java语言与操作系统内存是如何交互;而JVM内存模型,指的是JVM实例运行时内存区域是如何划分的。 小结本文属于对所提问题的要点阐述,如果你能在这些得分点的基础上回答的更加完善,面试在我这绝对是加分项,并且我相信大多数面试官也是如此。 另外,如果对并发编程或者面试,想要了解更多请持续关注微信公众号:Java面试教程,关注更多有用的面试要点与技巧。
静态变量: 直接通过类就可以访问,无需实例; 实例变量 "比如同构类的某个具体实例,才可以访问 ☆ 第三题☆ java中常见的异常 java.lang.NullPointerException 空指针异常 java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路径加载错误;通常都是程序 试图通过字符串来加载某个类时可能引发异常。 java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非数字型字符。 java.lang.IndexOutOfBoundsException 数组角标越界异常,常见于操作数组对象时发生。 java.lang.IllegalArgumentException 方法传递参数错误。 java.lang.ClassCastException 数据类型转换异常。
Java中的hashCode方法就是根据一定的规则将与对象相关的信息(比如对象的存储地址,对象的字段等)映射成一个数值,这个数值称作为散列值。 的区别在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 可以在原有对象的基础上进行操作 抽象类不能在Java 8 的 lambda 表达式中使用。 如何使用Java的反射? Method.invoke(obj实例对象,obj可变参数);-----(是有返回值的) 10.线程池的核心参数 参数名 参数含义 corePoolSize 核心线程数 maxinumPoolSize
,Java语言没有提供释放已分配内存的显示操作方法。 Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。引用类型和原始类型的行为完全不同,并且它们具有不同的语义。 43、Java中的异常处理机制的简单原理和应用 答:当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。 48、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?答:可以。必须只有一个类名与文件名相同。 49、java中有几种类型的流? 在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。 50、java中会存在内存泄漏吗,请简单描述。 答:会。
break用于完全结束一个循环,跳出循环体执行循环后面的语句 continue用于跳过本次循环,执行下次循环 java中的多态 java中实现多态的机制是什么? java.lang.ClassCastException 数据类型转换异常 java.lang.NoClassDefFoundException 未找到类定义错误。 java.lang.InstantiationException 实例化异常。 java.lang.NoSuchMethodException 方法不存在异常。 Java 的数据类型 Java 的基本数据类型都有哪些各占几个字节? Java 的 IO Java 中有几种类型的流 按照流的方向:输入流(inputStream)和输出流(outputStream)。
并发netstat -na | grep ESTABLIS | wc -l tcp数netstat -an|grep ":80 "|grep -v grep|wc -l # 10.说说tcp/ip的七层模型
这次给大家分享的是Kafka的10道面试题,就难度我觉得是比较基础的,但考的知识点还比较全面,可以用来考察自己掌握Kafka基础的程度。 1. Kafka是什么? 10. 以上就是本次分享的10道Kafka面试题,有问题的地方,欢迎留言交流。 我是草捏子,一只热爱技术和生活的草鱼,我们下期见! 参考资料 [1] Kafka 面试题:基础 27 问,必须都会的呀: https://xie.infoq.cn/article/6c879c4c3b52e416f251b2909 [2] 八年面试生涯, 整理了一套Kafka面试题: https://juejin.cn/post/6844903889003610119 [3] 32 道常见的 Kafka 面试题你都会吗?
本文来源于并发编程网清英的一篇文章:你应该知道的JAVA面试题,最近自己也在面试一些候选人,发现这篇文章中的有些点我也拿不准,因此按照自己的理解整理一份参考回答。 基础题目 1. Java线程的状态 Java线程在某个时刻只能处于以下六个状态中的一个。 Java线程状态.png 参考资料: Java Platform SE 8文档 Java核心技术 卷I—P634 2. 进程与线程的区别,进程间如何通讯,线程间如何通讯? 初始化:真正开始执行类中定义的Java程序代码;初始化用于执行Java类的构造方法。类初始化的过程是不可逆的,如果中间一步出错,则无法执行下一步,参见不可逆的类初始化过程。 10. Java虚拟机运行时数据区 程序计数器(PC):Java线程私有,类似于操作系统里的PC计数器,用于指定下一条需要执行的字节码的地址; Java虚拟机栈:Java线程私有,虚拟机展描述的是Java方法执行的内存模型
来源不详了原文地址: Java 基础面试题-20211228欢迎访问我的博客: http://blog.duhbb.com/题目转发和重定向的区别HashMap 和 HashTable 的区别什么是死锁 深拷贝和浅拷贝的区别Java 中注释的代码一定不会执行吗? 没有注释的代码一定会执行吗? 虚拟机自带的一种堆栈跟踪工具.jstack 用于打印出给定的 java 进程 ID 或 core file 或远程调试服务的 Java 堆栈信息. Jstack 工具可以用于生成 java 虚拟机当前时刻的线程快照. 原文地址: Java 基础面试题-20211228欢迎访问我的博客: http://blog.duhbb.com/
.getName()); } public static void main(String[] args) { aa aa=new aa(); aa.f("11");//结果:java.lang.String aa.f(11);//结果:java.lang.Integer aa.f(111.1f);//结果:java.lang.Float aa.f(111.1);//结果:java.lang.Double 如果要操作少量的数据用:String (2)单线程操作字符串缓冲区 下操作大量数据 :StringBuilder (3)多线程操作字符串缓冲区 下操作大量数据 :StringBuffer 三、总结 以上就是一些面试题内容
排序算法 1.冒泡排序算法 int[] array= {10,9,8,7,6,5,4,3,2,1}; int temp=0; for(int i=1;iarray[j+1]) { 在字节流的基础上添加了缓存等功能。 5. 适配器模式: 将已有的数据转换成需要的数据。适配器模式将原本不兼容而不能一起工作的类变的可以一起工作。 中的GC GC是垃圾收集的意思,Java提供的GC功能可以自动检测对象是否超过作用域从而达到回收内存的目的,Java语言没有提供释放已分配内存的操作方法,垃圾收集器会自动进行管理。 标准的Java进程既有栈又有堆。栈保存了原始型局部变量,堆保存了要创建的对象。Java平台对堆内存回收和再利用的基本算法被称为标记和清除,Java对其进行了改进,采用"分代式垃圾收集"。 这种机制会将Java对象的生命周期将堆内存划分为不同的区域,在垃圾收集过程中,可能会将对象移动到以下不同区域: 伊甸园(Eden):这是对象最初诞生的区域,并且对大多数对象来说,这里是唯一存在过的区域