javase
关于java基础的笔记
白光一
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
javase-annotation-210710-02
javase-annotation-210710-02 注解中可以用的属性类型 反射获取类上的注解 反射获取类中方法上的注解 注解实例 注解中可以用的属性类型 MyAnnotation0301.java package bgy_annotation_02; public @interface MyAnnotation0301 { /* 注解当中的属性可以是哪种类型 byte short int long float double bool原创 2021-07-11 22:23:11 · 191 阅读 · 0 评论 -
javase-annotation-210710-01
javase-annotation-210710-01 注解解释 元注解 Retention源码 Target源码 注解解释 1) 注解 也叫注释,Annotation 2) 注解Annotation是一种引用数据类型,编译之后也是生成xxx.class文件 3) 自定义注解,语法如下: [修饰符列表] @interface 注解类型名{ } 4) 注解如何使用?在哪里使用? 注解使用语法格式: @注解类型名 注解可以出现在类上,属性上,方法上,变量上等原创 2021-07-11 22:22:41 · 201 阅读 · 0 评论 -
javase-object-210324-01
javase-object-210324-01 重写toString() 重写equals() 重写finalize() 重写hashCode() Object下的类 重写toString() /** * 重写toString方法 * 如果输出类,会默认调用toString() * @author Administrator * */ public class Test01 { public static void main(String[] args) { People01 p原创 2021-07-09 22:03:36 · 126 阅读 · 0 评论 -
javase-reflect-210709-04
javase-reflect-constructor-210709-04 反编译一个类的Constructor构造方法 通过反射创建对象 通过反射获取父类或者获取实现的接口 反编译一个类的Constructor构造方法 ReflectTest01.java package bgy_reflect_constructor_01; import java.lang.reflect.Constructor; import java.lang.reflect.Modifier; /* 反编译一个类原创 2021-07-09 22:02:09 · 163 阅读 · 0 评论 -
javase-reflect-210709-03
javase-reflect-210709-03 可变参数长度 反射获取Method-01 反射获取Method-02 通过反射调用方法 UserService.java 可变参数长度 ReflectMethodTest01.java package bgy_reflect_method_210709_01; /* 可变长度参数 int... args 就是可变长度参数 1. 可变长度参数要求的参数个数是:0~N个 2. 可变长度参数在参数列表中必须在最后一个位置上原创 2021-07-09 21:58:30 · 158 阅读 · 0 评论 -
javase-reflect-210709-02
javase-reflect-210709-02 Field 反射的使用 Field获取属性 Field模拟反射属性的java代码 Field获取属性值 / 赋值 Field访问私有属性 Student.java Field获取属性 ReflectTest01.java package bgy_reflect210709_01; import java.lang.reflect.Field; import java.lang.reflect.Modifier; public class Reflec原创 2021-07-09 21:55:44 · 169 阅读 · 0 评论 -
javase-reflect-210709-01
javase-reflect-210709-01 了解类加载器 什么是类加载器 专门负责加载类的命令或工具 ClassLoader JDK中自带了三个类加载器 1. 启动类加载器 2. 扩展类加载器 3. 应用类加载器 假设有下面这行代码: String s = "abc"; 代码在开始执行之前,会将所需要的类全部加载到JVM中 通过类名加载器加载,看到以上的代码类加载器会找String.class文件, 找到就加载,那么是如何进行加载加载的??? 1. 首先通过“启动类加载器”加载原创 2021-07-09 21:54:37 · 167 阅读 · 0 评论 -
javase-reflect-210625-01
javase-reflect-210625-01 反射的理解 反射机制有什么用? 通过java语言中的反射机制可以操作字节码文件 类似于黑客。(可以读和修改字节码文件) 通过反射机制可以操作代码片段(class文件) 反射机制的相关类的包 java.lang.reflect.*; 反射机制的相关的重要类 java.lang.Class 代表整个字节码,代表一个类型。 代表整个类 java.lang.reflect.Method 代表字节码中的方法字节码。 代表类中的方法 J...原创 2021-07-09 21:54:08 · 192 阅读 · 0 评论 -
javase-javabase-210127-01
javase-javabase-210127-01 面向对象 static 构造方法/类构造器 封装 继承 多态 static静态代码块 抽象类 接口 内部类 异常 面向对象 Java核心思想-------OOP 物以类聚,分类的思维模式,思考问题首先会解决需要哪些问题,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索 面向对象适合处理复杂的问题,适合处理需要多人协作的问题 对于描述复杂的事务,为了从宏观上把握,从整体合理分析,我们需要使原创 2021-07-02 17:04:18 · 124 阅读 · 0 评论 -
javase-javabase-210126-02
javase-javabase-210126-02 JavaDoc Scanner对象 重载 可变参数 递归 Java内存 数组 Arrays类 JavaDoc @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @return 返回值情况 @throws原创 2021-07-02 17:03:48 · 175 阅读 · 0 评论 -
javase-javabase-210126-01
javase-javabase-210126-01 Java关键字 基本类型 引用类型 进制 浮点数拓展 编码 转义字符 类型转换 JDK7新特性 变量 运算符 包机制 Java关键字 01 02 03 04 05 abstract assert boolean break byte case catch char class const continue default do double else enum extends final f原创 2021-07-02 17:02:52 · 176 阅读 · 0 评论 -
javase-io-210510-02
javase-io-210510-02 IO+Properties 读取配置文件 读取配置文件 IO + Properties Properties 是一个Map集合,key和value都是String类型 经常变的数据,可以单独写到一个文件中,让程序动态读取 那么我们就需要配置文件了,java规范中要求,属性的配置文件建议以 .properties 结尾,,但不是必须是 Demo01.java package com.bgy02; import java.io.FileNotFoundE原创 2021-07-01 08:27:52 · 217 阅读 · 0 评论 -
javase-io-210510-01
javase-io-210510-01 序列化 序列化 ObjectOutputStream ObjectInputStream 序列化和反序列化必须实现 Serializable 接口 Serializable 接口 它只是一个标志性接口 public interface Serializable { } 标志性接口作用: 标志作用,java虚拟机看见这个类的实现了这个接口,可能对这个类惊醒特殊待遇原创 2021-07-01 08:27:12 · 163 阅读 · 0 评论 -
javase-io-210509-02
javase-io-210509-02 File FIle Fiel 1、 File类和四大家族没有关系,所以FIle类不能完成对文件的读和写 2、 FIle对象代表 文件和目录路径名的抽象表示形式 C:\bgy 这是一个文件 C:\bgy\bgy.txt 这也是一个文件 Demo01.java import java.io.File; import java.io.IOException; public class Demo01 { public static v原创 2021-07-01 08:26:18 · 259 阅读 · 0 评论 -
javase-io-210509-01
javase-io-210509-01 FileReader FileWriter 拷贝 BufferedReader InputStreamReader BufferedWriter DataOutputStream DataInputStream PrintStream FileReader 文件字符输入流,只能读取普通文本 读取文本内容,比较方便,快捷 Demo01 import java.io.FileNotFoundException; import java.io.FileRead原创 2021-07-01 08:25:42 · 183 阅读 · 0 评论 -
javase-io-210508-02
javase-io-210508-02 FileInputStream FileOutputStream 文件拷贝 FileInputStream read方法示意图 Demo01.java import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; /* java.io.FileInputStream: 文件字节输入流,万能流原创 2021-07-01 08:25:11 · 124 阅读 · 0 评论 -
javase-io-210508-01
javase-io-210508-01 什么是IO IO分类 Java中IO四个部落 需要知道 1、什么是IO流 I:Input O:Output 通过IO完成对硬盘文件的读和写 2、IO分类 1. 按照 流 的方式进行分类 以内存为参照物 往内存中去,叫做输入(Input),也叫读(Read) 从内存中出来,叫做输出(Output),也叫做写(Write) 2. 按照读取数据方式进行分类 一、 按照 字节方式原创 2021-07-01 08:24:22 · 204 阅读 · 0 评论 -
javase-thread-210313-01
javase-thread-210313-01 线程同步 死锁 Lock 线程通信 生产者/消费者模式01(管城法) 生产者/消费者模式02(信号灯法) 线程池 线程同步 关键字 synchronized 并发:同一个对象被多个线程同时操作 Demo01 public class Demo08_ThreadUnsafe01 { public static void main(String[] args) { Station station = new Sta原创 2021-07-01 08:22:54 · 117 阅读 · 0 评论 -
javase-thread-210312-01
javase-thread-210312-01 Lamda表达式 线程状态 线程停止 线程休眠 线程暂停 线程强制执行 线程状态 线程优先级 守护线程 Lamda表达式 可以避免匿名内部类定义过多 可以让代码看起来更简洁 去掉了一些没有意义的代码,只留下核心的逻辑 Lamda表达式的使用必须是一种函数式接口(Functional Interface),, Java8才有Lamda表达式 函数式接口的定义: 任何接口,,接口中只包含唯一的一个抽象方法,(只有一个抽象的方法原创 2021-07-01 08:22:12 · 114 阅读 · 0 评论 -
javase-thread-210201-01
javase-thread-210201-01 简介 创建线程 练习 静态代理模式 简介 线程实现 线程状态 线程同步 线程通信问题 操作系统中运行的程序就是进程,一个进程可以有多个线程 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念 进程是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位 通常在一个进程中可以包含若干个线程,一个进程中至少有一个线程(主线程),不然没有意义。线程是CPU调度和执行的单位。 注:很多线程是模拟出来的,真正的多线程是指由多个cp原创 2021-07-01 08:21:39 · 131 阅读 · 0 评论 -
javase-collection-210624-01
javase-collection-210624-01 TreeSet Collections工具类 TreeSetTest01.java package bgy_treeset01; /* 1. TreeSet 集合底层实际上是一个TreeMap 2. TreeMap集合底层是一个二叉树 3. 放到TreeSet集合中的元素,等同于放到TreeMap集合key部分了 4. TreeSet集合 无序不可重复,可以按照元素的大小顺序自动排序,原创 2021-06-24 22:05:19 · 208 阅读 · 0 评论 -
javase-collection-210623-02
javase-collection-210623-02 HashTable Properties HasTableTest01.java package bgy_hashtable01; import java.util.Hashtable; import java.util.Map; /* 1. HashTable中的方法都带有synchronized关键字,是线程安全的 线程安全目前有其它方案,HashTable对线程的处理导致效率较低,所以使用较少 2原创 2021-06-24 22:04:21 · 259 阅读 · 0 评论 -
javase-collection-210623-01
javase-collection-HashMap-210623-01 HashMap HashMapTest01.java package bgy_hashmap01; /* 1. HashMap底层用的是 哈希表/散列表 的数据结构 1)哈希表是一个数组和单向链表的结合体 2)它是一个一维数组,数组中每一个元素是一个单向链表 3)数组:查询效率高,随机增删效率低 4)单向链表:随机增删效率高,查询效率低 1)原创 2021-06-24 22:03:31 · 212 阅读 · 0 评论 -
javase-collection-210622-02
javase-collection-210622-02 Map Map常用接口 package bgy_map01; /* 1. Map和Collection接口没有任何关系 2. Map集合是以 “键-值” 对儿 的方式存储元素 1)key和value都是引用数据类型 2)key和value都是存储对象的内存地址 3. Map接口常用方法 V put(K key , V value) 向M原创 2021-06-24 22:02:38 · 179 阅读 · 0 评论 -
javase-collection-210622-01
javase-collection-210622-01 泛型 foreach HashSet TreeSet 泛型 GenericTest01.java package bgy_generic01; /* JDK5.0之后推出的泛型 泛型语法机制,只在程序编译阶段起作用,只是给编译器参考的 泛型好处: 1. 集合存储元素的类型统一了 2. 从集合中取出来的元素类型是泛型指定的类型,不需要大量的进行“向下转型” 泛型缺点:原创 2021-06-24 22:01:52 · 132 阅读 · 0 评论 -
javase-collection-210621-01
javase-collection-210621-01 LinkedList Vector LinkedListTest01.java package bgy_linkedlist01; /* LinkedList 的数据结构是 双向链表 基础单元为节点node 每一个节点node都有两个属性: 1. 存储的数据 2. 下一个节点的内存地址 LinkedList集合底层也是有下标的 ArrayL原创 2021-06-24 22:01:17 · 189 阅读 · 0 评论 -
javase-collection-210620-01
javase-collection-210620-01 List ArrayList ListTest01.java package bgy_list_01; import java.util.*; /* 1. List 特点: 有序可重复 1)有序:List集合中的元素有下标 从0开始,以1递增 2)可重复:存一个‘bgy’,还能再存一个‘bgy’ 2. List是Collection的子接口原创 2021-06-24 22:00:48 · 214 阅读 · 0 评论 -
javase-collection-210619-01
javase-collection-210619-01 Collection------remove() 在集合中使用remove()方法,会使得集合的结构发生改变,如果此时迭代器还是原来的那个,会报错 例子:CollectionTest02.java 1. 如果使用集合的remove()方法进行删除,要通知迭代器更新,否则报错 2. 或者使用迭代器的remove()方法进行删除 CollectionTest01.java package bgy_test_2161901; import j原创 2021-06-24 22:00:14 · 241 阅读 · 0 评论 -
javase-collection-210408-01
javase-collection-210408-01 什么是集合 集合继承图 Collection常用方法 集合遍历迭代 contains方法 什么是集合 集合就是一个容器,数组就是一个集合,它可以来容纳其他类型的数据 集合不能直接存储基本类型的数据,另外集合也不能直接存储java对象, 集合当中存储的都是java对象的内存地址,或者说是集合中存储的引用 注:集合在java中本身是一个容器,是一个对象,集合中任何时候储存的都是引用 在java中每一个不同的集合,底层会对应不同的数据结构。往不原创 2021-06-24 21:59:39 · 236 阅读 · 0 评论
分享