随笔分类 - Java学习
记录着我在Java学习中遇到的问题与解决方法。
摘要:摘要:在背面试知识点的时候存在这样一条著名的面试题:我们重写equals()的时候为什么要重写hashcode()?答案往往是:二者是配套使用的,只重写equals()不重写hashcode()会导致判断的时候出错误,这是一个非常模糊的回答,直接记住往往会导致我们持续的错误理解,今天在看HashSet的源码的时候发现了其本质上的原因,特来记录。
阅读全文
摘要:摘要:在Java核心技术的学习中我们学到过一个叫做线程的模块,在程序开发中离不开高并发和多线程,在此我们来好好研究一下线程与线程池的关系。线程池是面试的高频考点,在项目开发中使用线程池解决问题是一个亮点,而线程池的运行过程也是面试的重点。
阅读全文
摘要:摘要:在详细的学习完八大排序之后,我们就要进行反复的练习了,我打算每天都写一遍,这样天天练习必然熟能生巧,还能练习打字速度,在这里我先来一次八大排序的代码汇编,以便有需要时直接查阅参考
阅读全文
摘要:今天老师给了我们一个OJ平台,让我们先做了一些简单题。好长时间没有打这种题了,特别是输入输出这块,好久没使用输入流进行控制台输入了,因此手特别生,放在这里保存参考。
阅读全文
摘要:摘要:本篇笔记专门介绍二叉排序树,重点讲解了二叉排序树的特性,以及二叉排序树各方面的基本实现。
阅读全文
摘要:Java学习记录:2022年1月13日(其二) 摘要:本篇笔记主要记录了在设计类时的一些注意事项,类加载时类中各个部分的加载顺序以及继承和多态的知识。 1.域初始化 域初始化就是一个对象的属性的初始化,我们在13日的笔记(其一)中得知了属性的声明以及初始化的区别,当一个属性被人为的赋值时,才
阅读全文
摘要:Java学习笔记:2022年1月13日(其一) 摘要:这篇笔记主要讲解了Java中的自定义类、以及构造一个类时所需要了解的一些重点知识。 1.类的组成 众所周知,Java是书写在类中的语言,我们在写Java代码时用到的很多操作都要先拥有一个类的实例,进而调用类得方法,或者是有一些类拥有静态方
阅读全文
摘要:Java学习笔记:2022年1月11日 摘要:这篇笔记主要讲解了一些数据在计算机中的存在方式相关的知识点,并由此延伸出了数据在计算机中的操作以及一些数据结构的知识。 @ 1.数据在计算机中的存在方式 我们在使用电脑时,总是处理一些这样那样的信息,比如表格文件,word文件之类的,我们还会浏览
阅读全文
摘要:关于排序二叉树和平衡二叉树的基础知识 摘要:这篇文章主要对排序二叉树和平衡二叉树的基础知识进行简要的说明,关于二叉树的详细笔记将在数据结构的学习中进行记录,这里只进行基础知识的了解。 1.排序二叉树 排序二叉树是二叉树的一种特殊存在方式,如果我们用排序二叉树保存数据,就可以迅速的进行一个数值
阅读全文
摘要:深入探究Java中的对象类型变量声明操作——在声明对象时,系统究竟做了什么? 摘要:本文主要对Java中的对象类型变量的声明的底层原理做了探究。 我们但凡是学过Java的,一定都知道Java中的对象类型变量的声明方式,那就是:类名 变量名 = new 类名()。不管这样说对不对,我们在这样写的时
阅读全文
摘要:Java学习笔记:2022年1月10日 摘要:这篇笔记主要记录了学习《Java核心技术 卷一》的第四章时的一些心得,主要阐述了对象与类这一部分的内容。需要注意的是,这一章的内容需要精心学习,因为很多知识点在笔试面试中很容易考到。 1.面向对象的编程:欢迎来到面向对象的世界 你有对象吗?没有的
阅读全文
摘要:Java学习笔记:2022年1月9日(其二) 摘要:这篇笔记主要记录了1月9日学习的第四章的类的基础知识,以及访问器以及访问器于多线程的意义。 1.多线程 多线程指的是在一个程序运行过程中,其内部的多个任务被同时执行,这时每个任务都会作为一个线程来执行。使用多线程的方式可以有效提升运行效率,当C
阅读全文
摘要:Java学习笔记:2022年1月9日(其一) 摘要:这篇笔记主要记录了Java运行时中的两种变量、以及参数的两种传递方式。 1.不同变量的详细探讨 1.Java中的两种变量 之前我们讨论了Java运行时中的栈区的运行机制,也就是在Java中,各种方法执行的过程,关于方法中的一些变量行为,我们也进
阅读全文
摘要:Java学习笔记:2022年1月8日 摘要:这天主要学习了HTML超文本标记语言以及CSS层叠样式表的基本知识,主要就是通过这两种技术进行基本的网页渲染。 1.HTML语言基础知识 1.HTML语言简介 HTML全称为超文本标记语言,它不是一种编程语言,而是一种标记语言,用于组织信息,标记文本,
阅读全文
摘要:Java学习笔记:2022年1月7日 摘要:今天的这篇笔记主要是通过讲解基本的JVM结构来理解Java中一些行为的运行机制,进而更加的深入理解Java的运行原理。 1.Java虚拟机 我们大家在初学Java时都会接触一个叫JVM的东西,这个JVM实际上全名叫做:Java Virtual Mach
阅读全文
摘要:Java学习笔记:2022年1月6日(补充) 摘要:这篇笔记主要记录了2022年1月6日下午的笔记,主要内容为Java语言中的基础操作,以及基础知识点,了解这些后基本上就可以使用Java写算法了。 1.语句和语句块 Java语言是由很多语句指令构成的,这些语句指令通常是用分号结尾,Java语
阅读全文
摘要:深入探讨进制转换问题 1.十进制的拆分 对于一个十进制的数字:4572,我们实际上可以将其拆分成:4000+500+70+2。十进制是逢十进一,因此我们可以知道2是2个1,0个10;70是7个10;500是50个10;4000是400个10,我们更进一步的讲,最前边的首位,是其高位上的个位,而后
阅读全文
摘要:关于进制 1.进制为何物? 进制是人类进行计数的计数方式,据说是根据系绳结演化而来的,也有可能是外星人教的,不过这不重要。所谓进制就是为了计数方便,在低位数达到一定数量之后便向高位进一位,用高位的这一位来表示低位的全部计量。如在十进制中,当各位9再加一个1时,那么个位清零,向十位进一位成为10,
阅读全文
摘要:关于记事本的实现原理 记事本是我们计算机上的最基础的文本编辑器,使用记事本我们可以写各种各样的文档,只要修改后缀就可以改变成我们想要的文档,比如我们可以使用记事本写Java文件,HTML文件等,那么记事本的实现原理是什么呢? 记事本和Word以及WPS的实现其实基本原理类似,只不过后两个加上
阅读全文
摘要:Java学习笔记:2022年1月6日 摘要:不可变字符串为什么不可变?StringBuffer类与StringBuilder类,字符串操作拾遗,记事本原理,进制转化问题。 1.深入探讨不可变字符串 在1月4日的笔记中,我们详细介绍了Java语言中的字符串类型以及它的特性:不可变,那么字符串为什么
阅读全文