![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 70
世界的尽头..
这个作者很懒,什么都没留下…
展开
-
java 函数式编程(Function、Supplier、Predicate、Consumer)
java 函数式接口,Function、Supplier、Consumer、Predicate原创 2024-03-29 00:41:40 · 1204 阅读 · 1 评论 -
Java中将科学计数法转为double
java 科学计数法转为 double原创 2022-12-01 16:41:41 · 2926 阅读 · 1 评论 -
令人头疼的HashMap
目录HashMap简介通过内部内Node节点来包装数据HashMap中的成员变量接下来聊一聊HashMap的构造方法HashMap的put方法HashMap的get方法HashMap扩容HashMap简介JDK1.8之前,HashMap的底层是数组+链表,JDK1.8之后底层是由数组+链表+红黑树组成,当链表长度到达一定时,会转化为红黑树,查找的效率由之前的链表查找O(n) 变为红黑树O(log n),查询元素的效率有所提高通过内部内Node节点来包装数据static class Node<原创 2021-08-12 19:22:40 · 246 阅读 · 0 评论 -
浅谈LinkedList
概述LinkedList底层是双向量表结构,实现了List和Queue接口,内部用Node来包装数据,Deque双端队列,继承了Queue接口,在Queue的基础上做了很多的扩展,可以在两端进行插入和删除,使得Deque数据结构非常灵活.使用方式List<Integer> list = new LinkedList<>(); //数组使用Queue<Integer> queue = new LinkedList<>();//队列使用Deque<原创 2021-08-11 20:27:15 · 214 阅读 · 0 评论 -
浅谈java.util.ArrayList
目录ArrayList的成员变量ArrayList构造器add()方法执行流程数组扩容 growremove()ArrayList的成员变量 //数组的默认容量大小 private static final int DEFAULT_CAPACITY = 10; //当传入数组大小为0时,创建的数组 private static final Object[] EMPTY_ELEMENTDATA = {}; //默认使用无参构造器时创建的数组 private st原创 2021-08-11 14:11:07 · 6582 阅读 · 0 评论 -
Arrays.copyOf()和System.arraycopy()方法
目录一级目录二级目录三级目录System.arraycopy()方法实现复制Arrays.copyof()方法实现复制总结一级目录二级目录三级目录System.arraycopy()方法实现复制System中提供了一个native静态方法arraycopy(),可以使用这个方法来实现数组之间的复制。该方式复制是属于浅拷贝.public static native void arraycopy(Object src, int srcPos,原创 2021-08-11 11:16:12 · 724 阅读 · 0 评论 -
方法重载和方法覆盖
目录方法重载方法覆盖(重写)方法重载当一个类中的“功能1”和功能“2”相似的情况下,可以考虑将方法进行重载,重载必须满足的三个条件条件1:在同一个类中,条件2:方法名相同条件3:方法的参数列表不同(个数,顺序,类型)方法覆盖(重写)什么是方法覆盖?当子类继承父类之后,父类的方法达不到或者不符合子类在开发中的要求和效果,就可以对父类的方法进行覆盖方法覆盖不需要满足的是两个类之间有继承关系,方法的覆盖只能覆盖父类型 的方法,属性和构造方法都不能进行覆盖因为子类继承父类不能继承父类的构造方法原创 2021-08-08 20:37:38 · 148 阅读 · 0 评论 -
java多线程 -- 线程池
一 什么是线程池简单理解就是装有线程的池子,和数据库连接池的概念是一样的.事先准备好一资源,当有人需要用的时候,直接过来资源,用完之后将资源归还,通过线程池可以达到多个线程的复用程序的执行肯定会消耗占用系统的资源,我们可以通过池化技术(线程池)来优化资源的使用,使线程复用,这样可以大大降低资源的消耗,提高系统响应速度,更方便我们管理线程,二 线程池的使用我们可以通过ThreadPoolExecutor来创建一个线程池:我们来分析一下源码public ThreadPoolExecutor(int原创 2021-07-31 14:06:54 · 348 阅读 · 0 评论 -
java SE面向对象思维导图
原创 2021-01-28 21:58:35 · 513 阅读 · 1 评论 -
java中的异常机制
什么是异常?public class ExceptionTest01 { public static void main(String[] args) { int a = 10; int b = 0; int c = a/b; System.out.println(a + "/" + b +" = " + c); }}运行结果为Exception in thread "main" java.lang.Arithmet原创 2021-01-25 21:06:01 · 101 阅读 · 0 评论 -
java中的继承和多态
继承继承直观来说:现实生活中父亲很有钱,儿子就可以不用努力,直接拥有父亲的钱,在java中子类拥有父类中属性和方法(私有的不能被继承)叫做继承.子类继承父类之后,代码就得到了复用,但主要的作用是有了继承才有多态和方法覆盖.继承的相关特性1:B类继承A类,则称类为超类(superclass) 、 父类、基类B类则成为子类(subclass)、派生类、扩展类2:java中只支持单继承3:java中的类没有显示的继承任何类,则默认继承Object类,Object类java提供的根类,老祖宗。也就是说原创 2021-01-24 19:55:18 · 227 阅读 · 0 评论 -
java中String类的常用方法
构造方法String 类型的构造方法String s = “”; 最常用String s = "hello";2,String s = new String("");String s = new String("hello");3,String s = new String(char数组);char[] chars = {'你','好'};String s = new String(chars)4,String s = new String(char数组,起始下标,长度原创 2021-01-20 10:40:07 · 191 阅读 · 0 评论 -
java中的类和对象(它来了~~~)
这里写目录标题面向对象和面向过程面向过程面向对象类和对象什么是类什么是对象构造方法面向对象和面向过程面向过程-面向过程主要是每一步和每一步的因果关系,当我们需要实现一个功能,第一步要干什么,第一步完成之后,在第一步的基础上第二步需要完成什么,第二步完成了,在第二步的基础上完成第三步,每一步和每一步之间都有一中因果关系结合到一起.就叫做面向过程.-明显就可以发现面向过程的问题了,当一步走错之后,那接下来的每一步都会发生问题,那么整个系统的运转就会出现问题,代码的耦合度太高了,导致代码的扩展力很差.原创 2021-01-11 11:39:24 · 103 阅读 · 0 评论 -
方法重载它来啦~~~~
目录当程序不使用方法重载机制时使用方法重载机制解决之前的矛盾`总结什么时候使用方法重载?什么时候会发生代码重载?当程序不使用方法重载机制时public class OverloadTest01 { public static void main(String[] args) { int result1 = sumInt(11,23); System.out.println(result1); long result2 = sumLong(12343原创 2020-12-29 20:11:30 · 84 阅读 · 0 评论 -
方法执行过程中内存的变化
目录栈内存结构java中的栈是什么栈内存的图示栈内存的特点:方法调用的过程栈内存结构java中的栈是什么栈是JVM中的一块特殊的内存区域,而JVM也是操作系统创建出来的一个进程,对于每一个程序来说,内存的使用都要通过操作系统来管理,java为了让内存管理起来更加方便,在JVM启动的时候,直接从操作系统中申请一大块内存,自行管理JVM对申请到的一大块内存进行进一步的区域划分,其中的一块区域就叫做栈。栈内存:方法调用的时候,该方法需要的空间在栈内存分配;方法不调用的时候不会再栈中分配空间的方法只原创 2020-12-29 14:41:45 · 226 阅读 · 0 评论 -
java中this关键字
1、我们了解this作用之前,先了解this是什么?在内存方面是怎样的?其实呢this是个变量,是个引用,保存当前对象的内存地址,指向自身。this代表的就是“当前对象”;它是存储在堆内存中当前对象的内部一个对象一个this在内存中的存在:需要注意的是图中只画了类中的一个对象。我们再创建个对象,也是一样的,this还在对象内部,只不过这个对象的地址改变了而已,当然this所指的地址也会改变,假如这里我们创建了个对象为c2,那this所指的地址和c2也是一样的,这个对象地址是什么,this所指的原创 2020-12-09 09:40:59 · 307 阅读 · 2 评论 -
java中static关键字(详解)
static修饰变量class People{ String name; String county; int id; public People(){ } public People(String name,String county,int id){ this.name = name; this.county = county; this.id = id; }}public class Test原创 2020-12-03 23:27:32 · 266 阅读 · 3 评论 -
Java语言特性以及编译和运行
这里写目录标题java语言的特性【开源、免费、纯面向对象、跨平台】简单性:面向对象:可移植性:多线程健壮性:安全性java的加载与执行编译阶段运行阶段JDK、JRE、JVM的关系java语言的特性【开源、免费、纯面向对象、跨平台】简单性:相对而言的,java中不再支持多继承,c++中支持多进程,c++中有指针,java中已经屏蔽了指针的概念java语言的底层是c++,而不是c语言。面向对象:java是纯粹面向对象的,更符合人的思维模式。可移植性:什么是可移植性?java程序可以说是一次编译原创 2020-12-02 11:51:00 · 469 阅读 · 4 评论