引言

java语言是Sun公司在1990年由James Gosling创建的(Sun公司现已被Oracle甲骨文公司收购),在1995年才公布,java创始人James Gosling通过C++创造了java,所以java拥有了C++语言的优点,并去掉了C++中难以操作的指针、多继承等概念;相对于C++来说,java是一门纯粹的面向对象语言,大大简化了编程开发的难度,所以java在当下应用十分的广泛;Java现在使用广泛 薪资可观 没有经验想要学习的小伙伴要抓紧了!给你们推荐一下:B站  Java300集

里面全是java基础教学 名师讲解 还有实战经验想要学习的同学抓紧时间看看吧!而且都是免费的冲冲冲!!!

Java程序员八股文是指程序员在面试过程中经常被问到的问题,大多都有固定化、格式化的答案,俗称为面经。下面是整理的基础如图(1-1)上的问题下面会详细解答:

图1-1

1.Object类相关方法

getClass

获取当前运行时对象的Class对象。

hashCode

返回对象的hash码。

clone

拷贝当前对象,必须实现Cloneable接口。浅拷贝对基本类型进行值拷贝,对引用类型拷贝引用;深拷贝对基本类型进行值拷贝,对引用类型对象不但拷贝对象的引用还拷贝对象的相关属性和方法。两者不同在于深拷贝创建了一个新的对象。

equals

通过内存地址比较两个对象是否相等,String 类重写了这个方法使用值来比较是否相等。

toString

返回类名@哈希码的16进制。

notify

唤醒当前对象监视器的任一个线程。

notifyAll

唤醒当前对象监视器上的所有线程。

wait

1、暂停线程的执行; 2、三个不同参数方法(等待多少亳秒;额外等待多少毫秒;一直等待) 3、与Thread.sleep(long time)相比sleep使当前线程休眠一段时间, 并没有释放该对象的锁,wait 释放了锁。

finalize

对象被垃圾回收器回收时执行的方法。

2.基本数据类型
整型: byte(8)、short(16)、 int(32)、 long(64)
浮点型: float(32)、 double(64)
布尔型: boolean(8)
字符型: char(16)

3.序列化
Java对象实现序列化要实现Serializable接口。
反序列化并不会调用构造方法。反序列的对象是由JVM自己生成的对象,不通过构造方法生成。
序列化对象的引用类型成员变量,也必须是可序列化的,否则,会报错。
如果想让某个变量不被序列化,使用transient修饰。
单例类序列化,需要重写readResolve()方法。

4、String、StringBuffer、 StringBuilder
String由char[]数组构成,使用了final 修饰,是不可变对象,可以理解为常量,线程安全;对String进行改变时每次都会新生成一个String对象,然后把指针指向新的引用对象。
StringBuffer 线程安全; StringBuiler 线程不安全。
操作少量字符数据用String;单线程操作大量数据用StringBuilder;多线程操作大量数据用StringBuffer。

5、重载与重写
重载
发生在同一-个类中,方法名相同,参数的类型、个数、顺序不同,方法的返回值和修饰符可以不同。
重写
发生在父子类中,方法名和参数相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为private或者final则子类就不能重写该方法。

6、final
修饰基本类型变量,一经出 初始化后就不能够对其进行修改。
修饰引用类型变量,不能够指向另-一个引用。
修饰类或方法,不能被继承或重写。

7、反射
在运行时动态的获取类的完整信息
增加程序的灵活性
JDK动态代理使用了反射

8、JDK动态代理
使用步骤创建接口及实现类
实现代理处理器:实现InvokationHandler ,实现invoke ( Proxy proxy, Method method, Object[] args)方法
通过Proxy.newProxyInstance(ClassLoaderloader, Class] interfaces, InvocationHandler h)获得代理类
通过代理类调用方法。

9、Java 10
普通IO,面向流,同步阻塞线程。
NIO,面向缓冲区,同步非阻塞。

总结

以上知识就是Java八股文一部分的基本知识了有喜欢的小伙伴可以去b站搜索Java300集里面有更详细的教程看的就是赚到,只有努力才能比别人更高一层,你我山巅自相逢。加油啊!

Java八股文基础知识相关推荐

  1. JAVA八股文基础知识(三)

    JAVA基础知识 目录 JAVA基础知识 1.异常 Java程序在执行过程中所发生的异常事件可分为两类: 运行时异常与编译时异常: 异常处理及语法: 2.Java API 一.String类及其常用方 ...

  2. java培训基础知识都学哪些

    很多人都开始学习java技术,觉得java语言在未来的发展前景空间非常大,事实却是如此,那么针对于零基础的同学, 学习java技术需要学哪些呢?下面我们就来看看java培训基础知识都学哪些? java ...

  3. 你觉得什么才是 Java 的基础知识?

    近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...

  4. 计算机java语言教程,计算机JAVA教程二讲Java语言基础知识.doc

    计算机JAVA教程二讲Java语言基础知识 2.1简单数据类型 2.1.1 标识符和保留字 1.标识符 程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier).Java语言 ...

  5. java ee基础知识_Java EE:基础知识

    java ee基础知识 想要了解一些基本原则,即与Java EE相关的技术术语. 对于许多人来说,Java EE / J2EE仍然最多意味着Servlet,JSP或Struts. 没有冒犯或双关语! ...

  6. hashcode是什么意思_什么才是 Java 的基础知识?

    作者:晓风轻 链接:zhuanlan.zhihu.com/p/28615617 近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java ...

  7. JAVA NIO基础知识

    本文来说下JAVA NIO基础知识. 文章目录 NIO概述 NIO简介 NIO的特性/NIO与IO区别 读数据和写数据方式: NIO核心组件简单介绍 Java NIO 之 Buffer(缓冲区) Bu ...

  8. java 反射基础知识

    java 反射 基础知识 反射:reflection 反射关键类 java 反射部分应用 反射:reflection 在运行中分析类. 在运行中查看和操作对象. 基于反射自己创建对象. 调用不可以访问 ...

  9. Java 进阶基础知识

    我断断续续花费一周的时间整理了这份 Java 进阶基础知识的思维导图.以前觉得这是一个简单的事情,感觉不就是跟着书上的知识点抄一遍嘛,但真的自己动手写过后,才发现并不是那么一回事. 说说自己整理心得吧 ...

最新文章

  1. 计算机在轻化工程中的应用,计算机在基础化学实验当中的应用
  2. ThreadLocal的学习
  3. 从源码到可执行程序的步骤
  4. cocos2dx 父元素影响子元素
  5. Java基础17:Java IO流总结
  6. redisTemplate.opsForValue()中方法讲解
  7. FAIL : SSHException: Incompatible ssh peer (no acceptable kex algorithm)
  8. 配置远程服务器的别名
  9. tcp协议栈优化1-增加TCP初始拥塞窗口
  10. 谷歌Adblock Plus 广告拦截插件-屏蔽百度热搜和推荐(附网盘下载地址)
  11. u盘写保护+计算机管理,取消u盘写保护的操作方法-电脑自学网
  12. android双卡切换,OPPOReno双卡双待怎么切换使用?
  13. You have to remove (or rename) that container to be able to reuse that name.
  14. DBCO-PALA-g-PEG DBCO-聚硫辛酸-聚乙二醇
  15. 2021年终总结及2022年展望
  16. 算法设计与分析基础 第六章谜题
  17. 【无人机】无刷电调学习之路
  18. unrar命令解压rar
  19. AD19 基础应用技巧(差分线的添加走线与蛇形等长)
  20. 从傅里叶变换到加窗傅里叶变换

热门文章

  1. nginx过滤器模块
  2. 2021届中兴提前批[FPGA工程师/数字IC岗位面经]
  3. 【Relax人生法则之躺平方法论】如何优雅地躺平?那些看似无足轻重,实则细思极恐的毒鸡汤。
  4. Android实现网络下载一(单任务下载--支持断点续传)
  5. 计算机音乐数字谱抖音,抖音计算器谱子有哪些?计算器音乐乐谱大全
  6. go语言基础-----06-----匿名字段、同名字段
  7. 美多(web)后台第五天
  8. Emacs快捷键及其它设置
  9. 语法俱乐部2:名词短语与冠词
  10. 新突破!德国MPQ证实光子是量子比特载波的优选