Java基础
文章平均质量分 71
桑英豪
这个作者很懒,什么都没留下…
展开
-
为什么重写equals()方法一定要重写hashCode()方法
为什么重写equals()方法一定要重写hashCode()方法想要接受这个问题我们必须了解一下三个对象==在引用数据类型当中进行的是地址的比较,equals()方法在Object类当中其底层也是用==比较地址,但是不同的类可能会重写equals()方法,比如String类中的equals()方法就是先比较地址是否相同,如果相同直接返回true,地址不同在比较值,如果值相等那么同样返回true();hashCode()方法我们首先观察一个这个方法,它本身其实是一个native原创 2022-02-14 16:46:31 · 262 阅读 · 0 评论 -
Java中内存指向问题
一、类与对象的关系1.什么是对象我们调用cat1的run()方法和cat2的run()方法,执行run()方法,然后在去操作我们的变量进行值得更改,最后我们输出每一个cat1和cat2的age值,我们会发现输出并不一致,那么这就说明了我们在内存当中至少有两个age变量,分别属于cat1和cat2,那么我们也可以以此推出cat3当中有一个age变量。那么我们在上边至少能说明在内存当中分别一块属于cat1、cat2、cat3管理的有着数据和方法所组成的内存空间。什么是类,什么..原创 2022-02-11 16:41:01 · 108 阅读 · 0 评论 -
Java异常体系
一、java异常体系Thorwable类(表示可抛出)是所有异常和错误的超类,两个直接子类为Error和Exception,分别表示错误和异常。其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常, 这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。1、Error与ExceptionError是程序无法处理的错误,它是由JVM产生和抛出的,比如OutOfMemoryE原创 2022-02-11 10:34:12 · 103 阅读 · 0 评论 -
接口-interface
1.为什么java使用接口?有时候必须从几个类当中派生出一个子类,继承他们所有的属性和方法,但是java不支持多重继承于是就有了接口2.接口的特征1.接口用interface实现2.接口中所有的成员变量都是由public static final修饰的3.接口中的所有方法默认都是public abstract修饰的4.接口没有构造方法,构造方法用于创建对象(接口没办法new对象),但是可以使用多态5.实现接口的类中,必须实现接口中的所有方法,如果不实现接口中所有的方法,那么该类是原创 2022-02-11 11:27:59 · 82 阅读 · 0 评论 -
继承-extend
继承的本质:复用已存在的方法和域一、概念:继承是java面向对象编程的基石,继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。public class Person { public void run() { System.out.println("任何人都可以跑。。。"); }}class Student extends Person{ private void eat() { Syst原创 2022-02-11 15:06:55 · 957 阅读 · 0 评论 -
抽象类-Abstract
一、什么是抽象假设你的公司要进行招聘,招聘2名产品经理,10名程序员,现在让你和小A设计这个网站让报名人员填写基本信息。大概有两种设计方式----。小A的设计方法:但是我们发现这两个页面基本上内容是相同的,于是你的设计方法是这样的:我们将一些相同的信息都提取到一起我们把这个过程叫做----抽象二、抽象类在上边的案例当中我们会发现虽然我们可以抽取一些共性,但是他们每个都有各自的一些实现方式,比如程序员和产品经理他们都要工作但是他们的工作内容不同,也就是说我们只能抽取共性,但原创 2022-02-11 11:43:52 · 8036 阅读 · 0 评论 -
内存指向-值传递和引用传递
值传递:值传递是将值的地址值传递过去引用传递:将句柄的地址传递过去public static void main(String[] args) { String nameString = "张三"; name(nameString); System.out.println("main--->"+nameString); } public static void name(String name) { name = "李四"; Syst..原创 2022-02-11 17:05:10 · 92 阅读 · 0 评论 -
java核心技术
c语言 书写太慢 成本特别高 速度极快java 和c 是基础语言 java和go基本互通其他语言只是辅助语言生态环境 邀请一些大牛去加入社区 完善环境infoQ CCF官网 java社区多线程 同时运行多个任务高级语言都需要安装环境 因为操作系统本身对他们不识别JDK .java -.classJRE 运行.class 翻译给操作系统 JDK包含JRESE 创建团队 初始团队的功能 java自带的最初级的功能 可以实现任何功能EE 网站开发ME 手机端开发SD原创 2021-12-28 17:56:01 · 214 阅读 · 0 评论 -
Java基础
2.1.1.面向对象和面向过程的区别面向过程:面向过程性能比面向对象高。因为调用类时需要实例化,开销比较大,比较消耗资源,当性能是重要考量因素的时候,一般是面向过程开发。但是,面向过程没有面向对象易维护,易复用,易拓展。面向对象:面向对象易维护,易拓展,易复用。因为面向对象有封装,继承,多态的特点,可以设计出低耦合的系统,使系统更加灵活,更加容易维护。但是面向对象性能比面向过程低。Java性能低的根本原因是:Java是半编译语言,最终执行的代码并不是可以直接被CPU执行的二进制机械码。面向过程.原创 2022-03-11 20:31:55 · 644 阅读 · 0 评论 -
Java基础-java字符串
1.字符串常量池字符串常量池是把经常用到的数据存放到内存中,避免频繁的数据创建和销毁,实现数据的共享,提高系统的性能内存情况:虚拟机首先在常量池中查找该字符串是否存在,如果已经存在,则返回该引用,如果不存在,则在字符串常量池中创建该字符串对象,然后到字符串常量池中注册该字符串当我们用new关键字创建字符串常量的时候,会先在堆内存中开辟一段内存空间,然后该内存会用来存储字符串常量的地址2.==和equals的区别基本数据类型==比较的是它的值引用数据类型当用==比较的时..原创 2022-02-28 20:58:33 · 307 阅读 · 0 评论 -
Java基础-数据存储
1.基本数据类型8种基本数据类型整型:byte int short long浮点型:float double希尔型:boolean字符型:charint 4字节short 2字节long 8字节byte 1字节float 4字节double 8字节(1字节=8bit)引用类型 String...原创 2022-02-28 10:13:06 · 177 阅读 · 0 评论 -
JAVA基础-内存
1.计算机位数代表什么?cpu一次处理数据的量代表操作系统的位数,32位系统,cpu一次只能计算32bit数据,总线一次只能传输32bit数据当代cpu计算时间在0.2ns左右2.内存的物理特性内存最小的存储单位类似与二极管,它能存储一个电状态,高或低,可表示1或0内存断电之后数据就会消失是因为内存条用的是电容存储的电荷内存的存取速度在20ns左右,由内存给cpu提供数据,cpu效率可达1%3.内存叶块和磁盘扇区原先由磁盘向cpu传输数据,每次只能给cpu传输64..原创 2022-02-27 22:21:06 · 372 阅读 · 0 评论