自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 深入类加载机制

首先,我们定义一个待加载的普通Java类:Test.java。@Override注意:如果你是直接在当前项目里面创建,待Test.java编译后,请把Test.class文件拷贝走,再将Test.java`删除。因为如果Test.class存放在当前项目中,根据双亲委派模型可知,会通过sun.misc.Launcher$AppClassLoader类加载器加载。为了让我们自定义的类加载器加载,我们把Test.class文件放入到其他目录。

2024-06-01 10:59:10 899

原创 CSS栅格系统

*内容标签*/ width : 400px;/*设置行间距设置列间距组合定义:设置行列间距为20px与10px} div {/*背景被裁剪到内容框*/ } </ style >/*内容标签*/ width : 400px;/*设置行间距设置列间距组合定义:设置行列间距为20px与10px} div {/*背景被裁剪到内容框*/ } </ style >/*内容标签*/ width : 400px;/*设置行间距。

2024-05-31 18:59:29 731

原创 HTML5新特性

在文件的开头总是会有一个标签。

2024-05-30 11:21:00 404

原创 JDK1.8新特性

Lambda是一个匿名函数(方法), 允许把函数作为一个方法的参数。利用Lambda表达式可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。一般都是优化匿名内部类函数式接口是指仅仅只包含一个抽象方法的接口,jdk1.8提供了一个@FunctionalInterface注解来定义函数式接口,如果我们定义的接口不符合函数式的规范便会报错。配合Lambda表达式一起使用Stream(流)是数据渠道,用于操作数据源(集合、数组等),生成元素序列。

2024-05-28 11:42:37 991

原创 Java注解Annotation学习

SuppressWarnings:镇压警告,定义在java.lang.SuppressWarnings中用来抑制编译时的警告信息,与前两个注释有所不同.你需要添加参数才能正确使用。元注解的作用:负责注解其他注解,Java定义了4个标准的meta-annotation类型,他们被用来提供对其他annotation类型作说明。@Overrlde:定义在java.lang.Override中,此注解只适用于修饰方法,表示一个方法声明打算重写超类中的另一个方法声明。

2024-05-27 20:46:56 342

原创 Java网络编程

实现多台计算机之间实现数据的共享和传递,网络应用程序主要组成为:网络编程+IO流+多线程。

2024-05-25 20:26:43 603

原创 Java_IO流学习

I – in – 输入(读)O – out – 输出(写)流 – 一点一点的像水流一样去传输数据注意:站在程序的角度去看待输入还是输出。

2024-05-23 15:06:29 711

原创 JavaIO流学习

I – in – 输入(读)O – out – 输出(写)流 – 一点一点的想水流一样去传输数据注意:站在程序的角度去看待输入还是输出。

2024-05-20 13:04:39 253

原创 Java线程池

OverrideSystem.out.println(r.toString()+"执行了拒绝策略");});i <= 10;i++) {@Overridetry {在《阿里巴巴java开发手册》中指出了线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程,这样一方面使线程的创建更加规范,可以合理控制开辟线程的数量;另一方面线程的细节管理交给线程池处理,优化了资源的开销。

2024-05-20 08:58:42 807

原创 Java线程池学习

OverrideSystem.out.println(r.toString()+"执行了拒绝策略");});i <= 10;i++) {@Overridetry {在《阿里巴巴java开发手册》中指出了线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程,这样一方面使线程的创建更加规范,可以合理控制开辟线程的数量;另一方面线程的细节管理交给线程池处理,优化了资源的开销。

2024-05-18 13:01:07 983

原创 Java多线程

什么是线程?线程是进程里面的一条执行路径,每个线程同享进程里面的内存空间和系统资源一个进程 可以有 多个线程:各个线程都有不同的分工理解线程和进程的关系进程 与 进程 之间的关系:进程之间的内存空间和系统资源是独立的同一个进程里的多条线程 :线程之间的内存空间和系统资源是共享的进程里:可以有一条或一条以上的线程进程里只有一条线程的情况下,这条线程就叫做主线程进程里有多条线程的情况下,只有一条线程叫做主线程Ps:线程是在进程里的,他们是包含关系。

2024-05-17 18:54:49 519

原创 Stack底层源码

【代码】Stack底层源码。

2024-05-17 17:40:57 93

原创 Vector底层源码

在多线程下使用,因为Vector方法上加锁,是线程安全的集合。如果容量增量大于0,扩容机制是:数组原来长度 + 容量增量。如果容量增量小于等于0,扩容机制是:数组原来长度的2倍。Vector的底层数据结构是什么?Vector的使用场景是什么?Vector的扩容机制是什么?Object类型的一维数组。

2024-05-17 17:40:05 194

原创 TreeMap底层源码

注意:TreeMap的数据结构是红黑树(平衡二叉树)红黑树的区别:添加和删除慢。红黑树的优点:查询快。

2024-05-16 12:57:24 266

原创 HashMap底层源码

负载因子过小(0.1),会导致数组装了一点点数据就扩容,利用了时间,浪费空间。最大容量是int类型,1<<30为int类型取值范围里最大的2的幂的数字。负载因子过大(1),会导致数组装满后才扩容,利用了空间,浪费时间。作用:数组长度*负载因子=阈值,负载因子决定扩容比例。HashMap的默认负载因子是多少?JDK1.7版的HashMap数据结构是什么?HashMap的默认负载因子为什么是0.75?HashMap的容量为什么必须是2的幂?HashMap的默认容量是多少?HashMap阈值的作用是什么?

2024-05-16 12:56:17 217

原创 手撕LinkedList底层源码

一般项目中使用ArrayList居多,因为业务流程里查询业务是最多的。ArrayList 和 LinkedList效率的区别?LinkedList的底层数据结构是什么?添加功能 - 不扩容:ArrayList快。添加功能 - 扩容:LinkedList快。删除功能:LinkedList快。LinkedList:双向链表。修改功能:ArrayList快。查询功能:ArrayList快。ArrayList:一维数组。

2024-05-15 16:11:32 337

原创 ArrayList底层源码分析

ArrayList最大容量为什么是Integer.MAX_VALUE-8?根据需求判断元素大概的长度,在创建集合时指定长度,减少扩容次数,提高效率。ArrayList默认初始化容量是多少?ArrayList的数据结构是什么?减8是为了腾出空间存放数组的头部信息。如何减少集合的伸缩性及其目的是什么?ArrayList最大容量是多少?ArrayList扩容机制是什么?扩容后的长度是原来长度的1.5倍。Object类型的一维数组。

2024-05-15 15:09:05 194

原创 Java集合学习

ListIterator :List接口下所有的实现类可以获取的迭代器,可以在遍历时删除、替换、添加元素,也可以指定下标开始遍历,还可以倒叙遍历。ConcurrentHashMap:存key+value,key去重,无序,线程安全,局部加锁、CAS-效率高。Hashtable:弃用,存key+value,key去重,无序,线程安全,方法加锁-效率低。LinkedHashMap:存key+value,key去重,有序,线程不安全。HashMap:存key+value,key去重,无序,线程不安全。

2024-05-14 15:42:47 561

原创 Day 15

Java 枚举Enum学习

2024-05-13 12:55:23 624

原创 Day14

Java常用类的学习与使用

2024-05-11 19:16:29 193

原创 Day13 Java String字符串学习

经验:看底层,找场景。

2024-05-10 21:47:56 146

原创 Day 12

理解:一个类中再声明另外一个类。

2024-05-09 21:03:30 106

原创 Java Day11

/抽象类public abstract class 类名{//抽象方法 public abstract void method();抽象方法交给非抽象的子类去实现(重写)应用场景:当一个方法必须在父类中出现,但是这个方法又不好实现,就把该方法变成抽象方法,交给非抽象的子类去实现面试题:1.抽象类不能有构造方法?抽象类可以有构造方法2.抽象类中只能有抽象方法?抽象类中有非抽象方法(成员方法和静态方法)3.抽象类中不可以没有抽象方法?抽象类中可以没有抽象方法,但是毫无意义。

2024-05-08 16:55:49 211

原创 Java Day10

使用场景:多个类似的类,有相同的属性和方法,就可以把相同属性和方法抽取到父类好处:减少了代码的冗余深入继承:创建子类对象,会不会调用父类构造方法?会创建子类对象,会不会创建父类对象?不会创建子类对象,为什么会调用父类构造方法?目的是将父类的属性存放在子类对象中创建子类对象,先调用父类构造方法还是子类构造方法?先调用子类构造方法创建子类对象,先完成父类构造方法还是子类构造方法?先完成父类构造方法子类可以继承父类私有化的属性和方法吗?​ 可以,但是只能间接调用。

2024-05-07 15:54:19 354

原创 Java Day09

知识点:构造方法/构造器知识点:this含义:this表示调用该方法的对象作用:1.this.属性:调用本对象的成员属性2.this.方法:调用本对象的成员方法3.this():在构造方法的第一句调用另外一个构造方法知识点:private理解:private是访问修饰符的一种,表示私有扩展:访问修饰符可以修饰属性和方法作用:1.修饰属性:该属性不能在类的外面使用2.修饰方法:该方法不能在类的外面使用应用场景:1.不想让外界直接调用的属性就使用private修饰。

2024-05-06 17:33:02 261

原创 Java 面向对象

Java面向对象

2024-04-30 16:27:09 129

原创 Java 排序算法[冒泡排序]以及数组的各种操作

Java排序算法,数组的各种操作

2024-04-29 16:15:21 85

原创 Java面向对象,数组,方法

帮助理解java概念

2024-04-28 17:20:24 144 1

原创 while和dowhile的理解与使用

知识点:特殊的流程控制语句 – return。知识点:特殊的流程控制语句 – break。含义:作用于循环中,表示跳出/结束当前循环。知识点:特殊的流程控制语句 – label。含义:作用于方法中,表示结束当前方法。知识点:while循环。

2024-04-26 17:02:48 136

原创 转义字符,常量及Java流程控制语句

理解:具有特殊意义的字符本身。

2024-04-25 17:02:55 102

原创 Java运算符的使用

Java运算符学习小结

2024-04-24 19:05:17 383

原创 Day 03 基本语句

java基本循环语句回顾

2022-06-02 11:14:36 50 1

原创 Day 02 面向对象

day02 JavaSe学习

2022-06-01 11:50:13 66

原创 Day01 HelloWorld入门

java复习回顾记录

2022-05-31 22:05:41 50

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除