首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
在迎接offer的候选人1
西安工程大学 计算机类
关注
已关注
取消关注
@黎笛:
【八股文】Java基础
1.面向对象的特征 2.JDK和JRE的区别 3.Java的特点 4.Java和C++的区别 5.Java的基本数据类型有哪些 6.什么是值传递,什么是引用传递 7.自动装箱和拆箱 8.String为什么是不可变的 9.String,StringBuilder和StringBuffer的区别 10.Object常用方法有哪些 11.两个对象的hashCode()相同,则equals()是否也一定为true 12.java创建对象的方式 13.equels和==的区别 14.接口和抽象类的区别 15.方法重载和重写的区别 16.final类的细节 17.反射 18.jdk1.8有哪些新特征 1.面向对象的特征 封装:将类的信息封装在类的内部,不允许外部直接访问,而是通过该类的方法实现对隐藏信息的操作和访问 继承:从已有的类派生出新的类,新的类继承父类的属性和行为,并能扩展出新的能力,大大的增加了程序的重用性和易维护性 多态:同一个行为具有不同表现形式的能力。实现多态的三要素:继承,重写,父类引用指向子类对象 2.JDK和JRE的区别 JDK:java开发工具包。包含了java的运行环境和java工具 JRE:java运行时环境。包含了jvm标准和java核心类库 3.Java的特点 面向对象 平***立性和移植性。一处编写到处运行,JVM 稳健性。强语言类型和异常处理 4.Java和C++的区别 Java是纯粹的面向对象语言,所有的对象都继承于java.lang.Object,C++兼容C,既支持面向对象也支持面向过程 C++有指针,Java的引用相当于安全指针 Java自动回收垃圾,C++需要手动 Java通过虚拟机从而实现跨平台,C++依赖于特定的平台 java不支持多继承,需要实现多个接口来达到目的。C++支持多继承 5.Java的基本数据类型有哪些 byte 1字节 char 2字节 short 2字节 int 4字节 lang 8字节 float 4字节 double 8字节 boolean 1字节 6.什么是值传递,什么是引用传递 值传递:对于基本数据类型。传递的是变量的副本,改变不会影响原值 引用传递:对于对象型变量。会进行复制,但复制后的引用变量还是指向内存的同一个对象,函数对其修改会影响到原值 注:引用类型的String的值是放在常量池中,我们改变副本不会影响原来的值 7.自动装箱和拆箱 装箱:将基础类型转换成包装类型 拆箱:将包装类型转换成基础类型 8.String为什么是不可变的 因为String类是final修饰的,而且它的成员变量也全是final修饰的 为什么要使用final修饰? 线程安全:同一个字符串实例可以被多个线程共享,因为字符串不可变,本身就是安全的 hash不变:不可变的特性也使得hash值不会改变,不需要重新计算 字符串常量池优化:String对象创建之后,会缓存到字符串常量池,下次需要创建同样的对象,直接返回缓存即可 9.String,StringBuilder和StringBuffer的区别 线程安全:String和StringBuffer是线程安全的,String被final修饰,StringBuffer添加了synchronized 可变:String不可变,StringBuilder和StringBuffer可变 10.Object常用方法有哪些 toString():默认输出地址对象 equals():默认比较两个引用变量是否指向同一个对象 hashCode():将与对象相关的信息映射成一个哈希值,默认的实现hashCode值是跟据内存地址换算出来 clone():java赋值是复制对象引用,如果我们想要得到一个对象的副本,使用赋值操作是无法达到目的的 getClass():返回此Object的运行时类,常用于java反射机制 wait():当前线程调用对象的wait()方法之后,当前线程会释放对象锁,进入等待状态。 notify():唤醒等待的线程 11.两个对象的hashCode()相同,则equals()是否也一定为true 两个对象的hashCode()相同,equlas()不一定为true。 hashCode()方法主要是用来提升对象比较效率的,我们先进行hashCode的比较,如果不相同,那么就不必要进行equals的比较,这样就大大减少了equals比较的次数 对于重写的问题:之所以重写equals()要重写hashcode(),是为了保证equals()方法返回true的情况下hashcode值也要一致,如果重写了equals()没有重写hashcode(),就会出现两个对象相等但hashcode()不相等的情况。这样,当用其中的一个对象作为键保存到hashMap、hashTable或hashSet中,再以另一个对象作为键值去查找他们的时候,则会查找不到。 12.java创建对象的方式 new 反射 反序列化 第三方库 克隆 13.equels和==的区别 ==比较的是原生类型,equlas重写前用于检查对象的相等性,重写后一般比较值。 对于基本数据类型:只有== 对于引用类型:==比较的是对象在堆内存中的地址值是否相等 对于字符串:==比较的是内存地址,equals比较的是值 14.接口和抽象类的区别 抽象类: JDK1.8以前:抽象类的方法默认访问权限为protected JDK1.8时:变成default 不能被实例化,但可以在类的实体定义成员变量,构造方法 接口: JDK1.8以前:接口的方法必须是public JDK1.8时:变成default或public JDK1.9时:变成private 除了static,final不能有其他变量 区别: 抽象类是被子类继承,接口是被类实现 抽象类能做方法实现,接口不能 抽象类允许定义普通变量,接口只能定义静态常量 接口主要用于对类的行为进行约束,实现了某个接口就具有了对应的行为。抽象类主要用于代码复用,强调的是所属关系 15.方法重载和重写的区别 方法重载:同个类中的多个方法可以有相同的方法名称,但有不同的参数列表(参数类型,参数个数,参数顺序有一个不同就是参数列表不同) 方法重写:描述的是父类和子类的之间的。当父类的功能无法满足子类的需求时,子类可以重写父类的方法 16.final类 final类可以修饰 类:这个类不能被继承 方法:不能修改它的含义 基础数据类型:变成了常量 引用类型:初始化后不能指向其他对象,但内容可以变化 final修饰的静态常量,在编译的时候就可以确定的值,类不需要被加载。 final 修饰的是静态变量的对象,在运行时才能确定它的值,需要加载类。 17.反射 反射机制的作用: 在运行时判断任意一个对象所属的类 在运行时构造一个类的对象 在运行时判断任意一个类所具有的成员变量和方法 在运行时调用任意一个对象的方法,生产动态代理 与反射相关的类: Class:表示类,用于获取类的相关信息 Field:表示成员变量,用于获取实例变量和静态变量 Method:表示方法,用于获取类中的方法参数和方法类型 Constructor:表示构造器,用于获取构造器的相关参数和类型 18.jdk1.8有哪些新特征 1)lambda表达式 允许把函数作为一个方法的参数 用法示例: //对集合进行排序 //jdk1.7 List<Integer> list = Arrays.asList(10,5,25,-15,20); Collections.sort(list, new Comparator<Integer>() { public int compare(Integer o1, Integer o2) { return o1 - o2; } }); //jdk1.8 list.sort((i1, i2) -> {return i1 - i2;}); 2)Stream 把真正的函数式编程风格引入到java中。这种风格将要处理的元素集合看成一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如排序,筛选 Stream操作的三个步骤: 创建Stream:一个数据源,获取一个流 中间操作:一个操作链,对数据源的数据进行处理 终止操作:执行操作链并产生结果
点赞 6
评论 1
全部评论
推荐
最新
楼层
滴滴
校招火热招聘中
官网直投
相关推荐
赛文X
05-13 19:31
已编辑
腾讯_TEG_后台开发
【话术建议】求职者和企业的互骗话术?
对企业的话术建议包括但不限于面试官/HR/校园宣讲会等情况* 转正率90%吧(实际上校招HC都没确定* 我们不看学历(面试官可能不看,推给面试官去面试的人看* 没有赛马情况(招了再说* 组内业务很核心(只要部门还在,都是核心* 很稳定不裁员(兴趣hr比校招生裁得更早* 你是候选人中排序靠前的(每个都是考前的* 应届生保护,不会裁员(不会裁员,但不保证有其他方式让你自己走* 16-18薪,总包集中在年终奖(月薪压低,实在不行裁了就不用给年终* 顶格五险一金(缴纳基数和比例顶一个也是顶格对个人的话术建议* 可以提前实习(拿了offer再说* 发了实习offer肯定会接(保不齐导师突然不让我实习* ...
赛文の后花园
校招过来人的经验分享
点赞
评论
收藏
转发
YUKARI_
05-09 07:34
已编辑
深言科技_大模型数据_数据开发(实习员工)
暑期实习:杀不死你的都只能让你更加强大
3月:整整投+面了一个月 腾讯笔试,饿了么笔试,蚂蚁笔试都做的稀烂,做完秒挂;东子面完直接关闭实习生通道了;团子做的还行结果一面死;百度二面稀烂,答的我都想直接关电脑走人了;NV官网显示被拒了; 焦虑吗?真的很焦虑。但是清明节还是决定出去玩 认认真真玩了四天回来之后,美团重新复活了,NV也复活了,百度也复活了。 四月,一个月前一无所有的我,收到了团子的Offer,然后陆续收到了上述公司的Offer。四月,一个月前笔试稀烂的我,拿到了第一个笔试的AK, 然后是更多的笔试AK。&nbs...
投递饿了么等公司10个岗位 >
第一次面试
我的求职思考
点赞
评论
收藏
转发
万木春寒江雪
04-13 15:09
南京邮电大学 电子信息类
还得是华为遥遥领先
如同他甚至想让我直接找工作 #华为开奖那些事# #华为求职进展汇总#
华为开奖那些事
华为求职进展汇总
点赞
评论
收藏
转发
李跳跳啊
03-23 10:57
已编辑
辽宁工程技术大学 计算机类
真有付费上班啊?
😃😄#23届找工作求助阵地# 好好好好好好好
点赞
评论
收藏
转发
superjayhurry
05-14 19:13
National University of Singapore 计算机类
美团日常后端一面
一面 1小时介绍项目(10min 感觉面试官就听了一遍 没啥兴趣)八股:1.Java集合2.concurrenthashmap跟hashmap3.Java内存区域,Java递归参数放在哪4.Java垃圾收集算法,CMS,G1(面试官是想问JVM调优方面的,我说没实际操作过5.Redis持久化,单线程模型6.数据库缓存一致性7.给了个sql语句怎么优化8.索引下推手撕:用两个字符串表示double类型的值相乘,用String返回结果(没做出来,寄)
美团一面845人在聊
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
携程oc了
2.6W
2
...
美团-Java后端-平台技术部-一面凉经(复活赛)
1.3W
3
...
比亚迪机械面经&薪资爆料&面试题目&解答思路
1.3W
4
...
【话术建议】求职者和企业的互骗话术?
8850
5
...
瑞幸java校招二面(史诗级80min)
7731
6
...
滴滴秋储后端(秒挂)
5215
7
...
快手二面g
5042
8
...
【进面核心】如何紧盯个人简历与企业需求的契合度
4895
9
...
字节抖音电商后端日常实习一二三面已oc
4664
10
...
腾讯 后台开发 一面
4235
正在热议
#
牛客帮帮团来啦!有问必答
#
710386次浏览
11527人参与
#
许愿池
#
77202次浏览
1542人参与
#
通信硬件人笔面经互助
#
107752次浏览
2178人参与
#
你的秋招进展怎么样了
#
500896次浏览
13425人参与
#
找工作时遇到的神仙HR
#
177662次浏览
1744人参与
#
如何写一份好简历
#
259316次浏览
3918人参与
#
铜五铁六真的存在吗?
#
27340次浏览
293人参与
#
找工作,你会甘心进小厂还是猛冲大厂
#
35052次浏览
352人参与
#
产品实习,你更倾向大公司or小公司
#
35949次浏览
548人参与
#
非技术岗是怎么找实习的
#
73864次浏览
1385人参与
#
市场营销面经
#
4549次浏览
125人参与
#
互联网公司评价
#
79568次浏览
1087人参与
#
通信硬件薪资爆料
#
196315次浏览
1759人参与
#
你的秋招进行到哪一步了
#
353009次浏览
6269人参与
#
硬件兄弟们 甩出你的华为奖状
#
27515次浏览
180人参与
#
无实习如何秋招上岸
#
224693次浏览
3518人参与
#
投了多少份简历才上岸
#
56666次浏览
947人参与
#
面试中的破防瞬间
#
82577次浏览
1015人参与
#
通信/硬件的薪资开多少,才值得去?
#
10743次浏览
140人参与
#
产品人求职现状
#
50591次浏览
747人参与
牛客网
牛客企业服务