- 博客(19)
- 收藏
- 关注
原创 Java自学笔记——IO流
Java自学笔记——IO流分类文件流流:数据在数据源(文件)和程序(内存)之间经历的路径输入输出流(以程序为主体文件与IO流的区别分类字节流 8bit InputStream OutputStream 字节文件如视频图片等字符流 按字符 Reader Writer 文本文件都是抽象类,不能实例化结点流 处理流(包装流)##FileInputStreampackage com.hz.file.FileInputStream;import org.junit.
2021-12-13 12:35:33
235
原创 Java自学笔记——文件
Java自学笔记——文件文件是保存数据的地方创建package com.hz.file;import org.junit.Test;import java.io.File;import java.io.IOException;/** * @author Lspero * @version 1.0 * 创建文件 *//*文件是保存数据的地方文件流: 流:数据在数据源(文件)和程序(内存)之间经历的路径 输入输出流(以程序为主体)*/public cla
2021-12-12 10:54:05
326
原创 Java自学笔记——线程
Java自学笔记——线程基本概念进程:运行中的程序,操作系统会为进程分配内存空间,有产生、存在、消亡的过程线程:线程由进程创建,是进程的一个实体,一个进程可以有多个线程单线程 多线程(可以执行多个进程)并发(多任务交替执行,单核CPU)并行(同一时刻,多个任务同时执行,多核CPU) 并发并行可能同时存在实现方式一、继承Thread类/*1.继承Thread类,该类可以当作线程使用2.重写run()方法,Thread类实现了Runnable接口的run()方法
2021-11-30 15:24:14
143
原创 Java自学笔记——绘图入门
Java自学笔记——绘图入门面板定义面板类,绘图在面板上绘制,继承JPanel类画笔Graphics g, 用于在面板上绘制图形//1.定义面板MyPanel , 继承JPanel类 , JPanel对应面板 , 图形在面板上绘制class MyPanel extends JPanel { //2.画笔 Graphics g , 用于在面板上绘制图形 @Override public void paint(Graphics g) { //调用父类方法
2021-11-28 18:55:02
257
原创 Java自学笔记——自定义泛型
Java自学笔记——自定义泛型特点定义以下的Tiger类,省略部分get set 方法class Tiger<T, R, M>{ String name; R r; T t; M m; //泛型数组不能初始化 //数组在 new 时无法确定T的类型,无法确定开辟多少空间,因此只能定义 //T[] ts = new T[8]; T[] ts; //静态和类相关,在类加载时,对象还没创建,如果使用泛型,JVM就无法完成
2021-11-26 16:33:07
312
原创 Java自学笔记——泛型
Java自学笔记——泛型普通集合和泛型区别public class ArrayList<E> {},E称为泛型E 具体的数据类型在定义对象时指定,即在编译期间,就确定 E 的数据类型普通集合不能对加入集合的类型进行约束遍历时需要类型转换,数据量大时,效率低假如不小心加入一只 Cat 会抛出类型转化异常/** * @author Lspero * @version 1.0 */public class Generic01 { public static
2021-11-23 23:49:45
322
原创 Java自学笔记——TreeSet
Java自学笔记——TreeSetTreeSet特点无参构造器 仍然是无序的使用TreeSet构造器,可以传入一个比较器(匿名内部类),指定排序规则无参构造器 以添加对象实现的Compareable接口的compareToComparable<? super K> k = (Comparable<? super K>) key使用TreeSet构造器,可以传入一个比较器(匿名内部类),去重时按这个方法去重,而不是调用equals()import java.
2021-11-21 15:40:42
246
原创 java自学笔记——HashMap源码初探
java自学笔记——HashMap源码初探源码关于下列代码,Debug追源码/** * @author Lspero * @version 1.0 */@SuppressWarnings("all")public class HashMapSourse_ { public static void main(String[] args) { HashMap map = new HashMap(); map.put("java", 10);
2021-11-19 16:39:39
245
原创 Java自学笔记—Map
Java自学笔记—MapMap特点Map用于保存具有映射关系的数据:Key-Value(双列元素)Map中 key 和 value 可以是任意类型,会封装到HashMap$Node 对象中Map 中key不允许重复,key 只能一个为空,value 可以多个为空,key可以为任意对象key he value 单项一对一,指定的key有对于的value/** * @author Lspero * @version 1.0 */public class Map_ { publ
2021-11-17 16:40:59
376
原创 Java自学笔记—LinkedHashSet
Java自学笔记—LinkedHashSet特点HashSet子类底层是LinkedHashMap,底层维护了一个数组 + 双向链表,有 head 和 tail 结点每个结点有before和after属性,以便形成双向链表根据hashCode值确定元素存储位置,同时使用链表维护元素次序,使得元素看起来以插入顺序保不允许添加重复元素遍历时可以确保遍历和插入顺序一致在添加元素时,先求hash值,再求索引,确定table位置,然后将该元素加到双向链表(如果已经存在,则不添加,和HashSet一
2021-11-15 19:46:08
338
原创 Java自学笔记—HashSet
Java自学笔记—HashSetSet接口特点Set接口为Collection接口的一个子类无序,没有索引不允许重复,最多一个null常用方法和Collection一样,但不能用索引获取元素/** * @author Lspero * @version 1.0 */@SuppressWarnings("all")public class SetMethod { public static void main(String[] args) { /*
2021-11-13 16:59:07
744
原创 Java自学笔记—LinkedList
Java自学笔记—LinkedList特点底层实现了双向列表和双向队列的特点,list和last属性指向首节点和末节点每个节点(Node对象),有prev、next、item三个属性,prev指向前一个,next指向后一个,实现双向列表可以添加任意元素,可重复线程不安全自定义双向链表定义一个Node类//定义一个Node类,表示双向列表的一个结点class Node{ public Object item;//真正存放数据 public Node next;//指向后一
2021-11-10 16:26:30
51
原创 Java自学笔记—ArrayList源码初探
Java自学笔记—ArrayList源码初探空参构造器使用空参构造器new一个对象,并追源码查看其创建过程public class ArrayListSource { @SuppressWarnings("all") public static void main(String[] args) { ArrayList list = new ArrayList(); for (int i = 0; i <= 10 ; i++) {
2021-11-08 16:16:32
86
原创 java自学笔记—Collection
java自学笔记—Collection java自学笔记—Collection迭代器遍历常用方法子接口ListList常用方法1.Collection为单列集合,Map为双列集合2.可以存放多个对象,为Object3.有些实现类有序List,有些无序Set4.没有直接的实现子类,通过子接口Set和List实现Collection集合的实现接口如下Map集合的实现接口如下迭代器遍历所有实现Collection接口的子类有迭代器Iterator,可用于遍历/** * @author
2021-11-07 19:23:17
57
原创 Java自学笔记—其他类
Java学习笔记—其他类其他类Java学习笔记—其他类ArraysSystem大数BigIntegerBigDecimal日期类DateCalendarInstantLocalDateTime总结Arrays/** * @author Lspero * @version 1.0 */public class ArraysMethod { public static void main(String[] args) { Integer[] integers = {1, 1
2021-11-05 08:24:07
283
原创 Java自学笔记—StringBuffer
Java自学笔记—StringBuffer特点可变字符序列直接父类AbstractStringBuilder,有char[] value;不是finalvalue数组存放字符串,不是final,因此存在堆中实现了Serializable 接口,可以串行化String中value指向常量池,为final类型,每次更新内容都要更新地址,即创建新对象Stringbuffer中value指向堆,没有final修饰,不用每次更新地址(有缓冲扩容机制),效率高构造器空参构造器默认有16个字符的缓冲
2021-11-02 22:29:57
122
原创 Java自学笔记—String类
Java自学笔记—String类构造器String a = "abc";String对象a直接指向常量池而不会在堆中创建对象String x = new String("abc");先在堆中创建对象,再指向常量池/** * @author Lspero * @version 1.0 */public class String02 { public static void main(String[] args) { String a = "abc";//a->常量
2021-10-31 00:15:20
92
原创 Java自学笔记 — 首篇博文
Java自学笔 — 第一遍博文前言非科班出生,自学了一段Java,希望以后能够从事相关工作,原本打算写博客记录下,但是由于懒惰鸽了好久,自身表达能力也十分缺欠。主要由于最近搭建个人博客遇到的事,让我决心开始记录点什么。博客趣事作为小白一名。搭建博客当然采用Hexo+Github啦,搭建过程还算顺利,遇到问题也都解决了。当自己的博客部署到GitHub时,甭提多开心了,虽说根本没什么技术含量。第二步就开始找Hexo主题,直接百度,突然出现的界面让我心惊胆颤:看到这界面着实让我吓了一大跳,最主要的是当
2021-10-27 23:17:01
87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人