Java修行
文章平均质量分 78
个人日常学习中,整理的java相关技术知识
老鼠只爱大米
只会写诗的程序员
展开
-
Java集合类详解:概述、优点、实现与应用
Java集合类提供了动态存储、高效的数据访问和操作等特性,大大简化了开发过程并提高了代码效率。本文将从多个方面详细介绍Java集合类的概念、基本结构、常见实现、操作方法以及性能优化和扩展,帮助读者全面掌握和应用这一关键工具。原创 2023-06-13 22:14:00 · 1059 阅读 · 0 评论 -
Java Stream API: 如何优雅地操作集合类
本文介绍了Java Stream API的概念及其常见的操作。Stream API为集合操作提供了一种优雅、高效的编程方式,可以大大简化代码的编写和维护,并且支持并行化处理,提升数据处理的效率。原创 2023-06-12 21:58:54 · 1269 阅读 · 0 评论 -
深入理解Java抽象类:定义、特点与实现
本文将深入介绍Java抽象类的定义、特点以及与普通类的区别,探讨抽象类的实现原理、与接口的区别,讨论抽象类的应用场景和优缺点。原创 2023-06-02 22:42:55 · 557 阅读 · 0 评论 -
一文读懂JAVA的hashCode方法:原理、实现与应用
本文详细介绍了hashCode的作用和定义、实现原理和重写规则、常见的hashCode实现方法以及hashCode和equals的联系,可以帮助开发者们深入理解和使用hashCode方法。原创 2023-04-22 21:57:15 · 760 阅读 · 1 评论 -
如何正确实现JAVA对象拷贝:深入剖析拷贝机制,避免“拷”入歧途
本篇博客将讲解深拷贝和浅拷贝的区别,介绍JAVA对象拷贝的实现方式,以及详细阐述对象拷贝的激活机制,并提供代码示例。希望你能从本文中获得有价值的知识和经验。原创 2023-04-06 21:58:17 · 498 阅读 · 0 评论 -
Java异常分类总结及try...catch异常捕获处理
一、异常简介Java中所有异常的根是Throwable类。该类有两个子类: Error和Exception。1.Error类 Error也称为错误,通常是由JVM错误或者系统奔溃等引起的,无法通过程序来解决,所以在程序中不需要主动捕捉处理。2.Exception类 Exception类又可以分为Checked异常和Runtime异常。checkedException异常在编译时期就可以知道是否会发生异常,如果不对这些异常进行抛出、捕获的话就无法通过编译。而RuntimeExc...原创 2020-09-01 20:02:12 · 6034 阅读 · 0 评论 -
深入理解Java中synchronized关键字的实现原理
9.synchronized的底层实现原理(1)对象大小的计算a. 在32位系统下,存放Class指针的空间大小是4字节,MarkWord是4字节,对象头为8字节。b. 在64位系统下,存放Class指针的空间大小是8字节,MarkWord是8字节,对象头为16字节。c. 64位开启指针压缩的情况下,存放Class指针的空间大小是4字节,MarkWord是8字节,对象头为12字节。 数组长...原创 2019-10-22 14:35:08 · 1593 阅读 · 0 评论 -
Java同步锁synchronized的最全总结
一、并发同步问题 线程安全是Java并发编程中的重点,而造成线程安全问题的主要原因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。因此,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再进行,这种方式就叫互斥锁。也就是说当一个共享数据被正在访问的线程加上互斥锁后,在同一个时刻,其他线程只能处于等待的状态...原创 2019-10-22 14:32:05 · 6006 阅读 · 0 评论 -
Java中操作符分类与使用总结(看完这篇就够了)
一、算术操作符Java的算术操作符包括四则运算,加(+)、减(-)、乘(*)、除(/)以及取余(%)。(1)"+" 除了用于两个数的加法之外,还可以用于拼接字符串。即如果String类型元素与非String类型元素使用"+"连接,则编译器会尝试将后者转换为字符串。 System.out.println("a+b:" + (a+b)); //其中a和b是一个数值类型的变量(2...原创 2019-09-10 16:11:51 · 639 阅读 · 2 评论 -
深入理解Java内存回收机制
JVM通过GC(Garbage Collection,垃圾回收器)来回收堆和方法区中的内存,这个过程是自动执行的。说到Java GC机制,其主要完成3件事:确定哪些内存需要回收;确定什么时候需要执行GC;如何执行GC。JVM主要采用回收器的方式实现GC,主要的回收器有引用计数回收器和跟踪回收器。一、引用计数回收器(1)引用计数器采用分散式管理方式,通过计数器记录对象是否被引用。当计数器为0...原创 2019-09-10 15:01:04 · 4637 阅读 · 0 评论 -
Java中this和super关键字的深入理解
一、this关键字(1)本质编译器在调用某个实例方法时,实际上会把当前的实例对象的引用作为第一个参数传递给方法,例如经过编译器的处理,分别变成Animal.weight(pig,300)、Animal.weight(dog,100)。而如果想从方法内部获取当前对象的引用,就有一个专门的关键字this,表示“调用方法的那个对象”的引用(如pig和dog)。(2)this的含义 1.在Java中,每...原创 2018-06-14 22:23:35 · 1541 阅读 · 0 评论 -
Java中transient关键字的详细总结
一、概要介绍Java中的transient关键字,transient是短暂的意思。对于transient 修饰的成员变量,在类实例的序列化处理过程中会被忽略。 因此,transient变量不会贯穿对象的序列化和反序列化,生命周期仅存于调用者的内存中而不会写到磁盘里持久化。(1)序列化Java中对象的序列化指的是将对象转换成以字节序列的形式来表示,这些字节序列包含了对象的数据和信息,一个序列化后的对...原创 2018-06-14 22:15:12 · 136538 阅读 · 13 评论 -
Java中各类修饰符的使用总结(看完这篇就够了)
引言:Java的修饰符根据修饰的对象不同,分为类修饰符、方法修饰符、变量修饰符,其中每种修饰符又分为访问控制修饰符和非访问控制修饰符。访问控制存在的原因:a、让客户端程序员无法触及他们不应该触及的部分 b、允许库设计者可以改变类内部的工作方式而不用担心影响到客户端程序员。原创 2018-06-07 18:45:24 · 59607 阅读 · 21 评论 -
Java volatile关键字最全总结:原理剖析与实例讲解(简单易懂)
本文从Java的内存模型和线程的工作原理出发,对volatile关键字进行介绍。帮助读者深入理解volatile的工作机制。同时,还通过简单易懂的示例讲解了如何正确地使用volatile关键字实现线程安全,避免常见的多线程安全问题。原创 2018-06-13 17:28:14 · 222496 阅读 · 144 评论 -
Java中的final、finally、finalize的区别
声明:本文只是简单介绍了三者之间的区别,三者的详细用法参见本人的其他文章。# 深入理解Java的final关键字# 浅析java的finally# Java 深入理解finalize()方法1. final是一个关键字,用来修饰变量、方法和类。修饰变量表示变量赋值后不可变,即常量。修饰方法表示方法不可覆盖。修饰类表示类不可继承,同时不能被abstract修饰。2. finally是异常处理结构的一...原创 2018-06-05 20:53:37 · 269 阅读 · 0 评论 -
Java异常处理之finally的使用总结
1.finally用法 (1)finally用在异常捕获中try/catch语句中,不论有没有发生异常或try/catch中出现return语句,finally中的语句都会被执行。 (2)finally必须使用在所有catch的最后位置,常用来处理一些后续的工作,如释放资源2.try、catch、finally中的return执行顺序 根据JVM规范,try/catch、finally的retu...原创 2018-06-05 20:33:15 · 2788 阅读 · 0 评论 -
深入理解Java的final关键字
1.final关键字有几种用法(1)修饰变量 # 用final关键字修饰的变量,只能进行一次赋值操作,并且在生存期内不可以改变它的值。final修饰的变量可以先声明,后赋值。 # final修饰基本类型时,起到常量的作用,基本类型的值不可变。 final修饰引用类型时,不能再指向其他的对象,但被引用的对象 的值是可以改变的(引用变量的值 实际上是它所引用的对象的地址)。 ...原创 2018-06-05 13:36:30 · 18285 阅读 · 1 评论 -
Java 深入理解finalize()方法
1. 什么是finalize()方法?, finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作。另外,Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。2. finalize()方法什么时候被调用? 垃圾回收器GC在回收对象进行内存释放前会先调用finalize方法3. finali...原创 2018-06-05 13:25:40 · 809 阅读 · 0 评论 -
Java如何从字符串中提取数字
java提取字符串中的数字原创 2017-12-19 13:56:14 · 115962 阅读 · 10 评论 -
Java中如何根据图片文件创建Image对象,且将Image对象保存为文件形式
一.创建与保存1.根据一个文件路径创建Image对象 Image image = ImageIO.read(new File(filepath));2.将Image对象保存为文件形式 BufferedImage image = ImageIO.read(new File(filepath));//要想保存这个对象的话你要把image声明为BufferedImage 类型原创 2016-11-24 21:23:06 · 22222 阅读 · 2 评论 -
java中如何添加JTextArea到窗口
JMenuBar jb = new JMenuBar(); JTextArea ja = new JTextArea(50,30); JScrollPane jsp = new JScrollPane(ja); jf.setJMenuBar(jb); jf.setSize(800, 600); jf.setLayout(new B原创 2016-11-24 22:02:22 · 1755 阅读 · 0 评论