java基础
jdk1.8之前的特性
我爱吃回锅肉
初学java,必须学会写笔记,嘿嘿,我的博客全是我的笔记。排班太乱,大家多多理解
展开
-
深入理解HashMap
对于jdk1.7来说HashMap采取的是数组+链表的形式来进行储存的,但是为啥是采取数组+链表呢,我理解的原因是:对于key来说,我们首先要将key的ascii码进行hash,获取到的值作为数组的下边进行储存,当然会存在哈希值一样的(因为数组会被直接盖住),这个时候就会进行链表的头插法,数组的长度初始值为16每次扩容1.5。对于jdk1.8数组+链表+红黑树为什么有了红黑树还要连表?答案:为什么红黑树快:答案链表转化为红黑树为什么是8呢static final int TREEIFY原创 2020-10-23 19:59:21 · 322 阅读 · 1 评论 -
IO流
分隔符:在window系统中分隔符是“ c:\ ”我们在java可以用“ c:\com ”来表示或者“ c:/com ”来表示IO流,位于java.IO包中。File类:一个File类的对象,表示磁盘上的文件或目录。File类提供类了与平台无关的方法来对磁盘上的文件目录进行操作。File类直接处理文件和文件系统。File类没有指定信息怎样从文件读取或想文件存储。File类的构造方法:...原创 2020-07-18 18:52:47 · 90 阅读 · 0 评论 -
线程
多线程(Multi—Thread)线程与进程的区别:多个线程的内部数据和状态都是完全独立的,而多线程是共享一块内存空间和一组系统资源,有可能相互影响。线程本身的数据只有寄存器数据,以及一个程序执行时使用的堆栈,所以线程的切换比进程切换的负担要小。多线程是指在单个程序中可以同时运行多个不同的线程执行不同的任务。线程是程序类的顺序控制流,只能使用分配给程序的资源和环境。多线程编程的目的,就...原创 2020-07-01 22:14:03 · 88 阅读 · 0 评论 -
网络编程
两种传输协议:TCP,UDP。JDK中的网络类:通过java.net包中的类,可以使用TCP,UDP协议来在互联网上通信。URL包括两个主要部分:协议标识符:—HTTP,FTP,File等。—资源名字:主机名,文件名,端口号,引用。public class UrlTest { public static void main(String[] args) throws Exceptio...原创 2020-07-01 22:13:12 · 70 阅读 · 0 评论 -
泛型
泛型:类别定义的逻辑完全一样,只是里面的成员变量的类型不同。如果需要多个相似的类,需要定义多个文件,不同的只是变量的类别,而逻辑完全一样。public class Generic<E> { private E foo; public E getFoo(){ return foo; } public void setFoo(E foo)...原创 2020-07-01 22:08:45 · 91 阅读 · 0 评论 -
java基础之static与final关键词
final关键词的使用方法:对于发哪里类型的成员变量,一般来说有两种赋初始值方法:在声明final类型的成员变量是就赋初值。在声明final类型的成员变量是不赋初值,但在类中所有的构造方法都为其赋上初值。staic代码块:静态代码块的作用也是完成一些初始化工作。首先执行静态代码快,然后执行构造方法,静态代码块在类被加载的时候执行,而构造方法方法是在生成对象的时候执行;要想调用每一个类来生成对象,...原创 2020-07-01 22:06:16 · 88 阅读 · 0 评论 -
java基础之多态
多态是java三大特征之一原创 2020-07-01 22:06:49 · 75 阅读 · 0 评论 -
字符串
对于String对象的相等的判断,用equals()方法,而不要使用==。String是常量,其对象一旦创建完毕就无法改变。当使用+拼接字符串时,会生成新的String对象,而不是向原有的String对象追加内容。String Pool(字符串池)String s=“aaa”;查找String Pool中是否存在"aaa"这个对象,如果不存在,如果不存在,就会在String Pool创建一...原创 2020-04-13 11:00:42 · 541 阅读 · 0 评论 -
java基础知识之面向对象
java是一门面向对象的语言,我们可以用来面向对象编程(Object Oriented Programming,OOP;Object Oriented Design,OOD)那么什么是面向对象?在面向对象中有两个重要概念:类(class)与对象(object)。类:类是一种抽象概念,类中包含了数据与对数据的操纵。对象:对象是一种具体的概念,是类的一种表达方式。类所包含的内容,类一共有两部分...原创 2019-10-09 20:16:02 · 127 阅读 · 0 评论 -
java基础知识之运算符
1、当有若干个变量参与运算时,结果类型取决于这些变量中表示范围最大的那个变量类型。比如有 int,有 double ,有 short,那么最后的结果类型就是double。2、int a=1; int b=2; double c=(double)a/b;上面代码块中a与b都是整数型,但是通过(double)a这种转化将a转换为一个匿名的变量,该变量的类型是double,但是要注意a本身是int类...原创 2019-10-03 11:38:06 · 82 阅读 · 0 评论 -
java基础知识之八大数据类型及其知识
在java中可以分为两大类:(1)原生数据类型(Primitive Data Type)(2)引用类型(对象数据)(Reference Type)变量与常量:常量就是不会变化的量,变量则是值可以变化的量。如何定义变量?变量类型 变量名;如何为变量赋值?变量名=变量值;a=2;“=”相当于赋值,将等式右边的值付给了左边的变量。变量名:在Java中,变量名以下划线,字母(不能使用数字开头...原创 2019-09-29 16:14:22 · 99 阅读 · 0 评论 -
反射
在java运行环境中,对任意一个类能否知道这个类有哪一些方法?对于任意一个对象,能否调用他的任意一个方法?答案是肯定的。这种动态获取类信息以及动态调用对象的方法的功能来自java的反射机制。java反射机制主要提供一下功能1、在运行时判断任意一个对象所属的类。2、在运行时构造任意一个类的对象。3、在运行时判断任意一个类所具有的成员变量和方法。4、在运行时调用任意一个对象的方法。Refl...原创 2020-02-20 09:42:30 · 78 阅读 · 0 评论 -
参数
参数(parpamter):参数分为形式参数和实际参数,打一个比方在高中的函数中F(x,y)=x^2+2y-3,将x=3,y=7代入函数,得到33+27-3=20,这里分F(x,y)就是形式参数,3与7就是实际参数。参数是自变量。而F(x,y)函数,既代码中的方法是因变量,是一个逻辑执行的结果。形参是在方法定义阶段,实参是在方法调用阶段,我们举一个列子来看看参数的传递public class ...原创 2020-04-13 11:02:04 · 4477 阅读 · 0 评论 -
方法
构造方法(Constructor)构造方法是方法名与类名的特殊方法,在新建对象时调用,可以通过不同的构造方法实现不同方式的初始化,它有如下特征:(1)构造方法名称必须与类名相同。(2)构造方法没有返回类型,void也不行。它返回对象的地址,并赋值给变量。(3)构造方法不能够被继承,不能够被覆写,不能被直接调用。调用的途径有三种:①通过new关键字,②是在子类的构造方法中通过super调用...原创 2020-03-27 10:39:36 · 91 阅读 · 0 评论