首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
01-26 08:22
北京邮电大学 嵌入式工程师
秋招我最常用的托offer的话术
理由1:与父母沟通型话术1:您好,收到贵公司的offer非常荣幸,贵公司的发展前景和公司文化我都非常看好,与我的所学专业也很契合。目前我还没有和家里沟通,等我和家里沟通之后第一时间给您答复(这个时候一般可以拖2-5天,只要单位不催你,你就可以装死)。话术2:您好,这几天和家里沟通了贵单位的基本情况,家里各方面都挺满意的,但由于通勤较远(可替换其他原因)家里有点担心,想问问您公司有没有市内通勤车或者人才公寓呢(这里不管他回答什么,你都可以往下接)?我再和家里商量一下,三天内给您答复(这次如果催得紧最好说个时间,让公司感受到你的诚意)。理由2:系统故障型话术1:您好,我们学校的签约系统是网签。由于...
点赞
评论
收藏
分享
01-26 15:16
滴滴_移动端研发工程师(准入职员工)
腾讯内推,腾讯内推码
腾讯IEG 后端开发实习面经流程很快,效率棒棒哒10.10投递,10.11日过初筛,约一面到10.13,10.16就结束hr面了,6天速通一面 10.13挑一个项目讲打开项目github看,对照源码问了些问题Redis 用过什么数据结构Reids怎么实现分布式锁10亿条消息去重说下去会好好看看我的github(开源贡献比较多)算法题二面 10.15聊了下项目一聊了下项目二gmp调度模型go gctcp可靠性有哪些机制大模型的原理兴趣爱好玩啥游戏(金铲铲,暗区突围,王者荣耀,皇室战争,总之腾讯游戏玩的雀实多,也充了不少钱其实)Hr面 10.16等offer中。。10.24 offer腾讯2027...
点赞
评论
收藏
分享
01-25 17:56
已编辑
门头沟学院 HTML5
大佬们,这简历,学院本春招还有机会吗
因为大四才出来,所以只有一段较长实习,7月到12月末,是一家千人公司下的子公司。之前没有实习经历,秋招自然也上不了桌,所以all in春招了,还有机会吗。
春招启动,你开始投递了吗...
点赞
评论
收藏
分享
01-15 12:26
西南民族大学 Java
根本找不到实习 !甚至打了招呼都不回 而且还是没发简历的情况下
点赞
评论
收藏
分享
01-22 13:37
嘉士伯_供应链管培生(准入职员工)
小天才内推,小天才内推码
小天才26秋招分享(三面凉经)tl:9.13投递-10.10自主约面-10.10一面-10.11上传作品集-10.14二面-10.16三面(交叉面) 一面:线上邮件通知选择具体面试时间段(大约20mins)面试官问题1. 请先做一个自我介绍(1分钟左右)。2. 简历项目追问3. 在校期间有获得哪些奖学金吗?4. 有挂过科吗?5. 学得最好的课程是哪些?6. 分享一个人力资源领域中你觉得很重要的知识点。7. 根据以上追问若干问题8. 结合实习经历,招聘的具体成果是你直接负责的社招岗位吗?9. 你的导师对你的工作评价是什么样的?10.追问11.综合实习经历,你目前更适合做人力哪个方向的工作?12....
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
牛客吐槽大会 | 有槽不吐,留着过年?吐完领现金红包,痛快!
2629
2
...
J人永远闲不下来于是去提前实习
2366
3
...
拥抱AI,程序员的最后出路
1696
4
...
mentor视角下的优秀实习生
1577
5
...
马斯克最新炸裂采访,AI会带走一半工作岗位,普通人将何去何从?
1546
6
...
大厂提前实习对AI开发的新感悟
1411
7
...
努力挣钱的意义具象化了
1371
8
...
真正会被取代的,是你心里面的幻觉
1360
9
...
去独角兽做龙头还是去大厂做凤尾
1231
10
...
我身材再曼妙,也没有我的工资好笑!
1154
创作者周榜
更多
正在热议
更多
#
牛客吐槽大会
#
1716次浏览
52人参与
#
机械人你知道哪些单休企业
#
82870次浏览
412人参与
#
今年春招是金一银二嘛?
#
6825次浏览
77人参与
#
没关系,至少我的__很曼妙
#
3404次浏览
62人参与
#
1月小结:你过的开心吗?
#
1551次浏览
50人参与
#
赚钱的意义在这一刻具象化
#
3598次浏览
90人参与
#
AI时代的工作 VS 传统时代的工作,有哪些不同?
#
7442次浏览
182人参与
#
抛开难度不谈,你最想去哪家公司?
#
3369次浏览
86人参与
#
为什么有人零实习也能进大厂?
#
4317次浏览
97人参与
#
你的landing期是如何度过的?
#
7658次浏览
144人参与
#
你的第一家实习公司是什么档次?
#
3712次浏览
65人参与
#
当你问AI“你会取代我的工作吗”,它说_?
#
3253次浏览
106人参与
#
参加完秋招的机械人,还参加春招吗?
#
103342次浏览
680人参与
#
机械人春招想让哪家公司来捞你?
#
379040次浏览
3138人参与
#
除了Java,最推荐学什么技术?
#
5191次浏览
133人参与
#
一人一道大厂面试题
#
114017次浏览
1263人参与
#
AI求职实录
#
2621次浏览
74人参与
#
你觉得什么岗位会被AI替代
#
36530次浏览
251人参与
#
在找工作求抱抱
#
1653684次浏览
10964人参与
#
哪些瞬间让你真切感受到了工作的乐趣
#
23187次浏览
100人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务