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

Java基础面试总结(一) 1. 面向对象和面向过程的区别 面向过程 面向对象 性能 高于面向对象 类加载的时候需要实例化,比较消耗资源 三易(易维护,易复用,易扩展) 不如面向对象 具有封装,继承,多态的特性,可以设计低耦合的系统,有助于系统维护,扩展,复用 总结: 面向过程 优点:性能比面向对象高 缺点:易维护,易复用,易扩展性比较差 案例:Unix/Linux系统,单片机等等操作系统之类的 面向对象 优点:系统方便扩展,维护,复用 缺点:性能不如面向过程,类加载的时候需要实例化,比较消耗资…
网址来源: 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相关问题…
微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某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.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有没有goto? java中的保留字,现在没有在java中使用.l 3.说说&和&&的区别. &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为fals…
最近有搜了几个面试题,大家一起来探讨一下. 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…
上图来自Java技术栈微信群里的群友分享,看起来比较基础,但不一定人人都答得上来. 图片比较模糊,小编把题目进行了文字化. 1.你最常上的两个技术站和最常使用的两个app分別进什么?主要解决你什么需求? 2.请简述http协议中get请求和post请求的区别. 3.请简述session和cookie的区別. 4.简述Servlet与JSP的关系, 5.JSP内置对象有哪些,各自起到的作用 6.简述你所理解的JAVA封装.继承.多态. 7.写出2个常用的设计模式(伪代码),并简述应用场景. 8.H…
17)Java 中应该使用什么数据类型来代表价格?(答案)如果不是特别关心内存和性能的话,使用BigDecimal,否则使用预定义精度的 double 类型. 18)怎么将 byte 转换为 String?(答案)可以使用 String 接收 byte[] 参数的构造器来进行转换,需要注意的点是要使用的正确的编码,否则会使用平台默认编码,这个编码可能跟原来的编码相同,也可能不同. 19)Java 中怎样将 bytes 转换为 long 类型? byte[]和int转换,byte[]和long转换…
1. String类为什么是final的. 安全性:如果字符串是可变的,那么会引起很严重的安全问题.譬如,数据库的用户名.密码都是以字符串的形式传入来获得数据库的连接,或者在socket编程中,主机名和端口都 是以字符串的形式传入. 主要作用在于:因为对象不可变,因此对于所有线程都是只读的,多线程访问时,即使不加同步也不会产生数据的不一致,故减少了系统开销 2. HashMap的源码,实现原理,底层结构. 喜欢读源码的尽管去读(哈哈):http://www.cnblogs.com/hzmark/…
41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?        hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hashtable.HashMap.LinkedHashMap等等.它与 equals() 方法关系特别紧密.根据 Java 规范,两个使用 equal() 方法来判断相等的对象,必须具有相同的 hash code. 42.字节流与字符流的区别 要把一段二进制数据数据逐一输出到某个设备中,或者从某个设备中逐…
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…
面向对象的特征 答:抽象.继承.封装.多态 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)…
31.String s = new String("xyz");创建了几个StringObject?是否可以继承String类? 两个或一个都有可能,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个.NewString每写一遍,就创建一个新的对象,它使用常量”xyz”对象的内容来创建出一个新String对象.如果以前就用过’xyz’,那么这里就不会创建”xyz”了,直接从缓冲区拿,这时创建了一个StringObject:但如果以前…
41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?        hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hashtable.HashMap.LinkedHashMap等等.它与 equals() 方法关系特别紧密.根据 Java 规范,两个使用 equal() 方法来判断相等的对象,必须具有相同的 hash code. 42.字节流与字符流的区别 要把一段二进制数据数据逐一输出到某个设备中,或者从某个设备中逐…
1. &和&&的区别 答: &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 2.int 和 Integer 有什么区别 答: Java 提供两种不同的类型:引用类型和原始类型(或内置类型).Int是java的原始数据类型,Integer是java为int提供的封装类.Java为每个原始类型提供了封装类.原始类型封装类,booleanBoolean,charCharacter,byteByte,shortShort,intInteger,…
package com.swift; import java.util.HashSet; import java.util.Random; import java.util.Set; public class Suijishu_Test { public static void main(String[] args) { /* * 获取 1-20 之间的随机数,共计 20 个,要求不能重 */ Random ran = new Random(); Set<Integer> set = new…
package com.swift; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class IO_sort_content { public static void main(String[] args) { /* * 已知文件 a.txt 文件中的内容为“bcde…
package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.In…
package test; import java.util.Hashtable; import java.util.Map; public class test { public static String change(String param){ param=null; return param; } public static void main(String[] args) { String param1="p1"; param1=change(param1); Map ta…
常见编译型语言:C.C++.Go.Rust 等(执行速度快,但开发效率低) 常见解释型语言:Python.JavaScript.PHP(开发效率高,但执行效率低) 先编译后解释:Java 重载和重写有什么区别? 重载就是同样的一个方法能够根据输入数据的不同,做出不同的处理 重写就是当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法 重载 发生在同一个类中(或者父类和子类之间),方法名必须相同,参数类型不同.个数不同.顺序不同,方法返回值和访问修饰符可以不同.…
package com.swift; public class Bank_Customer_Test { public static void main(String[] args) { /* * 两个客户往一个银行存钱,每人存三十次一次存一百. 模拟银行存钱功能,时时银行现金数. */ Customer customer = new Customer(); new Thread(customer, "zhangsan").start(); new Thread(customer, &…
package com.swift; public class DeadLock implements Runnable { private boolean flag; DeadLock(boolean flag) { this.flag = flag; } public void run() { while (true) { if (flag) { synchronized ("suo1") { System.out.println(Thread.currentThread().ge…
package com.swift; public class Baby_Baomu_ProxyFactory_Test { public static void main(String[] args) { /* * 有一个Baby类,有Cry行为,Baby可以配一个保姆, * 但是作为保姆,必须遵守保姆协议:能够处理Baby类Cry的行为,如喂奶.哄睡觉. * 请根据以上描述设计一套代理设计模式 */ Baby baby=new ProxyFactoryBaby(new Baomu("一号保姆…
1.hashMap实现原理及相关问题 :https://blog.csdn.net/h1130189083/article/details/78303865…
Java内存管理面试指南一 Java基础面试指南一 Java基础面试指南二 Java基础面试指南三 Java基础面试指南四 Java线程面试指南一 Java线程面试指南二 Redis面试指南一 Kafka面试指南一 Spring面试指南一 SpringBoot面试指南一 微服务面试指南一 Java支持单线程以及多线程操作.线程是程序的执行路径.今天编写的大多数程序都是作为单线程运行的,当需要同时发生多个事件或动作时会引起问题.单线程程序具有一个入口点(main()方法)和一个出口点. 可以使用两…
字符串是使用最广泛的Java的类之一.在这里,我列出了一些重要的Java的字符串面试问答. 这将有助于您全面了解String并解决面试中与String有关的任何问题. Java基础面试问题 Java中的字符串是什么?字符串是数据类型吗? String是Java中的一个类,并在java.lang包中定义.它不是像int和long这样的原始数据类型.字符串类表示字符串.几乎所有Java应用程序都使用String,关于String我们应该了解一些有趣的事实.的Java 中不可变的字符串状语从句:Jav…