面试2——java基础1】的更多相关文章

这是一份Java基础知识的面试题.在网上的关于Java的面试题数不胜数,但认真看过感觉大多数都没有实用性,有很多是面试官根本就不会问到的,那些已经脱离了实际开发的技术问题.而这份资料来源自一份个人觉得最贴近真实面试的Java面试题,网上流传较少. 最近又对这份Java基础面试题重新整理了一遍,本人重新编辑后结合了自己许多次的面试经历和经验,做出了标记,划分了重点,以及对某些知识做出一些简单明白的注释,相信可以对需要回顾Java知识,以及准备着面试的Java开发工程师会有一定帮助. 1.    …
总结个人的面试经历以及一些网上的的面试题,以供以后面试与巩固java基础. 1.String.StringBuilder和StringBuffer的区别 String用于存储不可变字符串的类,StringBuilder和StringBuffer是用于存储可变字符串变量的类: 执行速度:String<StringBuffer<StringBuilder: StringBuilder是线程不安全的,StringBuffer是线程安全的. 2.什么是反射 反射机制是在运行状态中,对于任意一个类,都能…
1. Java基础部分   1.1 Java中的方法覆盖(Overwrite)和方法重载(Overloading)是什么意思? 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同). 重写Override表示子类中的方法可以与父类的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现.   1.2 接口和抽象类的…
Linux上配置Java基础环境: https://www.cnblogs.com/kerrycode/archive/2015/08/27/4762921.html 1.final相关 (1)final在编译期的优化 只有在编译阶段能确定这个final引用赋值的内容,编译器才有可能进行编译时优化,而编译期能确定的内容只能来自于常量池中,如int,long,String等常量,不包含new String()等,也不包含方法返回值.将一个方法设成final后,编译器就可以把对那个方法的所有调用都置…
Java基础总结 JAVA中的几种基本数据类型是什么,各自占用多少字节. 八大基本数据类型,byte:8位,short:16位,int:32位,long:64位,float:32位,double:64位,boolean:1位,char:16位 1字节=8位 byte就是字节,有8位 String类能被继承吗,为什么. 不能继承,因为String是final类,final类无法被继承. 优势:无法被继承,同时内部字符数组也是final的,无法被修改,这种不变性这保证了字符串缓冲池的正常使用,也保证…
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.两个对象…
一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名为Java: Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发: JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础: JAVA…
Java面试之基础问题答案口述整理 面向对象的理解 面向对象思想就是在计算机程序设计过程中,把具体事物的属性特性和行为特征抽象出来,描述成计算机事件的设计思想.它区别于面向过程的思想,强调的是通过调用对象的行为来实现功能,而不是自己一步步去操作实现.举个洗衣服的例子,采用面向过程的思想去完成洗衣服这个需求,需要一步步实现,首先把衣服脱下来,再找个盆,加入洗衣粉,加水浸泡,开始洗衣服,然后清洗,再拧干最后晾起来,它强调的是步骤:而采用面向对象的思想去完成这个需求时,我们只需要找到一个对象,然后调用…
11.MVC设计模型 mvc设计模型是一种使用model-view-controller(模型-视图-控制器)设计创建web应用程序的模式.是一种开发模式,好处是可以将界面和业务逻辑分离. model:是程序的主体,主要包含业务数据和业务逻辑.是应用程序中处理应用程序数据逻辑的部分.通常模型对象负责在数据库中存取数据. view:视图层,就是UI界面,用于跟用户进行交互.一般所有的JSP.Html等页面就是View层.是应用程序中处理数据显示的部分.通常视图是依据模型数据创建的 controll…
1.int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象:而int则是直接存储数据值 4.Integer的默认值是null,int的默认值是0 5.Integer的值缓存范围为-128-127 延伸: 关于Integer和int的比较 1.由于Integer变量实际上是对一个Intege…
1.Java的工作原理 1) Java源程序(.java)须要通过编译器编译成字节码(.class)文件; 2) Java程序的跨平台主要指字节码能够在不论什么具有Java虚拟机的设备上运行: 3) Java虚拟机的建立须要针对不同的软硬件平台(处理器.操作系统)做专门的实现. 4) 字节码首先由类装载器载入到Java虚拟机中,其次由字节码校验器检查是否有非法操作,校验通过后再由Java解释器把字节码解释成机器码运行. 5) Java虚拟机採用沙箱模式运行.即把Java程序的代码和数据限制在一定…
**static 和 final 的理解**  static:是静态变量修饰符,修饰的是全局变量,所以对象是共享的,在开始类设计的初期就分配空间.     final:声明式属性,方法,类.分别表示属性不可变,方法不可覆盖,类不可继承,内部访问的是局部变量,局部变量必须定义成final类型的 **SpringMVC的理解** SpringMVC是基于过滤器对Servlet进行封装的一个框架,在web.xml配置DispatcherServlet类,每次通过此类来管理收到的请求并进行处理. **g…
经典类概念性问题 1.java支持的数据类型有哪些?什么是自动拆装箱? 12.Java有哪些特性,举个多态的例子. 14.请列举你所知道的Object类的方法. 15.重载和重写的区别?相同参数不同返回值能重载吗? 23.接口和抽象类的区别是什么? 13.String为啥不可变?不可变的优势在哪里? 16.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? *为什么重写equals还要重写hashcode?? *JAVA 8的…
1.面向对象的特征有哪些方面  1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派生类可以从它…
1.内存模型 1.1.堆 堆是所有线程共享的,主要存放对象实例和数组. 新生代和老年代的比例是1:2. 新生代中三个区域的比例是 8 : 1 : 1. 1.1.1.新生代 对象分配在eden区中,当eden区满时会触发minor gc,将eden区中存活的对象,复制到survivor0区中,清空eden区,当survivor0中满了时,会将存活的对象复制到survivor1区中,然后将survivor0和survivor1交换,保持survivor1是空的.每经过一次yong gc 年龄就 1.…
1.转发与重定向的区别 转发是服务器请求资源,服务器直接访问目标地址url,把响应内容返回给浏览器. 重定向根据服务器返回的状态码重新请求地址. 转发是服务器行为,重定向是客户端行为. 转发显示的url不变而重定向显示新的url. 转发页面和转发到的页面共享request的信息,重定向不共享数据. 转发一般用于用户登录,根据角色转发到响应的模块, 重定向一般用于用户注销,跳转到其他的地方. 2.TCP三次握手 建立连接时进行TCP三次握手: 客户端发送syn给服务端 连接请求. 服务端发送syn…
1.类加载过程 1.1.加载 查找和导入class文件. 1.2.链接 验证 检验载入的class文件的正确性,完整性. 准备 给类的静态变量分配存储空间,会赋对象类型的默认值. 解析 将class常量池中的符号引用转换成直接引用. 符号引用和直接引用的区别: 符号引用:java编译阶段不知道所引用的对象的实际地址,使用符号引用来代替 直接引用:能够直接定位到对象的指针,或相对偏移量.能定位到一个对象的内存实际地址. 1.3.初始化 对类的静态变量,代码块执行初始化操作,静态变量赋值顺序根据代码…
1.锁状态 锁的状态只能升级不能降级. 无锁 没有锁对资源进行锁定,所有线程都能访问并修改同一个资源,但同时只有一个线程能修改成功.其他修改失败的线程会不断重试,直到修改成功,如CAS原理和应用是无锁的实现. 偏向锁 偏向锁是指一段同步代码一直被一个线程访问,那个该线程会自动获取锁,降低获取锁的代价. 轻量级锁 是指当锁是偏向锁的时候,被另外的线程所访问,偏向锁就会升级为轻量级锁,其他线程会通过自旋的形式尝试获取锁,不会阻塞,从而提高性能.通过cas操作和自旋来解决加锁问题,自旋超过一定的次数或…
本次整理的内容如下: 1.进程与线程的区别 进程是一个可执行的程序,是系统资源分配的基本单位:线程是进程内相对独立的可执行单元,是操作系统进行任务调度的基本单位. 2.进程间的通信方式 2.1.操作系统内核缓冲区 由于每个进程都有独立的内存空间,进程之间的数据交换需要通过操作系统内核.需要在操作系统内核中开辟一块缓冲区,进程 A 将需要将数据拷贝到缓冲区中,进程 B 从缓冲区中读取数据.因为共享内存没有互斥访问的功能,需配合信号量进行互斥访问. 2.2.管道 管道的实现方式: 父进程创建管道,得…
21.Http请求的get和post的区别? get:从 指定的资源请求数据.请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的 post:向指定的资源提交要被处理的数据.请注意,查询字符串(名称.值对)是在post请求的HTTP消息主体找那个发送的. 参数 GET POST 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交) 书签 可被收藏为书签 不可被收藏为书签 缓存 能被缓存 不能缓存 编码类型 application/x-www-form-u…
构造方法:对象创建时,就会调用与之对应的构造方法,对对象进行初始化: 一般方法:对象创建后,需要方法功能时才会调用. 构造方法,在对象创建时,会调用且只调用一次. 一般方法,对象创建后,可以被调用多次.…
1.自定义注解 @target 说明了Annotation所修饰的对象范围: constructor.method.field.package.type等等. @retention 定义了该Annotation被保留的时间长短, source(源文件保留).class( class保留).runtime(运行时有效). @inherited 某个被标记的类型是被继承的.一个类标记了带有@inherited的注解,那么他的子类也拥有这个注解. @document 被修饰的注解会生成到javadoc…
1.五种阻塞队列介绍 ArrayBlockingQueue 有界队列,底层使用数组实现,并发控制使用ReentrantLock控制,不管是插入操作还是读取操作,都需要获取锁之后才能执行. LinkedBlockingQueue 底层基于单向链表实现,既可以当做有界队列,也可以当做无界队列使用.使用两个ReentrantLock实现并发控制:takelock和putlock. SynchronousQueue 底层使用单向链表实现,只有一个元素,同步的意思是一个写操作必须等到一个读操作之后才返回,…
1.ArrayList的扩容机制 每次扩容是原来容量的1.5倍,通过移位的方法实现. 使用copyOf的方式进行扩容. 扩容算法是首先获取到扩容前容器的大小.然后通过oldCapacity (oldCapacity >> 1) 来计算扩容后的容器大小newCapacity.这里用到了>> 右移运算,即容量增大原来的1.5倍.还要注意的是,这里扩充容量时,用的时Arrays.copyOf方法,其内部也是使用的System.arraycopy方法. 区别: arraycopy()需要目…
Java基础技术-Java其他主题[面试] Java基础技术IO与队列 Java BIO.NIO.AIO Java 中 BIO.NIO.AIO 的区别是什么? 含义不同: BIO(Blocking IO)是同步并阻塞的 IO,线程发起 IO 请求后,不论内核是否准备好 IO 操作,都会一直阻塞直到操作完成 NIO(Non-blocking IO)是同步非阻塞的 IO,线程发起 IO 请求后立即返回:内核在做好 IO 操作的准备之后,通过调用注册的回调函数通知线程做 IO 操作,线程开始阻塞,直到…
前言 关于赢在面试的Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应该说被面试到的几率很大.这里整理挑选出来供大家面试前拿来看一看,所有题目整理自网络,有一些错误和笔误,感谢读者的热心纠错,在声明中已经改正过来. 整理这些面试题源于在微信群和几个刚入职的小伙伴们的一次讨论,很多小伙伴谈了自己的面试经历和体会,很多人最初鄙视刷题党,觉得开发技能最重要,但在短暂的面试过程中很挫败.转而去看面试题,但是网上面试题太多但又不全,查找很不方便,多是看过的又看,看…
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童鞋们来说,当你看到这份题目的时候,你应该感动很幸运,因为,只要你把题目中的内容都搞懂了,在笔试的时候就可以游刃有余,通过面试只有半步之遥了,笔试只能反映你的JAVA技能.不管你是面试各个级别的JAVA工程师.架构师.还是项目经理,这个系列文章都是你最宝贵的资源,里面包括整个JAVA体系的知识,总会有…
  Android开发(29)  版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http://blog.csdn.net/finddreams/article/details/44403041 因为Androd使用Java语言来编程的,所以我们做Android开发全面的掌握Java基础是必须的.在面试的过程中,我们发现很多公司发的笔试题有很多知识点都是Java的,搞安卓久了,Java基础的…
Java基础篇: 题记:本系列文章,会尽量模拟面试现场对话情景, 用口语而非书面语 ,采用问答形式来展现.另外每一个问题都附上“延伸”,这部分内容是帮助小伙伴们更深的理解一些底层细节的补充,在面试中可能很少直接涉及,权当是提高自身水平的知识储备吧. 第一部分:java容器相关 1.问:List 和 Set 都有什么区别? 分析:这种问题面试官一般想考察的都是你对这两种数据结构的了解,已经使用时候的选择依据,所以可以从数据结构和一些使用案例入手分别做个介绍 答:List,列表,元素可重复.常用的实…
董鹏老师 ,多年经验总结出 [高薪就业必备]之java基础面试题[更新中]:     第01篇       学习Java基础的目的?       第02天       java语言中有没有gotokeyword?       第03天         对两个整数变量进行互换,要求在不使用第三方变量的前提下?    第04天       在JAVA中怎样跳出当前的多重嵌套循环?    第05天       构造器Constructor是否可被override?    第06篇       "==&…