java八股文第一章:Java 基础知识_java 中的八股文-程序员宅基地

技术标签: java  

Java 基础知识

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 IO
  • 普通 IO ,面向流,同步阻塞线程。
  • NIO,面向缓冲区,同步非阻塞。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010046908/article/details/112774699

智能推荐

Windows系统环境变量path详解_windows path-程序员宅基地

文章浏览阅读1.1w次,点赞10次,收藏21次。Windows path系统变量编辑_windows path

Hadoop基础教程-第13章 源码编译(13.2 Hadoop2.7.3源码编译)_hadoop2.7.3-src源码下载-程序员宅基地

文章浏览阅读512次。第13章 源码编译13.2 Hadoop2.7.3源码编译13.2.1下载Hadoop源码包(1)到官网http://hadoop.apache.org/releases.html下载2.7.3的source源码包(2)解压缩tar -zxvf hadoop-2.7.3-src.tar.gz -C /opt1(3)打开解压目录下的BUILDING.txt,编译过程和需要的软件其实就是根据这个文档里..._hadoop2.7.3-src源码下载

Latex 语法_\latex-程序员宅基地

文章浏览阅读1k次。Latex 语法_\latex

SLAM ORB-SLAM2(15)单应矩阵的计算和评分-程序员宅基地

文章浏览阅读9.6k次,点赞20次,收藏21次。单应矩阵的概念、计算原理和重投影误差评分

GCC编译及GDB调试_编译gcc gdb-程序员宅基地

文章浏览阅读737次。目录前言一、GCC编译1.编译链接流程二、使用步骤1.引入库2.读入数据总结前言记录GCC和GDB的学习笔记一、GCC编译1.编译链接流程以File.c为例子File.i : 经过编译预处理的源代码;File.s : 汇编处理后的汇编代码;File.o : 编译后的目标文件,即含有最终编译出的机器码,但它里面所引用的其他文件中函数的内存位置尚未定义File.out:可执行文件C源程序头文件-->预编译处理(cpp)-->编译程序-->优化程序-->汇编程_编译gcc gdb

contest12 CF514div2 ooxxx oooox ooooo-程序员宅基地

文章浏览阅读1.3k次。未写转载于:https://www.cnblogs.com/ikihsiguoyr/p/10372635.html

随便推点

RadioButton、CheckBox与ToggleButton-程序员宅基地

文章浏览阅读86次。1.RadioButtonRadioButton被称作为单选框,通常都是以组的形式出现,可以在一组控件中选择一个。RadioButton的使用首先需要加入<RadioGroup/>,在这个组中,我们进行单选按钮的声明。 1 <RadioGroup 2 android:id="@+id/radioGroup" 3 an..._radiobutton和toggombutton

作为硬件开发,你一定要知道开发板是个什么东西?陈老师带你了解_硬件工程师的芯片demo板 开发板-程序员宅基地

文章浏览阅读2.5k次,点赞3次,收藏12次。作为智能硬件开发,你一定要知道开发板是个什么东西?如果您有和智能硬件开发人员打交道,或者贵公司正好有智能硬件的开发需求,又或者你正在学习关于智能硬件方面的知识,那么你一定听过『开发板』这个词语。///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程和毕业设计指导,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像白色字体加我也能领取哦,记得口令陈老师///开发板(demoboard)是用来进行嵌入式系统开发的电路板,包括中央处理器、存储器、输入设备、输出设备、数据通路/总线和外部资源接口等_硬件工程师的芯片demo板 开发板

app渗透测试实战Getshell_渗透实战-程序员宅基地

文章浏览阅读7.5k次,点赞16次,收藏143次。分享一下今天对某app的合法渗透测试,从基础的信息收集到拿到网站的shell的过程。_渗透实战

找不到引用microsoft.office.core_未安装 office using microsoft.office.core-程序员宅基地

文章浏览阅读4.9k次。在一个比较大的.net程序编译中,报告错误,找不到引用microsoft.office.core,从程序下的文件夹下找也找不到 microsoft.office.core.dll文件,在office的安装文件夹下也找不到,重装了office也不行,后来上网找了找,才知道了 解决办法。在控制面板中,选择“添加删除程序”,找到office ,选择“更改”,在对话框中选择“添加删除功能”,然后选_未安装 office using microsoft.office.core

就这样我成了一名程序员_flyfish365-程序员宅基地

文章浏览阅读1.6k次。 6月份,毕业了,炎炎夏日加上几只属苍蝇的知了,我知道这些并不是自己心里烦躁的理由,长吸一口气,我的未来在哪里?问题找到了,但答案在哪里? 宿舍的几位同僚,义无反顾的整理好皮箱奔向大城市去打天下,送走他们,告别已经分手的女朋友,拿着自己的三证和一堆宝贝技术书籍,决定先回家。 家里永远都是最温暖的,回家后第一次见到我刚出生几个月的外甥,这小子可爱极了,老乐呵_flyfish365

【u-boot-2015.10源码分析】board_r.c_config_board_early_init_r-程序员宅基地

文章浏览阅读1.7k次。文章链接:https://blog.csdn.net/q_z_r_s机器感知一个专注于SLAM、机器视觉、Linux 等相关技术文章分享的公众号/* 最终进入命令解析模式 */DECLARE_GLOBAL_DATA_PTR;ulong monitor_flash_len;static int run_main_loop(void){#ifdef CON..._config_board_early_init_r

推荐文章

热门文章

相关标签