Java
Java学习笔记
百香果果ccc
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java中JSON和对象的相互转换
jar包下载地址:https://repo1.maven.org/maven2/com/fasterxml/jackson/core/原创 2025-02-06 13:38:15 · 272 阅读 · 0 评论 -
Java中的Record
① 可以在此基础上声明静态属性、静态方法、构造器、实例方法。③ 不能将Record声明为abstract。⑤ Record中的成员变量都是私有的常量。④ 不能为Record声明父类、子类。② 不能在声明其他的属性。原创 2024-12-02 17:00:41 · 186 阅读 · 0 评论 -
java中switch新特性
【代码】java中switch新特性。原创 2024-12-02 15:56:57 · 252 阅读 · 0 评论 -
Java中的StreamAPI
可以对集合、数组的数据进行排序、查找、过滤、遍历、映射等操作。对于非关系型数据库,可以在java层面对数据进行计算。通过Stream的of():跳过n个元素,返回剩下的。:截断,取给定个数的元素。原创 2024-12-02 14:36:58 · 791 阅读 · 0 评论 -
Java中的Lambda表达式
前提条件:抽象方法的返回值类型跟内部语句的返回值类型一样,且参数不一样,但是第一个参数是内部语句的调用者,第二个参数是内部语句的参数。前提条件:抽象方法的参数、返回值类型 跟 内部语句的参数、返回值类型一样。前提条件:抽象方法的参数、返回值类型 跟 内部语句的参数、返回值类型一样。形参列表:参数类型都可以省略(类型推断);方法体:只有一行语句,可以省略return和大括号。适用场景:接口中只有一个抽象方法(函数式接口)时。前提条件:重写方法的内部只有一条语句时。格式:类(对象):: 方法名。原创 2024-12-01 21:58:35 · 535 阅读 · 0 评论 -
Java中网络相关的InetAddress类、Socket类和URL类
InetAddress类的一个实例就代表一个具体的IP地址。原创 2024-11-26 13:58:09 · 987 阅读 · 0 评论 -
Java中的File和IO流
允许把内存中的Java对象转换成二进制流,从而允许把这种二进制流永久的保存在磁盘上,或者通过网络将这种二进制流传输到另一个网络节点,当其他程序获取到了这种二进制流,就可以恢复成原来的Java对象。可以提高文件的读写效率(相当于在文件和内存中间架了一层8kb的缓存区,先从文件中读取到缓存中,最后再一并读入到内存中)可以用于txt文件的复制,但是用于读取txt文件可能会出现乱码(如果遇到汉字,一个汉字占3个字节,可能读不完整)① 字符流一般用于读取txt文件,字节流一般用于读取mp3、mp4、jpg等文件。原创 2024-11-24 21:25:30 · 807 阅读 · 0 评论 -
Java中的泛型
限制容器存储的元素类型,用于集合、接口、实现类中说明:泛型参数在指明时,不可以使用基本数据类型!不过可以使用包装类替换说明:① 在定义类/接口时加上,就表示此类/接口具备了泛型功能② 类/接口中所有用到的泛型(T)的地方,都会替换成实例化时声明的类型③ 当一个类继承泛型类时,泛型默认不会继承过来,所以此子类不是个泛型类(需要单独指明泛型),并且父类带泛型的属性默认是Object类型④ 在静态方法中不能使用泛型,因为在创建对象时才能指明泛型类型⑤ 异常类不能带泛型。原创 2024-11-13 22:47:51 · 457 阅读 · 0 评论 -
Java中的集合
无序性: 与添加元素的存储位置有关,是根据添加元素的哈希值计算出在集合中的存储位置,此位置不是紧密排列不可重复性:添加到集合中的元素不能相同,判断标准是hashCode()和equals()都相同才算相同,如果hashCode相同,equals不同,则算是不同的元素,因为在同一个位置可能会有多个元素,多个元素是通过链表的方式相连的。原创 2024-11-13 10:49:46 · 1137 阅读 · 0 评论 -
Java中的System类、Runtime类、Math类、BigInteger类、BigDecimal类、Random类
如果一个数比Long型(2^63 - 1)还大,就可以使用BigInteger,它可以表示。如果一个数比float型、double型还大,就可以使用BigDecimal,它可以表示。:退出系统,status为0代表正常退出,非0代表异常退出。:获取系统中属性对应的属性值。:取随机数,范围为[0,1):返回a、b中的最大值。:返回a、b中的最小值。:获取当前时间毫秒数。原创 2024-11-04 21:50:27 · 1024 阅读 · 0 评论 -
Java中的排序
案例:将产品按照价格从低到高排序,如果价格相同,则按名称ASCII大小排序。原创 2024-11-04 11:45:09 · 282 阅读 · 0 评论 -
Java中的日期时间
Calendar是一个抽象类,所以不能创建Calendar的对象,但提供了一个getInstace()可以获取到其子类的对象。:针对LocalDate、LocalTime、LocalDateTime日期的格式化和解析。:用于将java.util.Date类的日期格式化和解析。:将日历对象转为Date对象。:sql中的Date类。:在当前基础上增加xx。原创 2024-11-03 21:20:19 · 922 阅读 · 0 评论 -
Java中的String
按照区间[beginIndex, endIndex)截取字符串,第二个参数是可选参数,不写的话,从beginIndex开始,截取到末尾。:【从前往后】判断s在字符串中首次出现的索引位置,未找到返回-1;:判断字符串是否以s字符串开头的,第二个参数是可选的,表示从index索引位置开始判断是否以s字符串开头。:比较两个字符串的大小,按照ASCII比较,区分大小写,前者大返回正数,后者大返回负数,相同返回0;:返回字符串常量中的地址,存在返回地址,不存在会生成一个字面量并返回。:判断字符串中是否包含s。原创 2024-11-02 18:42:52 · 1078 阅读 · 0 评论 -
Java中线程间的通信机制
① 这三个方法必须写在synchronized同步代码块或同步方法中。多个线程需要协作通信来共同完成同一件事。② 这三个方法的调用者必须是同步监视器。:一旦执行,会让当前线程进入阻塞状态。原创 2024-10-30 13:54:08 · 321 阅读 · 0 评论 -
Java中的死锁问题
③ 针对“不可抢夺”,占用部分资源的线程在进一步申请其他资源时,如果申请不到,就主动释放掉已经占用的资源。不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁(② 针对“占用且等待”,可以考虑一次性获取所需的资源,这样就不会存在等待的问题。④ 针对“循环等待”,可以将资源改为线性顺序,申请资源时,先申请序号较小的。① 针对“互斥条件”,无法破坏此条件,因为线程需要互斥解决安全问题。原创 2024-10-30 10:19:11 · 229 阅读 · 0 评论 -
Java中线程安全问题解决方案
线程安全问题:多个线程操作同一个属性时,会有安全问题。原创 2024-10-28 15:30:58 · 462 阅读 · 0 评论 -
Java中的程序、进程、线程、并行和并发
NEW(新建)、RUNNABLE(就绪+运行)、TERMINATED(死亡)、BLOCKED(锁阻塞)、WAITING(无限等待)、TIMED_WAITING(计时等待)③ Callable使用了泛型参数,可以指明具体的call()的返回值类型,更灵活。② 提高线程的复用率(线程使用完未销毁,而是可以继续去执行其他的任务)② 重写Thread类中的run方法(方法体中写线程要执行的操作)① 创建实现Runnable接口的类,并实现接口中的run方法。③ 可以设置相关参数,对线程池中的线程进行管理。原创 2024-10-25 13:59:32 · 293 阅读 · 0 评论 -
Java的异常处理
① 子类重写的方法抛出的异常类型可以与父类被重写的方法抛出的异常相同,或是父类被重写的方法抛出的异常类型的子类。① 抛:程序在执行的过程当中,一旦出现异常,就会在出现异常的代码处,生成对应异常类的对象,并将此对象抛出。③ 提供全局常量,static final long serialVersionID;① 继承现有异常类(RuntimeException,Exception)② 抓:针对于上方抛出的异常对象,进行捕获处理。② 依照父类,提供几个重载构造器。向上抛出异常,延后处理。原创 2024-10-21 17:30:46 · 434 阅读 · 0 评论 -
Java的包装类
① 在UTF-8中,一个中文占用3个字节,一个字母占1个字节。② 在GBK中,一个中文占2个字节,一个字母占1个字节。③ 编码和解码需要使用同一个字符集,否则会乱码。原创 2024-08-22 20:43:33 · 415 阅读 · 0 评论 -
jUnit单元测试
② 在单元测试方法中默认情况下,Scanner不生效,需要在Help -> Edit Custom VM options中增加一行。b、@Test修饰的方法必须是public、非抽象、非静态、void、无参数。a、所在类必须是public且非抽象,只能有一个空参构造器(可省略)① 单元测试方法需要满足。原创 2024-08-20 16:50:58 · 270 阅读 · 0 评论 -
Java中的Annotation注解
【代码】Java中的Annotation注解。原创 2024-08-19 15:32:18 · 182 阅读 · 0 评论 -
Java中的枚举
枚举也可以实现接口,可以在类中去重写接口的方法,也可以单独在每个枚举对象中重写接口的方法。可以获取指定常量名的对象,如果传入的常量找不到对象,则会报错。打印的都是常量名字“SPRING”方法可以获取所有的枚举对象(数组)可以获取当前对象的索引3。原创 2024-08-19 13:51:21 · 194 阅读 · 0 评论 -
java中的接口interface
③ 如果一个实现类继承了多个接口,并且不同接口中存在同名同参数的方法,在实现类不重写该方法的情况下,会报错“接口冲突”,只有在实现类中重写该方法,才不会报错。④ 当子类继承了父类并实现了接口,在父类和接口中定义了同名同参数的方法(接口中的是默认方法),当在子类中没有重写此方法的情况下,会根据。① 抽象类中可以声明常量、变量、代码块、构造器、普通方法、抽象方法,接口中只能声明常量、抽象方法、静态方法、默认方法。⑥ 类必须将实现的接口中的所有抽象方法重写,才可以实例化,否则,此实现类必须声明为抽象类。原创 2024-07-12 17:47:09 · 990 阅读 · 0 评论 -
java中的抽象类abstract
③ 子类继承父类之后,必须重写父类全部的抽象方法,才能实例化对象,否则这个子类依然是个抽象类。② abstract不能共用的关键字:private、static、final。④ 抽象类中包含构造器,因为在子类实例化对象时,会直接或间接调用父类构造器。③ 抽象类可以没有抽象方法,但是抽象方法所在的类,一定是抽象类。① abstract不能修饰属性、代码块、构造器。② 抽象方法只有方法的声明,没有方法体。② 抽象类不能实例化对象。原创 2024-07-02 15:04:08 · 184 阅读 · 0 评论 -
java中的final关键字
【代码】java中的final关键字。原创 2024-06-27 11:51:48 · 285 阅读 · 0 评论 -
java中属性赋值和类中代码块和构造器加载顺序问题
属性赋值执行顺序依次是类中代码块和构造器加载顺序问题原创 2024-06-27 11:13:42 · 251 阅读 · 0 评论 -
java类中的代码块
2、类中可以存在多个静态/非静态代码块,且相同类型代码块之间按照声明顺序来执行。1、静态代码块执行优先于非静态代码块。原创 2024-06-21 15:41:14 · 212 阅读 · 0 评论 -
java的单例模式
并且该类只提供一个取得其对象实例的方法。缺点:占用内存时间较长。优点:占用内存时间短。原创 2024-06-19 17:08:44 · 387 阅读 · 0 评论 -
Java中的多态性
一般用于方法的参数传递,形参声明父类,实参传入子类,这样在方法体中调用被重写方法的时候,实际执行的是子类重写的方法,以此形成多态,遵循开闭原则(扩展开放,修改封闭)。在多态场景中,虽然创建了子类的对象,也加载了子类对象的特有属性和方法,但是由于声明的是父类的引用,导致无法直接调用子类的特有属性和方法。使用强转符(),防止出现ClassCastException错误,一般用instanceof判断所属类型。针对方法,编译看左,执行看右,(属性没有多态性,编译/执行都看左):有继承关系,且子类重写父类的方法。原创 2024-06-14 11:50:38 · 281 阅读 · 0 评论 -
java类中的方法重写
在继承中,方法重写应遵循的规则原创 2024-06-12 14:03:50 · 185 阅读 · 0 评论 -
java中“类”的构造器
【代码】java中“类”的构造器。原创 2024-06-12 13:48:43 · 178 阅读 · 0 评论 -
java中类的封装性及权限修饰符
将不想对外公开的属性/方法私有化,仅对外暴露必要的属性/方法。原创 2024-05-31 17:08:46 · 179 阅读 · 0 评论 -
java中的快速排序算法
快速排序时间复杂度为nlogn。原创 2024-04-24 17:11:12 · 171 阅读 · 0 评论 -
java,实现回形数输出
可以分为4部分:【上、右、下、左】,把最外层的螺旋规律摸清,内层螺旋规律同理。只要找到顺时针方向的行号和列号,依次赋值即可。比如输入3,则输出为。比如输入4,则输出为。原创 2024-04-22 14:45:57 · 631 阅读 · 1 评论 -
Java中你见过带标签的for语句吗?
带标签的for循环,可用于break/continue跳出指定for循环原创 2024-04-11 13:54:16 · 335 阅读 · 0 评论 -
java内存详解
专门运行本地方法的,本地方法可以理解为堆对java的扩充,有很多功能,java实现不了,所以就需要依靠本地方法完成(本地方法都是通过c语言编写的)b.堆中存放的数据都有默认值,比如:整数为0,小数为0.0,字符为‘\u000’,boolean为false,引用数据类型为null。,记录类和方法的信息,主要保存class文件和其中的信息,代码运行之前需要先进内存(方法区)a.主要存放对象、数组,每new一次都会在堆中开辟空间,并分配地址值。③ 本地方法栈(Native Method Stack)原创 2024-02-21 17:23:44 · 575 阅读 · 0 评论 -
java中数组的使用
① 动态初始化(只设置了数组长度,未初始化数据)原创 2024-02-21 16:23:04 · 298 阅读 · 0 评论 -
Java中的Scanner和Random类
【代码】Java中的Scanner和Random类。原创 2024-02-21 13:28:59 · 237 阅读 · 0 评论 -
十进制、二进制、八进制、十六进制转换
除二取余法8421规则三位一组。原创 2024-02-18 12:06:14 · 443 阅读 · 0 评论 -
java中的数据结构及数据类型转换
【代码】java中的数据结构及数据类型转换。原创 2024-02-18 11:48:06 · 428 阅读 · 0 评论
分享