java面试:java基础、Io、容器】的更多相关文章

[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.JavaCommon项目 基础: (1)基本数据类型 (2)运算符操作 (3)异常 (4)String,StringBuffer,StringBuilder相关 (5)Number类型相关 (6)随机数.Math.random() 集合操作: (1)集合中的List (2)集合中的Stack (3)集合…
关注微信公众号"java从心",置顶公众号 每天进步一点点,距离大腿又近一步! 阅读本文大概需要6分钟 继续挖掘一些有趣的基础面试题,有错望指出来哈,请赐教~ 1.包装类的装箱与拆箱 简单一点说,装箱就是自动将基本数据类型转换为包装器类型:拆箱就是自动将包装器类型转为基本数据类型. 那它又是如何实现的? 以Integer为例,看下代码: public class Box {    public static void main(String [] args){        Integ…
每天进步一点点,距离大腿又近一步! 阅读本文大概需要6分钟 系列文章 java面试| 精选基础题(1) java面试|精选基础题(2) 1.float f=3.4;是否正确? 答:不正确,编译无法通过.3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换float f =(float)3.4; 或者写成float f =3.4F;.(推荐阅读:java"小心机"(1)[资源彩蛋!]第…
1.JVM简析:      作为一名Java使用者,掌握JVM的体系结构也是很有必要的.      说起Java,我们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言.Java类文件格式.Java虚拟机和Java应用程序接口(Java API).它们的关系如下图所示:      Java平台由Java虚拟机和Java应用程序接口搭建,Java语言则是进入这个平台的通道,用Java语言编写并编译的程序可以运行在这个平台上.这个平台的结构如下图所示: …
1. JDK . JRE 和JVM有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境. JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境. 具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具.简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了…
面试系列--javaIO 一.概述 java的IO主要分为以下几类: 磁盘操作:File 字节操作:InputStream 和 OutputStream 字符操作:Reader 和 Writer 对象操作:Serializable 网络操作:Socket 新的输入/输出:NIO 二.磁盘操作 File类可以用于表示文件和目录的信息,但是它不代表文件的内容. 递归地列出一个目录下所有文件: public static void listAllFiles(File dir) { if (dir ==…
1.以下代码的执行结果 String s1 = "helloworld"; String s2 = "hello" + new Stirng("world"); System.out.println(s1 == s2); 分析:false,s1 == s2这比較的是两个对象的地址,而不是值.s2中存在new Stirng("world"),该语句会新开辟一块内存来存放world字符串,因此,s1与s2的地址不同 2.以下说法正…
Java IO Java IO 分类 Java BIO: 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善. Java NIO : 同步非阻塞,服务器实现模式为一个请求一个线程,即当一个连接创建后,不需要对应一个线程,这个连接会被注册到多路复用器上面,所以所有的连接只需要一个线程就可以搞定,当这个线程中的多路复用器进行轮询的时候,发现连接上有请求的话,才开启一个线程进行…
Java类加载机制 Java内存模型JMM 为什么 Redis 单线程能支撑高并发? 高并发下的接口幂等性解决方案! 面试官问:平常你是怎么对 Java 服务进行调优的? JAVA虚拟机(JVM)六:jvm垃圾回收算法以及实现…
41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?        hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hashtable.HashMap.LinkedHashMap等等.它与 equals() 方法关系特别紧密.根据 Java 规范,两个使用 equal() 方法来判断相等的对象,必须具有相同的 hash code. 42.字节流与字符流的区别 要把一段二进制数据数据逐一输出到某个设备中,或者从某个设备中逐…
1. mvn的dependency-management dependency-management是声明依赖,不实际引入,主要用于在父依赖中统一各依赖的版本,否则,各个子模块在引用同一依赖时,难免会出现版本混乱的情况.类似于类继承和重写的关系 2. springboot优化了哪些 @SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan1. 简化启动过程2. 约定大于配置,简…
java多线程-- 自旋锁,偏向锁 好处:可以举Servlet和CGI的对比用户线程和守护线程的区别:用户线程结束后JVM会退出,然后守护线程才会终止(比如垃圾回收线程),如何在java中创建守护线程创建方法:推荐Runnable接口:继承Thread:Callable(可返回值,与Future配合使用实现异步) 示例生命周期:New,Runnable,Running,Waiting,Blocked(join方法),Dead (见下图)优先级:比较依赖OS的线程调度器,所以最好用自己的代码控制上…
以下题目是从面试经历和常考面试题中选出有点儿意思的题目,参考答案如有错误,请联系小编指正,感谢! 1.反射 1.1定义 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法. 1.2作用 ①在运行时判断任意一个对象所属的类②在运行时构造任意一个类的对象③在运行时判断任意一个类所具有的成员变量和方法(通过setAccessible()方法可访问或修改private成员)④在运行时调用任意一个对象的方法 1.3用法 首先得获取…
一.java.io包支持.java的IO流有输入.输出两种,每种输入.输出流又可分为字节流.字符流两大类,字节流以字节为单位处理IO操作,字符流以字符为单位处理IO操作 JDK 1.4以后有java.nio包,新IO,提供了全新的API,支持更高效的IO操作 二.File类 1.java.io包下代表与平台无关的文件.目录,能新建.删除.重命名文件和目录,不能访问文件本身 2.方法 (1)访问文件名或路径名 String getName() 返回File对象的文件名或路径名 String get…
1.equals和==有什么区别? ==比较两个对象在内存里是不是同一个对象,就是说在内存里的存储位置一致. 如:两个String对象存储的值是一样的,但是可能在内存里存储在不同的地方. equals 是方法 == 是运算符 Equeals本质就是==,只不过String和Integer等重写了equals方法,把它变成了值比较. 总结: ==比较的是引用:如果比较的是基本数据类型,则比较的是数值是否相等: 如果比较的是引用数据类型,则比较的是对象的地址值是否相等. equals方法比较的是内容…
1 .一个".java" 源文件中是否可以包括多个类(不是内部类)?有什么限制?答:可以有多个类,但只能有一个 public 的类,并且 public 的类名必须与文件名相一致.. 2 .Java  有没有 goto?答:java中的保留字,现在没有在java 中使用. 3 .说说& 和&& 的区别.答:&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为 true 时,整个运算结果才为 true,否则,…
参数传递:Java支持两种数据类型:基本数据类型和引用数据类型. 原始数据类型是一个简单的数据结构,它只有一个与之相关的值.引用数据类型是一个复杂的数据结构,它表示一个对象.原始数据类型的变量将该值直接存储在其存储器地址处.使用对象和引用变量时会有所不同..Java中的所有参数都通过值传递. 当参数是原始是原始数据类型时,实际参数的值将复制到参数.在方法主体中对参数值进行的任何更改只会更改形式参数的副本,而不会更改实际参数的值.当参数通过参考值传递时,存储在实际参数中的参考被复制到形式参数.实际…
31.String s = new String("xyz");创建了几个StringObject?是否可以继承String类? 两个或一个都有可能,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个.NewString每写一遍,就创建一个新的对象,它使用常量”xyz”对象的内容来创建出一个新String对象.如果以前就用过’xyz’,那么这里就不会创建”xyz”了,直接从缓冲区拿,这时创建了一个StringObject:但如果以前…
11.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用.也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用. 12.In…
1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有没有goto? java中的保留字,现在没有在java中使用.l 3.说说&和&&的区别. &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为fals…
1. Vector, ArrayList, LinkedList的区别 Vector:①长度可变,以类似数组的形式存储于内存中,线程安全(同步),因为其大部分方法都有synchronized 关键字,正因为是同步的,所以进行频繁的数据操作时,必然会导致性能的下降. ②当增加的元素长度超过Vector 长度时,增加原来一倍的长度. ③如果是单线程应用,推荐使用ArrayList 来代替Vector 效率更高. ④如果是多线程应用,可以使用Vector 来代替ArrayList 实现同等功能,且能保…
  代理模式就是为了提供额外或不同的操作,而插入的用来替代实际对象的对象,这些操作涉及到与实际对象的通信,因此代理通常充当中间人角色 一.java动态代理   java动态代理可以动态地创建代理并动态地处理对所代理方法的调用.在动态代理上所做的所有调用都会被重定向到单一的调用处理器上. 1.使用动态代理的五大步骤 (1)编写接口类和实现类 public interface UserDao { void addUser(String var1); } public class UserDaoImp…
p.p1 { margin: 0; font: 15px Helvetica } 一.并发编程两个关键问题 线程之间如何通信.同步.java并发采用的是共享内存模型 二.JMM内存模型的抽象结构 描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式. p.p1 { margin: 0; font: 15px Helvetica } JMM决定一个线程对共享变量的写入何时对另一个线程可见. JMM定义了线程和主内存之间的抽象关系:线程之间…
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充. 源码分享:https://github.com/leon66666/JavaCommon 基础: (1)基本数据类型 (2)运算符操作 (3)异常 (4)String,StringBuffer,StringBuilder相关 (5)Number类型相关 (6)随机数.Math.random() 集合操作: (1)集合中的…
Java面试之基础问题答案口述整理 面向对象的理解 面向对象思想就是在计算机程序设计过程中,把具体事物的属性特性和行为特征抽象出来,描述成计算机事件的设计思想.它区别于面向过程的思想,强调的是通过调用对象的行为来实现功能,而不是自己一步步去操作实现.举个洗衣服的例子,采用面向过程的思想去完成洗衣服这个需求,需要一步步实现,首先把衣服脱下来,再找个盆,加入洗衣粉,加水浸泡,开始洗衣服,然后清洗,再拧干最后晾起来,它强调的是步骤:而采用面向对象的思想去完成这个需求时,我们只需要找到一个对象,然后调用…
目录 课程预习 1.1 课程内容分为三个模块 1.2 换工作面临问题 1.3 课程特色 课时1:技术人职业发展路径 1.1 工程师发展路径 1.2 常见技术岗位划分 1.3 面试岗位选择 1.4 常见面试流程 1.5 面试前的准备工作 1.6 面试考察点 1.7 四类硬技能 课时2:计算机与网络基础 2.1 知识点汇总 2.1.1操作系统(加粗为重点) 2.1.2 网络知识(加粗为重点) 2.2 TCP详解 2.2.1 三次握手建联 2.2.2 四次挥手断连 2.3 设计模式详解 2.3.1 单…
Java面试知识点汇总 置顶 2019年05月07日 15:36:18 温柔的谢世杰 阅读数 21623 文章标签: 面经java 更多 分类专栏: java 面试 Java面试知识汇总   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_33945246/article/details/89922244 为了找到心仪的工作而努力吧 最近在刷各种面经,把刷过的知识点汇总一下以便查漏补…
1.java基础 1.JDK 和JRE有什么区别 ​ JDK:java开发工具包,java开发运行环境.包含了JRE. ​ JRE:java运行环境,包含java虚拟机,java基础类库. 2.java基础类库 1. java.lang:java语言设计的基础类 2. java.util :提供处理日期.时间.随机数等工种工具的类 3. java.io:输入输出相关的类 4. java.nio:提供缓冲区类 5. java.beans:开发JavaBeans相关的类 6. .... 3.两个对象…
1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. • 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同. l 静态web资源开发技术 • Html l 常用动态web资源开发技术: • JSP/Servlet.ASP…