加载 加载是类加载的第一个过程,在这个阶段,将完成一下三件事情: 通过一个类的全限定名获取该类的二进制流。 将该二进制流中的静态存储结构转化为方法去运行时数据结构。 在内存中生成该类的 Class 对象,作为该类的数据访问入口。 验证 验证的目的是为了确保 Class 文件的字节流中的信息不回危害到虚拟机.在该阶段主要完成以下四钟验证: 文件格式验证:验证字节流是否符合 Class 文件的规范,如主次版本号是否在当前虚拟机范围内,常量池中的常量是否有不被支持的类型. 元数据验证:对字节码描述的信息进行语义分析,如这…

2022年10月13日 0条评论 75点热度 0人点赞 小小调酒师 阅读全文

使用Java开发一个简单的会员功能,当用户请求过来时候, 检查用户之前是否为会员,如果是,则在原有的会员截至日期加上一年(假设用户选择开通年费会员) 如果不是会员,则从今天的日期,开始添加为期一年的会员 判断用户之前是否为会员,使用时间相减法,代码如下: /** * 判断之前是否是VIP用户 * @param user * @return */ @Override public Boolean isVipUser(User user) { long m = 0; LambdaQueryWrapper<VipU…

2022年6月17日 0条评论 253点热度 0人点赞 小小调酒师 阅读全文

方法 1:通过 Scanner 方法 2:通过 BufferedReader

2022年5月28日 0条评论 322点热度 0人点赞 小小调酒师 阅读全文

对于不想进行序列化的变量,使用 transient 关键字修饰。 transient 关键字的作用是:阻止实例中那些用此关键字修饰的的变量序列化;当对象被反序列化时,被 transient 修饰的变量值不会被持久化和恢复。 transient 只能修饰变量,不能修饰类和方法。  

2022年5月28日 0条评论 264点热度 0人点赞 小小调酒师 阅读全文

try 块:用于捕获异常。其后可接零个或多个 catch 块,如果没有 catch块,则必须跟一个 finally 块。 catch 块:用于处理 try 捕获到的异常。 finally 块:无论是否捕获或处理异常,finally 块里的语句都会被执行。 当在 try 块或 catch 块中遇到 return 语句时,finally 语句块将在方法返回之前被执行。 在以下 4 种特殊情况下,finally 块不会被执行: 在 finally 语句块中发生了异常。 在前面的代码中用了 System.exit()退出程…

2022年5月28日 0条评论 304点热度 0人点赞 小小调酒师 阅读全文

final 关键字主要用在三个地方:变量、方法、类。 对于一个 final 变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。 当用 final 修饰一个类时,表明这个类不能被继承。final 类中的所有成员方法都会被隐式地指定为 final 方法。 使用 final 方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的 Java 实现版本中,会将final 方法转为内嵌调用。但是如果方…

2022年5月28日 0条评论 356点热度 0人点赞 小小调酒师 阅读全文

线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。 程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。简单来说,一个进程就是一个执行中的…

2022年5月28日 0条评论 270点热度 0人点赞 小小调酒师 阅读全文

hashCode()介绍 hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个 int 整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashCode() 定义在 JDK 的 Object.java 中,这就意味着 Java 中的任何类都包含有 hashCode() 函数。 散列表存储的是键值对(key-value),它的特点是:能根据“键”快速的检索出对应的“值”。这其中就利用到了散列码!(可以快速找到所需要的对象) 为什么要有 hashCode?我们以“HashSet 如何检查重…

2022年5月25日 0条评论 249点热度 0人点赞 小小调酒师 阅读全文

==: 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(基本数据类型==比较的是值,引用数据类型==比较的是内存地址) equals(): 它的作用也是判断两个对象是否相等。但它一般有两种使用情况: 情况 1:类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过“==”比较这两个对象。 情况 2:类覆盖了 equals() 方法。一般,我们都覆盖 equals() 方法来两个对象的内容相等;若它们的内容相等,则返回 true (即,认为这两个对象…

2022年5月25日 0条评论 280点热度 0人点赞 小小调酒师 阅读全文

对象的相等,比的是内存中存放的内容是否相等。 而引用相等,比较的是他们指向的内存地址是否相等。

2022年5月25日 0条评论 257点热度 0人点赞 小小调酒师 阅读全文
123457