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