- 博客(25)
- 收藏
- 关注
原创 为什么 Thread 类的 sleep() 和 yield () 方法是静态方法?(详解)
首先明确一点,在一个线程拿到锁的时候,其他线程向拿到锁就必须要等待。假设yield()为非静态方法,若thread2拿到锁,调用了thread1的yield()方法,意为让thread1暂时放弃当前占有的CPU时间片,与大家一起再进行时间片竞争。关键是thread1现在处于阻塞状态!它在等待thread2释放锁,它根本没有占用CPU时间片。所以此时调用thread1的yield()方法是没有意义的!...
2022-07-30 11:25:19 618 1
原创 单例模式详解,包括应用场景及懒汉式的线程安全问题
什么是单例模式?所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生类的对象了,但在类内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定
2022-05-27 16:01:35 332
原创 力扣股票问题(买卖股票的最佳时机)代码及思路合集 动态规划
LeetCode中的股票问题(买卖股票的最佳时机)的题解(代码和思路)合集,包括121,122,123,188,309,714
2022-05-03 21:09:47 735
转载 为什么 Java 中只有值传递?
开始之前,我们先来搞懂下面这两个概念:形参&实参值传递&引用传递形参&实参方法的定义可能会用到 参数(有参的方法),参数在程序语言中分为:实参(实际参数) :用于传递给函数/方法的参数,必须有确定的值。形参(形式参数) :用于定义函数/方法,接收实参,不需要有确定的值。String hello = "Hello!";// hello 为实参sayHello(hello);// str 为形参void sayHello(String str) {
2022-05-03 12:39:28 528
原创 java中Lambda表达式的使用
举例:(o1,o2) -> Integer.compare(o1,o2);格式:-> :lambda操作符->左边:lambda形参列表 (其实就是接口中的抽象方法的形参列表)->右边:lambda体 (其实就是重写的抽象方法的方法体)注意:->左边:lambda形参列表的参数类型可以省略(类型推断);如果lambda形参列表只有一个参数,其一对()也可以省略;->右边:lambda体应该使用一对{}包裹;如果lambda体只有一条执行语句(可能是ret
2022-04-28 17:30:15 265
原创 centos7将项目作为一个服务来运行,可实现后台运行
在云服务器上部署-jar项目时,直接java -jar来运行会在终端直接运行,这时候想做其他的事情需要再开一个终端,这样是很麻烦的。让项目后台启动的方式有很多,这里使用的是将项目作为一个service的方式来后台启动。这是centos7提供的一个功能,将自己要创建的service服务放在/etc/systemd/system下即可。详细步骤:执行命令:vim /etc/systemd/system/mall.service我为service取的名字是mall,这里可以换成其他名字。接下来,输
2022-04-28 11:31:49 2189
原创 如何绕过mysql密码验证,忘记密码及mysql不慎将自己修改在登录权限之外的解决方法
场景一:mysql不慎将自己修改在登录权限之外部署mysql到云服务器,对于远程连接的问题,看到有大佬说在mysql的名为’mysql’数据库中直接更改权限,即use mysql;update user set Host='%' where User='root';其中,% 代表任意的客户端,可替换成具体IP地址。这里我不小心将%换错了地址(即不是本地的,也不是云服务器的),这种情况下,是无法登录数据库的。场景二:忘记密码这种情况不用多说,肯定无法登录数据库。以上两种场景都可以通过绕过my
2022-04-27 21:40:10 2967 1
原创 安装mysql到云服务器centos7,本地登录云服务器的mysql
安装mysql(我用的是5.7)安装mysql的yum repowget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm安装下载的yum reporpm -ivh mysql57-community-release-el7-9.noarch.rpm之后进入到**/etc/yum.repos.d/**目录安装mysql-serveryum install mysql-server --nogpgche
2022-04-27 20:59:37 1559
原创 springboot项目的测试类运行时报空指针异常
一个简单的测试类在运行时,出现空指针异常的报错public class IOrderServiceTest {}报错为:原因为:未在测试类上加入这两个注解@SpringBootTest@RunWith(SpringRunner.class)为了方便起见,我们一般在主测试类上加入这两个注解,然后以后创建的测试类就直接来继承主测试类。所以解决方法有两个:直接在测试类上加上这两个注解在主测试类上加上这两个注解,然后当前测试类继承主测试类。以下是方法二:@SpringBootTe
2022-04-24 10:18:49 2552
原创 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 2897
原创 在idea中快速构建方法的说明注释,带有参数信息
在方法上面输入/** ,然后按Ctrl + enter即可。/** * 下面都是自动生成的内容 * @param request * @param response * @param handler * @return * @throws Exception */@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws
2022-04-20 21:58:52 434
原创 在SQLyog中查看建表语句,以及设置时间戳CURRENT_TIMESTAMP、设置更新时间
查看建表语句在sqlyog中,在询问中,执行以下语句:SHOW CREATE TABLE `table_name`;在结果中点击TextView:即可查看建表语句。设置时间戳CURRENT_TIMESTAMP、设置更新时间问题一:在SQLyog中直接输入CURRENT_TIMESTAMP出现了报错问题二:有些版本的SQLyog没有“更新”按钮在询问中执行:ALTER TABLE `mall_pay_info` CHANGE `create_time` DATETIME DEFAULT
2022-04-17 22:11:50 2045
原创 Failed to obtain JDBC Connection; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsExc
浏览器输入相应URL访问自己的localhost出现白页,且控制台打印:Failed to obtain JDBC Connection; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure我的数据库配置为:看到网上大部分都在说是时区问题,尝试了,没有用(图片中即为尝试过后的写法)。后来发现是useSSL=false写成了userSSL=fals
2022-04-17 21:11:50 19112
原创 IDEA常用快捷键,包括查看继承层级关系、返回光标上次所在位置,多个变量名一起更改等
Ctrl + 鼠标左击 ①查看方法或者类的源码,若为类的实例化的对象,则跳转到该对象的实例化处②查看类的对象实例的使用位置Ctrl + Alt + Tsurround with…用if,while,try…catch…等的语句块将一段代码包起来Ctrl + P 查看类的构造器所需参数Ctrl + F12就地查找Ctrl + H查看继承的层级关系Ctrl + 7查看类里的各个结构Ctrl + F在当前页面进行查找Ctrl + R在当前页面进行替换Ctrl + Alt .
2022-04-17 09:47:13 1562
原创 pom文件中引入别人的项目之后,Ctrl+鼠标左击aitifactId之后发现被引入的项目所依赖的pom文件一堆报错
引入了别人的项目,想嵌在自己的项目之中,复制了该项目的maven依赖到了自己项目的pom文件:一般引入之后,需要点击引入项目的artifactId,查看其依赖的包是否被全部引入,于是Ctrl+鼠标左击aitifactId发现一片红,全是报错:这里只截取了一部分,这些报错有的groupId和artifactId及版本全报错,有的只是版本。我所做的尝试:去网上搜相关问题,没搜到强制改写改项目的pom文件,直接注释掉相应版本号。但是这样只能处理只有版本号报错的依赖,对于gav全报错的情况没辙。更
2022-04-14 11:53:21 1070
原创 去掉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 2333
原创 IDEA生成某个功能类的Test测试类
要测试实现某个功能的类,有一种便捷操作:在IDEA的随便一个空白处,点击右键。之后依次点击“Go To”,“Test”,即可在test包下的对应位置生成测试类。
2022-04-08 17:41:19 3657
原创 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 2171
原创 mysql创建表无法保存显示时间endTime的默认值不合法:Invalid default value for ‘end_date‘
解决方法:将’0000-00-00 00:00:00’两边的’去掉即可!好使了!
2022-04-05 20:27:40 1191
原创 Arrays.fill()
作用:填充或替换一维数组中的数据。比如public static void fill(int[] a, form, to, int var) 参数:a–数组form–替换开始位置(包括)to–替换结束位置(不包括)var–要替换的值from,to也可以不写。其他一维数组一样的使用方法...
2022-04-05 14:17:38 151
转载 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 430
原创 递归法解剑指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 93
原创 IDEA打开项目时无jdk、无法创建包类及无法运行、无法编译的问题
IDEA打开项目时无jdk、无法创建包类及无法运行、无法编译的问题在打开别人写的项目时,是无法直接使用的,可能会遇到很多问题。问题一:无jdk点击setupJDK选一个JDK即可。问题二:不能创建类或者包,也无法运行程序。在项目或者包处点击右键,点mark Directory as, SourcesRoot即可问题三:无法编译运行点击????在此处写上输出路径即可。输出路径位置查找:找到项目文件夹,找到out文件夹,复制路径即可。...
2021-07-27 12:23:24 10983
空空如也
依存句法分析如何与BERT模型及GCN相结合
2023-04-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人