Java
边吃番茄边敲代码
这个作者很懒,什么都没留下…
展开
-
为什么 Thread 类的 sleep() 和 yield () 方法是静态方法?(详解)
首先明确一点,在一个线程拿到锁的时候,其他线程向拿到锁就必须要等待。假设yield()为非静态方法,若thread2拿到锁,调用了thread1的yield()方法,意为让thread1暂时放弃当前占有的CPU时间片,与大家一起再进行时间片竞争。关键是thread1现在处于阻塞状态!它在等待thread2释放锁,它根本没有占用CPU时间片。所以此时调用thread1的yield()方法是没有意义的!...原创 2022-07-30 11:25:19 · 558 阅读 · 1 评论 -
单例模式详解,包括应用场景及懒汉式的线程安全问题
什么是单例模式?所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生类的对象了,但在类内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定原创 2022-05-27 16:01:35 · 286 阅读 · 0 评论 -
为什么 Java 中只有值传递?
开始之前,我们先来搞懂下面这两个概念:形参&实参值传递&引用传递形参&实参方法的定义可能会用到 参数(有参的方法),参数在程序语言中分为:实参(实际参数) :用于传递给函数/方法的参数,必须有确定的值。形参(形式参数) :用于定义函数/方法,接收实参,不需要有确定的值。String hello = "Hello!";// hello 为实参sayHello(hello);// str 为形参void sayHello(String str) {转载 2022-05-03 12:39:28 · 468 阅读 · 0 评论 -
java方法引用的使用详解
java方法引用的使用详解,有举例说明原创 2022-04-28 21:05:33 · 1249 阅读 · 0 评论 -
Java 内置四大核心函数式接口及其实例,其他函数式接口的简单介绍
java内置的四大核心函数式接口即其使用实例,其他函数式接口的简单介绍原创 2022-04-28 19:52:17 · 266 阅读 · 0 评论 -
java中Lambda表达式的使用
举例:(o1,o2) -> Integer.compare(o1,o2);格式:-> :lambda操作符->左边:lambda形参列表 (其实就是接口中的抽象方法的形参列表)->右边:lambda体 (其实就是重写的抽象方法的方法体)注意:->左边:lambda形参列表的参数类型可以省略(类型推断);如果lambda形参列表只有一个参数,其一对()也可以省略;->右边:lambda体应该使用一对{}包裹;如果lambda体只有一条执行语句(可能是ret原创 2022-04-28 17:30:15 · 238 阅读 · 0 评论 -
springboot项目的测试类运行时报空指针异常
一个简单的测试类在运行时,出现空指针异常的报错public class IOrderServiceTest {}报错为:原因为:未在测试类上加入这两个注解@SpringBootTest@RunWith(SpringRunner.class)为了方便起见,我们一般在主测试类上加入这两个注解,然后以后创建的测试类就直接来继承主测试类。所以解决方法有两个:直接在测试类上加上这两个注解在主测试类上加上这两个注解,然后当前测试类继承主测试类。以下是方法二:@SpringBootTe原创 2022-04-24 10:18:49 · 2498 阅读 · 0 评论 -
mybatis-generator自动生成的类中含有XXXwithBLOBs,去掉的方法
当数据库中的字段有text类型时,mybatis会为这种类型单独创建一个类来映射这两个字段,生成的主要po类中是没有这两个字段的。自动生成的xxxWithBLOBs类会继承生成的主要po类。public class ProductWithBLOBs extends MainPO { private String subImages; private String detail; public String getSubImages() { return sub原创 2022-04-21 15:30:04 · 2469 阅读 · 0 评论 -
pom文件中引入别人的项目之后,Ctrl+鼠标左击aitifactId之后发现被引入的项目所依赖的pom文件一堆报错
引入了别人的项目,想嵌在自己的项目之中,复制了该项目的maven依赖到了自己项目的pom文件:一般引入之后,需要点击引入项目的artifactId,查看其依赖的包是否被全部引入,于是Ctrl+鼠标左击aitifactId发现一片红,全是报错:这里只截取了一部分,这些报错有的groupId和artifactId及版本全报错,有的只是版本。我所做的尝试:去网上搜相关问题,没搜到强制改写改项目的pom文件,直接注释掉相应版本号。但是这样只能处理只有版本号报错的依赖,对于gav全报错的情况没辙。更原创 2022-04-14 11:53:21 · 1008 阅读 · 0 评论 -
去掉Mybatis generator自动生成的注解,及报错:“元素类型为 “context“ 的内容必须匹配 ”的处理
配置了mybatis的generator之后,会发现生成的类中会有自动生成的注解:public interface OrderMapper { /** * This method was generated by MyBatis Generator. * This method corresponds to the database table mall_order * * @mbg.generated Fri Apr 08 20:06:38 CST 202原创 2022-04-11 17:35:29 · 2217 阅读 · 0 评论 -
IDEA生成某个功能类的Test测试类
要测试实现某个功能的类,有一种便捷操作:在IDEA的随便一个空白处,点击右键。之后依次点击“Go To”,“Test”,即可在test包下的对应位置生成测试类。原创 2022-04-08 17:41:19 · 3558 阅读 · 0 评论 -
pom里改了spring-boot-starter-parent的版本之后爆红
pom里改了spring-boot-starter-parent的版本之后爆红,点也maven的reload也没有用。解决方法一:重启IDEA即可。解决方法二:点击图上选项即可。原因可能是IDEA会默认缓存maven仓库内已有的依赖,而改了版本后,IDEA依然以为还是maven仓库内的那个版本的依赖,就会出错。而重启或者点了擦除缓存就会将IDEA缓存的maven依赖清除,从而发现版本的变化,重新下载依赖。...原创 2022-04-07 14:02:00 · 2049 阅读 · 0 评论 -
Arrays.fill()
作用:填充或替换一维数组中的数据。比如public static void fill(int[] a, form, to, int var) 参数:a–数组form–替换开始位置(包括)to–替换结束位置(不包括)var–要替换的值from,to也可以不写。其他一维数组一样的使用方法...原创 2022-04-05 14:17:38 · 114 阅读 · 0 评论 -
IDEA报错: ‘Unsatisfied dependency expressed through field ‘userDOMapper‘
从mybatis-generator.xml官方文档上看,好像是每一次运行mybatis-generator命令时会在UserDOMapper.xml和UserPasswordDOMapper.xml中重复生成resultmap的原因,将自动配置生成的配置文件删除,重新运行mybatis-generator.xml。问题解决!!!————————————————版权声明:本文为CSDN博主「忆&往浠℃」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:http转载 2022-01-06 21:06:58 · 380 阅读 · 0 评论 -
递归法解剑指offer27(二叉树的镜像)-笨拙但基础好理解的方法
class Solution { public TreeNode mirrorTree(TreeNode root) { //特殊结点处理 if(root == null) return root; //终止条件,即最后一个点的处理 if(root.left == null && root.right == null) return root; //递推公式部分 //左子树镜像操作原创 2021-12-01 20:54:16 · 79 阅读 · 0 评论 -
IDEA打开项目时无jdk、无法创建包类及无法运行、无法编译的问题
IDEA打开项目时无jdk、无法创建包类及无法运行、无法编译的问题在打开别人写的项目时,是无法直接使用的,可能会遇到很多问题。问题一:无jdk点击setupJDK选一个JDK即可。问题二:不能创建类或者包,也无法运行程序。在项目或者包处点击右键,点mark Directory as, SourcesRoot即可问题三:无法编译运行点击????在此处写上输出路径即可。输出路径位置查找:找到项目文件夹,找到out文件夹,复制路径即可。...原创 2021-07-27 12:23:24 · 10573 阅读 · 0 评论