![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 92
BigDevil_
文章皆为个人笔记与理解,仅供参考
展开
-
dubbo注册到公网ip
dubbo注册到公网ip转载 2022-07-01 09:40:25 · 2490 阅读 · 0 评论 -
HashMap、Hashtable、ConcurrentHashMap
文章目录HashMap特点HashMap中的重要属性:Hashtable:特点Hashtable属性ConcurrentHashMap特点JDK1.7:JDK1.8ConcurrentHashMap jdk1.7和jdk1.8的对比CAS操作HashMap特点线程不安全,允许键值为null。底层:数组+链表+红黑树初始化容量:16默认加载因子:0.75f扩容机制:存储键值对个数 > 数组容量x加载因子;或者 某链表长度>8,存储键值对个数<64扩容大小 :当前容量*2Ha转载 2020-10-14 16:39:16 · 405 阅读 · 0 评论 -
反射学习笔记
文章目录1.java的反射机制:2、反射机制的实现实质:Class因为每个类都是一个Class对象,想操作类,就要先获取类,所以要获取与其映射的Class对象1.获取类的Class对象2.暴力反射3.根据Class对象创建实例(获取构造方法)4.根据Class对象获取属性5.根据Class对象获取方法1.java的反射机制:JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类...原创 2019-12-19 20:15:43 · 485 阅读 · 0 评论 -
枚举,网络编程
文章目录枚举网络编程InetAddress 描述ip地址的类UDP编程TCP编程枚举枚举: 列举出 有穷序列集枚举类其实用了多例模式,枚举类的实例是有范围限制的。enum类,反编译后就是一个 class 继承了Enum(注意:我们不能显示继承这个Enum),如果枚举类里定义了抽象方法,他就是abstract类,如果没有抽象方法,他就由final修饰。final修饰的类不能被继承enum...原创 2019-12-18 19:49:41 · 225 阅读 · 0 评论 -
设计模式(单例模式)
java23中设计模式里氏代换原则,适配器模式单例模式:一个类只能有一个实例①对于单例类来说,可以有其他的属性,也可以有静态和非静态的其他方法。②要求按照既定的步骤来执行,就能实现一个单例:1)私有构造方法2)提供一个私有的属性,该属性是该类一个静态私有对象。3)提供一个静态的getter方法,供外界访问。4)理论上,懒汉式要优于饿汉式,提高了空间的利用率,但是在实际开发中,使用饿...原创 2019-12-17 22:24:02 · 93 阅读 · 0 评论 -
线程学习笔记
文章目录1.引入程序,进程,线程并发,并行2.线程执行的原理: cpu抢占式分时调度模式,并发执行3.线程的状态4.创建线程(掌握)1、继承Thread类2、实现Runnable接口3、实现Callable接口,通过FutureTask包装器创建Thread4、使用线程池例如用Executor框架创建线程方法的对比1、继承Thread和实现Runnable接口两个方法对比5.线程常用方法(熟悉)重...原创 2019-12-16 23:36:34 · 210 阅读 · 0 评论 -
IO流
字节流字符流,转换流其他流各种流的复制(包括异常处理)文件字节流复制import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;public class CopyInputStream { public static void main(String[] args) {...原创 2019-12-15 14:54:15 · 320 阅读 · 1 评论 -
字符流,转换流
文章目录1 字符流字符输入流:Reader字符输出流:Writer2文件字符流(==继承自转换流,转换流继承自字符流==)字符输入流FileReader2.1 常用构造方法1、FileReader(File file) ;指定一个File文件(一般只是用文件路径名)2、FileReader(String fileName);指定一个文件名2.1常用方法1、read();读取一个字符,返回该字符的i...原创 2019-12-15 14:06:53 · 373 阅读 · 0 评论 -
文件字节输出流,输入流
字节输入流 InputStream字节输出流 OutputStream文件字节输入流 FileInputStream构造方法:1 FileInputStream(File file) 通过指定的文件建立输入流通道FileInputStream fis=new FileInputStream(new File("1.txt"));2 FileInputStream(String ...原创 2019-12-12 22:13:42 · 844 阅读 · 0 评论 -
File类学习,递归算法
文章目录File概述File构造方法1. File(String pathname) 给定路径名字2. File(File parent, String child) 给定父目录(File对象)跟子路径3. File(String parent, String child) 给定父目录跟子对象绝对路径和相对路径File类常用方法File遍历方法递归学习案例1:学习案例2: 斐波那契数列File概...原创 2019-12-11 20:47:58 · 244 阅读 · 0 评论 -
异常 学习笔记
文章目录异常的好处 :异常的体系:异常的发生过程:异常的处理方式:(1) 异常的声明: throws Exception 告诉调用者该方法可能会出现的问题。(2) 异常的捕获(三种形式):try-catch异常的处理异常的使用,throw 异常对象异常体系总结异常的好处 :(1) 提高程序健壮性。异常的体系:异常的发生过程:(1)当异常发生时,jvm会封装一个异常对象给调用该方法的对象...原创 2019-12-10 22:19:07 · 132 阅读 · 0 评论 -
Scanner类的使用笔记
import java.util.Scanner;public class TestScanner1 { public static void main(String[] args) { System.out.println("请输入若干单词,以空格作为分隔"); Scanner sc = new Scanner(System.in); while (sc.hasNext())...原创 2019-12-10 16:50:15 · 315 阅读 · 0 评论 -
Map集合
hashMap 可以null键 null值hashTable 不可以空键空值原创 2019-12-10 21:11:39 · 132 阅读 · 0 评论 -
二叉树简介笔记
1.什么是二叉树?二叉树是n(n>=0)个节点的有限集合。由一个根节点和两棵互不相交的、分别称为左子树和右子树的二叉树组成。且 每个节点最多有两个孩子节点!2.特征1.每个节点最多只能有两个孩子节点。2.是有序树,左子树和右子树次序不能颠倒,及时树中某个节点只有一棵子树,也要区分是左子树还是右子树3分类二叉树存储结构1.顺序存储:用一组连续的存储单元来存放二叉树的节点元素。(...原创 2019-12-09 21:26:31 · 184 阅读 · 0 评论 -
Set集合
文章目录Set简述1 HashSet1.1不多比比,先看源码**结论:HashSet是HashMap的一个实例。set的底层就是hashMap,所有的操作都是基于map的操作。**1.2HashSet的存储过程简述扩展:加载因子存储过程:1.3HashSet存储的自定义类 去除重复值重写hashCode()为什么prime是31?2TreeSet2.1TreeSet简述:① TreeSet 底层...原创 2019-12-09 20:00:20 · 424 阅读 · 0 评论 -
String ,StringBuffer,StringBuilder的区别
String 不可变StringBuffer:可变字符串序列,线程安全StringDuilder:可变字符串序列,线程不安全,但是比StringBuffer快java9Java9改进了字符串(包括String、StringBuffer、StringBuilder)的实现。在Java9以前字符串采用char[]数组来保存字符,因此字符串的每个字符占2字节;而Java9的字符串采用byte[]...原创 2019-12-06 20:56:33 · 120 阅读 · 1 评论 -
面向对象思维导图
原创 2019-12-06 20:46:43 · 358 阅读 · 0 评论 -
继承和代码块
继承注意:1、final修饰的类不能被继承,final修饰的方法不能被重写,final修饰的变量是常量。2、非静态属性,静态属性,静态方法都能被继承,但不能重写。只能隐藏。...原创 2019-12-06 20:43:44 · 144 阅读 · 0 评论 -
泛型
集合泛型:List<String> list = new ArrayList<String>();1\ 泛型只在编译阶段有效。为了减少类型转换异常。.class文件没有泛型2\泛型避免了向下转型。对于迭代器来说, Iterator后面的泛型必须带,如果不带,就是Object类型。3\泛型的类型参数只能是类类型,不能是简单类型。4\泛型在创建对象时才具体特点:1...原创 2019-12-06 18:44:23 · 112 阅读 · 0 评论 -
集合
集合集合泛型:List<String> list = new ArrayList<String>();1\ 泛型只在编译阶段有效。为了减少类型转换异常。.class文件没有泛型2\泛型避免了向下转型。对于迭代器来说, Iterator后面的泛型必须带,如果不带,就是Object类型。3\泛型的类型参数只能是类类型,不能是简单类型。集合迭代Iterator注意...原创 2019-12-06 10:05:33 · 243 阅读 · 0 评论 -
字符串·常量池·
String类的final修饰的,以字面量的形式创建String变量时,jvm会在编译期间就把该字面量(“hello”)放到字符串常量池中,由Java程序启动的时候就已经加载到内存中了。这个字符串常量池的特点就是有且只有一份相同的字面量,如果有其它相同的字面量,jvm则返回这个字面量的引用,如果没有相同的字面量,则在字符串常量池创建这个字面量并返回它的引用。public class TestSt...原创 2019-12-05 19:55:53 · 259 阅读 · 0 评论 -
内部类
1、一般成员内部类1.1在外部类外创建对象。Outter.Inner in = new Outter().new Inner();1.2一般成员内部类中不能有静态成员,除了static final修饰的常量1.2.1static final修饰的都是一版数据类型和String1.3一般成员内部类可以直接使用外部类的所有成员包括静态和非静态成员。属性名重名的话就近原则,用外部类属性 外部...原创 2019-12-03 09:00:48 · 130 阅读 · 0 评论 -
抽象类和接口
1、抽象类: ① 抽象 :不具体 。面向对象的特征之一。注意:抽象方法没有方法体。注意:如果一个类中有抽象方法,该类必须是抽象类。抽象类的特点 :1》 抽象类中,可以存在一般类的成员,包括属性,方法,构造方法。2》 抽象类中,如果存在抽象方法,该类必然是一个抽象类,一个抽象类中,不一定有抽象方法。3》 抽象类不能直接创建对象。如果需要创建对象,必须实现该抽象类,由子类进行对象的创...原创 2019-12-01 20:56:59 · 125 阅读 · 0 评论 -
子类继承父类,当创建子类时会创建父类对象吗?this和super
在创建子类对象时,会把父类里的成员变量和方法也加载进内存(因为要加载进内存,所以要看下这些数据是怎么初始化的,所以调用了父类的构造,仅此而已,并不是去创建了父类对象)然后用this和super这两个引用来区分是父类的还是子类的,但是这个内存区域是子类的内存区域,绝不是父类的 。this指向了不仅父类中可继承的成员变量和可继承的方法外,它还指向了子类的成员变量和方法 而super仅仅只是指向了子类...原创 2019-11-28 18:57:43 · 9698 阅读 · 2 评论 -
多态学习
多态产生的前提 :1》必须具有继承关系2》在子类中,必须有方法的重写。多态的分类:1》 多态的向上转型父类的引用指向子类对象。①里氏代换原则 :任何基类可以出现的地方,子类一定可以出现②弊端:发生了向上转型的父类引用,只能调用继承父类的方法或者子类重写父类的方法,不能调用子类特有的方法。在向上转型中:1 如果父类中的属性和子类的属性同名的时候, 父类对象认为认为子类的属性...原创 2019-11-28 19:12:51 · 255 阅读 · 0 评论 -
创建对象的内存过程
创建对象时的内存图:1、首先把类加载到方法区2、main方法压栈,开始执行。(C c= new C();)3、加载C类到方法区,在内存中开辟对象空间4、4.1开辟空间的时候,默认初始化C类中成员变量的值4.2 调用构造方法时,在没有执行构造方法的代码体时,隐式初始化4.3在构造方法里,构造初始化(在构造方法里给变量赋值)5、把对象的引用地址赋值给引用对象cclass 对象的创建内存...原创 2019-11-26 15:48:14 · 765 阅读 · 0 评论