JAVA基础面试(五5)】的更多相关文章

41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?        hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hashtable.HashMap.LinkedHashMap等等.它与 equals() 方法关系特别紧密.根据 Java 规范,两个使用 equal() 方法来判断相等的对象,必须具有相同的 hash code. 42.字节流与字符流的区别 要把一段二进制数据数据逐一输出到某个设备中,或者从某个设备中逐…
41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?        hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hashtable.HashMap.LinkedHashMap等等.它与 equals() 方法关系特别紧密.根据 Java 规范,两个使用 equal() 方法来判断相等的对象,必须具有相同的 hash code. 42.字节流与字符流的区别 要把一段二进制数据数据逐一输出到某个设备中,或者从某个设备中逐…
Java基础面试总结(一) 1. 面向对象和面向过程的区别 面向过程 面向对象 性能 高于面向对象 类加载的时候需要实例化,比较消耗资源 三易(易维护,易复用,易扩展) 不如面向对象 具有封装,继承,多态的特性,可以设计低耦合的系统,有助于系统维护,扩展,复用 总结: 面向过程 优点:性能比面向对象高 缺点:易维护,易复用,易扩展性比较差 案例:Unix/Linux系统,单片机等等操作系统之类的 面向对象 优点:系统方便扩展,维护,复用 缺点:性能不如面向过程,类加载的时候需要实例化,比较消耗资…
目录 1.启动一个线程是用run()还是start()? . 2.线程的基本状态以及状态之间的关系. 3.Set和List的区别,List和Map的区别? 4.同步方法.同步代码块区别? 5.描述Java 锁机制. 6.Comparable和Comparator接口是干什么的?列出它们的区别 7.Java集合类框架的最佳实践有哪些? 8.HashMap和Hashtable的区别. 9.HashSet和TreeSet有什么区别? 10.说出ArrayList,Vector, LinkedList的…
网址来源: http://www.nowcoder.com/discuss/5949?type=0&order=0&pos=4&page=2 参考资料:(java方面的一些面试答案) http://www.nowcoder.com/discuss/6890?type=0&order=0&pos=29&page=1 http://www.nowcoder.com/discuss/7342 一:java基础 1.java 集合类问题 2. hashMap相关问题…
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一章-初识java JAVA基础第二章-java三大特性:封装.继承.多态 JAVA基础第三章-类与对象.抽象类.接口  JAVA基础第四章-集合框架Collection篇 在上一章节中,我们讲了集合框架的Collection部分,下面我们来讲一下Map接口 我们再看一下集合框架的结构图 map接口的…
微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验.求职心得和成长感悟,以及作为程序员的思考和见解.(关注公众号后回复”资料“即可领取 3T 免费技术学习资源) ​ 本文主要是我最近复习Java基础原理过程中写的Java基础学习总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有…
一.java基础篇-概念 1.简述你所知道的Linux: Linux起源于1991年,1995年流行起来的免费操作系统,目前, Linux是主流的服务器操作系统, 广泛应用于互联网.云计算.智能手机(Android)等领域.由于Java主要用于服务器端的开发,因此Java应用的部署环境有很多为Linux. Windows操作系统的目录结构,是以盘符为单位,C盘.D盘.E盘等等,数据存储在各个盘符之下,而Linux操作系统最顶层只有一个根目录root,所有文件都存储在这一个根目录之下. Linux…
1.面向对象的特征有哪些方面? 抽象 封装 继承 多态,多态性是指允许不同子类型的对象对同一消息作出不同的响应.简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情.多态性分为编译时的多态性和运行时的多态性.方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定).运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:1). 方法重写(子类继承父类并重写父类中已有的或抽象的方法):2). 对象造型(用父…
最近有搜了几个面试题,大家一起来探讨一下. 1.Oracle 的分页 --分页查询一 select * from (select a1.*,rownum rn from (select * from student) a1 where rownum <=5) where rn>=2; --分页查询二 select a1.* from (select student.*,rownum rn from student where rownum <=5) a1 where rn >=3;…
面试相关的问题(下) 四 Linux高级_ 1.Linux机器 变慢,怎么查看? (1)整机的性能 主要查看的是CPU和内存 先查看整机的top,使用命令 top 虚拟机 使用1可以查看哪个核被占用过高 查看id(上图中43.9id) 也就是空闲率 越大越好,证明不是CPU引起的 COMMAND : 进程名称 PID 为对用的ID load average 系统负载率 上图中可见有三个值,3个数加起来/3 在乘以 100%,结果在>=60% 的话,说明系统负载很高 uptime,系统命令的精简版…
一.基础知识:1.JVM.JRE和JDK的区别:    JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性.                  java语言是跨平台,jvm不是跨平台的.    JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库.        JDK(Java Development Kit):java的开发工具,包括jre+开发工具2.环境变量path和classpat…
1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有没有goto? java中的保留字,现在没有在java中使用.l 3.说说&和&&的区别. &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为fals…
本文将详解java中的异常和异常处理机制 异常简介 什么是异常? 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常. Java异常的分类和类结构图 1.Java中的所有不正常类都继承于Throwable类.Throwable主要包括两个大类,一个是Error类,另一个是Exception类: 错误:Error类以及他的子类的实例,代表了JVM本身的错误.包括虚拟机错误和线程死锁,一旦Error出现了,程序就彻底的挂了,被称为程序终结者:例如,JVM 内存溢出.一…
1.数组概述.定义格式 * A:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数据类型,也可以存储引用数据类型. * B:数组定义格式 格式1:数据类型[] 数组名;----int[] arr; 格式2:数据类型 数组名[];----int arr[]; * C:数组是存储多个变量(元素)的东西(容器),这多个变量的数据类型要一致, 2.数组初始化.动态初始化 * A:什么是数组的初始化 Java中的数组必须先初始化,然后才能使用. 所谓初始化:就是…
1.前言 我们在学习Java的时候,看到==.equals()就认为比较简单,随便看了一眼就过了,其实你并没有深入去了解二者的区别.这个问题在面试的时候出现的频率比较高,而且据统计有85%的人理直气壮的答错.所以理解==与equals()的区别很有必要. 2.==运算符 ==可以使用在基本数据类型变量和引用数据类型变量中. 1.如果比较的是基本数据类型变量:比较两个变量的数值是否相等(数据类型不一定要相等,只看值,因为会类型自动提升!): 2.如果比较的是引用数据类型变量:比较两个对象的地址值是…
上图来自Java技术栈微信群里的群友分享,看起来比较基础,但不一定人人都答得上来. 图片比较模糊,小编把题目进行了文字化. 1.你最常上的两个技术站和最常使用的两个app分別进什么?主要解决你什么需求? 2.请简述http协议中get请求和post请求的区别. 3.请简述session和cookie的区別. 4.简述Servlet与JSP的关系, 5.JSP内置对象有哪些,各自起到的作用 6.简述你所理解的JAVA封装.继承.多态. 7.写出2个常用的设计模式(伪代码),并简述应用场景. 8.H…
1. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法? 接口可以继承接口.抽象类可以实现(implements)接口,抽象类是否可继承具体类.抽象类中可以有静态的main方法. 备注:只要明白了接口和抽象类的本质和作用,这些问题都很好回答,你想想,如果你是java语言的设计者,你是否会提供这样的支持,如果不提供的话,有什么理由吗?如果你没有道理不提供,那答案就是肯定的了.只有记住…
栈(stack):是简单的数据结构,但在计算机中使用广泛.栈最显著的特征是:LIFO(Last In, First Out,后进先出).比如我们往箱子里面放衣服,先放入的在最下方,只有拿出后来放入的才能拿到下方的衣服.栈中只存放基本类型和对象的引用(不是对象). 堆(heap):堆内存用于存放由new创建的对象和数组.在堆中分配的内存,由java虚拟机自动垃圾回收器来管理.JVM只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身. 方法区(method):又叫静…
17)Java 中应该使用什么数据类型来代表价格?(答案)如果不是特别关心内存和性能的话,使用BigDecimal,否则使用预定义精度的 double 类型. 18)怎么将 byte 转换为 String?(答案)可以使用 String 接收 byte[] 参数的构造器来进行转换,需要注意的点是要使用的正确的编码,否则会使用平台默认编码,这个编码可能跟原来的编码相同,也可能不同. 19)Java 中怎样将 bytes 转换为 long 类型? byte[]和int转换,byte[]和long转换…
这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是比较清晰的!如果你有需要可以在评论中留下您的邮箱我看到一定会免费发给你的!感谢这个平台让我们大家共同进步吧!! 记住 程序员是无私的!!! 也非常欢迎到我的博客内观看 博客地址:http://www.cnblogs.com/duscl/ /* 1:方法(掌握) (1)方法:就是完成特定功能的代码块.…
1. String类为什么是final的. 安全性:如果字符串是可变的,那么会引起很严重的安全问题.譬如,数据库的用户名.密码都是以字符串的形式传入来获得数据库的连接,或者在socket编程中,主机名和端口都 是以字符串的形式传入. 主要作用在于:因为对象不可变,因此对于所有线程都是只读的,多线程访问时,即使不加同步也不会产生数据的不一致,故减少了系统开销 2. HashMap的源码,实现原理,底层结构. 喜欢读源码的尽管去读(哈哈):http://www.cnblogs.com/hzmark/…
一.Collection概述 1.数组和集合的区别 (1)长度区别      数组长度是固定的,集合长度是可变的. (2)存储内容区别      数组只能存放同一种类型的元素(基本类型/引用类型).      集合可以存储不同类型的对象.   二.集合的体系 Collection Collection是集合体系的根接口,它包含了集合的基本操作和属性. Collection包含了List和Set两大分支. (1)List是一个有序的队列,每一个元素都有它的索引,第一个元素的索引值是0.     L…
31.String s = new String("xyz");创建了几个StringObject?是否可以继承String类? 两个或一个都有可能,"xyz"对应一个对象,这个对象放在字符串常量缓冲区,常量"xyz"不管出现多少遍,都是缓冲区中的那一个.NewString每写一遍,就创建一个新的对象,它使用常量"xyz"对象的内容来创建出一个新String对象.如果以前就用过'xyz',那么这里就不会创建"xyz&…
11.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用.也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用. 12.In…
笔记整理 来源于<Java核心技术卷 I > <Java编程思想> 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有平有用的类:BigInteger和BigDecimal.这两个类可以处理包含任意长度数字序列的数值. BigInteger类实现了任意精度的整数运算 BigDecimal实现了任意精度的浮点数运算   使用静态的valueOf方法可以将普通的数值转换为大数值: BigInteger a = BigInteger.valueOf(1…
1.多线程 1.1.多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念. 进程:正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能,进程是系统进行资源分配和调度的一个独立单位.进程是正在运行的程序,进程负责给程序分配内存空间,而每一个进程都是由程序代码组成的,这些代码在进程中执行的流程就是线程. 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程.一个进程中是可以有多个线程的,这个应…
面向对象的特征 答:抽象.继承.封装.多态 short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗? 答:对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型.而short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;相当于s1 = (short)(s1 + 1);其中有隐含的强制类型转换. 构造器(constructor)…
一.Java数组: 1.声明数组变量: 首先必须声明数组变量,才能在程序中使用数组.下面是声明数组变量的语法:注意: 建议使用 dataType[] arrayRefVar 的声明风格声明数组变量. dataType arrayRefVar[] 风格是来自 C/C++ 语言 ,在Java中采用是为了让 C/C++ 程序员能够快速理解java语言. dataType[] arrayRefVar; // 首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法…
一.面向对象 面向对象 : 就是一种编程思想 1.类和对象 类是指描述一类事物,或者看成是一个分类,可以把类看作构造对象的模板. 对象是指具体的个体(也叫实例-instance).创建对象使用 new,没对象就 new 一个对象. 1.设计类 语法: class 类名{ 成员变量 (字段) 方法 (具体的一个功能行为) } 类规范书写: ①类名首字符大写; ②类名必须具有意义; ③必须写注释: public class Car { String name; //字段 Integer price;…