随笔分类 -  java

摘要:Java的类加载机制是指在Java程序运行时,将类文件加载到内存中的一系列步骤。Java的类加载机制遵循着“按需加载”的原则,也就是说,只有在需要用到某个类的时候,才会将这个类的相关信息加载到内存中。这种“按需加载”的设计使得Java程序具备了很好的灵活性和效率。 Java的类加载器主要分为三类:启 阅读全文
posted @ 2024-01-15 16:32 Arbitrary233 阅读(40) 评论(0) 推荐(0) 编辑
摘要:对象的 hashCode 和 equals 方法特点 对于 hashCode 和 equals 方法,我们有以下三个结论: 结论 1:hashcode 相等,equals 不一定相等。结论 2:equals 相等,hashcode 一定相等。结论 3:hashcode 不相等,equals 一定不相 阅读全文
posted @ 2024-01-15 13:32 Arbitrary233 阅读(361) 评论(0) 推荐(0) 编辑
摘要:返回 1(正数): 第一个元素排在第二个元素后面; 返回 -1 (负数): 第一个元素排在第二个元素前面 返回 0 : 两者相等,不进行交换,也就不排序。但是要根据题目来判断返回什么。如果数组是无序的,不能直接返回0。若保证升序排列,要返回o1-o2,降序则o2-o1。 ·return 0:不交换位 阅读全文
posted @ 2022-09-05 22:22 Arbitrary233 阅读(1436) 评论(0) 推荐(0) 编辑
摘要:TODO:说明此标识处有些功能需要将来实现;FIXME:说明此标识处代码有错误,需要修正;XXX:说明此标识处代码勉强实现了该功能,但是有待将来改进。 阅读全文
posted @ 2022-08-23 17:20 Arbitrary233 阅读(323) 评论(0) 推荐(0) 编辑
摘要:public class F { //泛型方法 public static <T> T getT(T[] array) { return array[array.length/2]; } public void f() { //显式赋值 String name1 = F.<String>getT(n 阅读全文
posted @ 2022-06-01 10:12 Arbitrary233 阅读(129) 评论(0) 推荐(0) 编辑
摘要:作用 @Builder注解的作用主要是用来生成对象,并且可以为对象链式赋值。 引入依赖 因为@Builder注解是lombok中的东西,所以第一步我们需要引入lombok的依赖,如下图: 第二步给实体类加上@Builder注解 第二步我们需要给我们的实体类加上一个@Builder注解,如下图: 第三 阅读全文
posted @ 2022-06-01 09:52 Arbitrary233 阅读(482) 评论(0) 推荐(0) 编辑
摘要:1.Exception和Error的区别 由上图可知Exception和Error都继承自Throwable,在Java中只有Throwable类型的实例才可以被抛出或捕获。 Error指正常情况下不太可能出现的情况,绝大部分的Error或导致程序崩溃,处于非正常的不可恢复的状态,如OutOfMem 阅读全文
posted @ 2022-05-26 10:45 Arbitrary233 阅读(154) 评论(0) 推荐(0) 编辑
摘要:一、类加载的过程 装载:通过累的全限定名获取二进制字节流,将二进制字节流转换成方法区中的运行时数据结构,在内存中生成Java.lang.class对象; 链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的; 校验:检查导入类或接口的二进制数据的正确性;(文件格式验证,元数据验证,字节码验 阅读全文
posted @ 2022-05-26 10:27 Arbitrary233 阅读(231) 评论(0) 推荐(0) 编辑
摘要:一、hashcode与equals的关系 hashCode():将任意一个对象根据指定的算法转为32位int equlas():比较两个对象是否相等 equals相等的两个对象,hashCode一定相等。hashCode相等的两个对象,equals不一定相等。 如果equals为true,hashc 阅读全文
posted @ 2022-05-25 11:28 Arbitrary233 阅读(183) 评论(0) 推荐(0) 编辑
摘要:1、ThreadLocal知识体系 本文还是不能免俗,在回答这个问题之前需要先和大家介绍一下ThreadLocal的知识,使大家对ThreadLocal有一个相对全面的认识。 ThreadLocal本地线程变量,主要用于解决数据访问的竞争,通常用于多租户、全链路压测、链路跟踪中保存线程上下文环境,在 阅读全文
posted @ 2022-05-25 09:50 Arbitrary233 阅读(263) 评论(0) 推荐(0) 编辑
摘要:一、浅拷贝深拷贝的理解 简单说拷贝就是将一个类中的属性拷贝到另一个中,对于BeanUtils.copyProperties来说,你必须保证属性名和类型是相同的,因为它是根据get和set方法来赋值的。 1.1、浅拷贝 浅拷贝可以理解为如果是引用类型,那么目标对象拷贝的只是源对象的地址,无论目标对象还 阅读全文
posted @ 2022-05-24 11:31 Arbitrary233 阅读(8150) 评论(1) 推荐(0) 编辑
摘要:前置准备: 1、一个java可执行jar包; 2、exe4j(java exe制作工具); 3、Inno Setup(将依赖打包进exe文件); 一:用exe4j打包exe文件 打开exe4j,输入注册码(可以不输,但是最终运行exe文件会提示:this executable was created 阅读全文
posted @ 2022-04-28 11:54 Arbitrary233 阅读(2767) 评论(0) 推荐(0) 编辑
摘要:前言 在jdk1.7以前,io的操作都是要关流的,而经常有些码农就会忘记关流(比如说我),从而造成资源的浪费,降低系统性能。但值的高兴的是,在jdk1.7以后就不用关流了,流会自动关闭,,这样一来,我们就不用担心关流的问题了。就在刚出版的jdk1.9中又对jdk1.7中的方式又做新的更新,先不急了解 阅读全文
posted @ 2022-04-27 10:01 Arbitrary233 阅读(1418) 评论(0) 推荐(0) 编辑
摘要:一.synchronized的缺陷 synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢? 如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取 阅读全文
posted @ 2022-03-17 17:01 Arbitrary233 阅读(180) 评论(0) 推荐(0) 编辑
摘要:一、结论 Executor, ExecutorService 都是接口,ExecutorService继承于Executor, Executors是工具类,他提供对ThreadPoolExecutor的封装产生ExecutorService的具体实现类。 二、Executor和ExecutorSer 阅读全文
posted @ 2022-03-17 15:57 Arbitrary233 阅读(201) 评论(0) 推荐(0) 编辑
摘要:一、并发容器的由来 在Java并发编程中,经常听到Java集合类,同步容器、并发容器,那么他们有哪些具体分类,以及各自之间的区别和优劣呢? 只有把这些梳理清楚了,你才能真正掌握在高并发的环境下,正确使用好并发容器,我们先从Java集合类,同步容器谈起。 二、什么是同步容器 Java的集合容器框架中, 阅读全文
posted @ 2022-03-17 15:26 Arbitrary233 阅读(310) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/czp11210/article/details/51449599 阅读全文
posted @ 2022-03-17 15:15 Arbitrary233 阅读(20) 评论(0) 推荐(0) 编辑
摘要:先祭一张图,可以思考一下为什么? 一、介绍 equals() 的作用是用来判断两个对象是否相等。 hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。 二、关系 我们以“类的用途”来将“hashCode() 和 eq 阅读全文
posted @ 2022-03-04 14:44 Arbitrary233 阅读(101) 评论(0) 推荐(1) 编辑
摘要:一、ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。 ThreadLocal是除了加锁这种同步方式之外的一种保证一种规避多线程访问出现线程不安 阅读全文
posted @ 2022-03-04 13:49 Arbitrary233 阅读(376) 评论(0) 推荐(0) 编辑
摘要:一、前言 有时我们需要对类按照类中的某一个属性(或者多个属性)来对类的对象进行排序,有两种方法可以实现, 一种方法是类实现Comparable<T>接口,然后调用Collections.sort(List)方法进行排序, 另一种方法是类不实现Comparable<T>接口,而在排序时使用Collec 阅读全文
posted @ 2022-03-04 10:47 Arbitrary233 阅读(1741) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示