- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 springboot中多线程的使用
程序:是为完成特定任务,用某种语言编写的一组指令的集合,即指一段静态的代码,静态对象。进程:是程序的一次执行过程,或是正在运行的一个程序,是一个动态的过程,有它自身的产生,存在和消亡的过程。-------生命周期线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。
2024-07-14 23:35:18
1381
原创 bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在
利用mybatisplus增删改查时 查询能够正常查询出结果 但是插入新记录报如下错误; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在有可能是表中主键使用了序列 对应配置的用户没有赋予seq的权限GRANT SELECT ON SEQ TO APP1;之后再插入数据即可...
2022-04-21 09:56:33
4545
原创 Angular指令
Augular指令通过添加和删除视图DOM元素来更改DOM布局 ----结构型指令改变一个DOM元素的外观或行为 ----属性型指令结构型指令三个常用的内置结构型指令:NgIf、NgFor、NgSwitchNgFor<div *ngFor="let item of items">{{item.name}}</div>“let item of items” 引号中的let item of items并不是模板表达式,而是Angular解释的一种小型语言let item
2022-01-10 23:08:58
467
原创 mybatis if判断 逻辑通过但是where筛选没有生效
<if test="showFlag == '0'">今天使用mybatis写sql逻辑判断得时候发现上述代码逻辑是通过的 接口传入的值就是0但是查看实际生成的sql并没有插入if判断中的条件查看了一些文档之后发现mybatis的判断条件是将’0’读出之后当作char字符与实际的“0”字符串进行比较所以判断结果是false<if test='showFlag == "0"'>这样将其用双引号括起来即可 这样mybatis便认为这是string...
2021-12-19 20:25:58
935
原创 qiankun微前端项目搭建 Angular基座+Angular子应用 基座、子应用配置全流程 基座子应用通信简例
csdeskweb拆分流程csdeskweb-base 基座npm i qiankun -S在app.component.ts中import { registerMicroApps, start } from 'qiankun';registerMicroApps([ { name: 'reactApp', entry: '//localhost:3000', container: '#container', activeRule: '/app-react',
2021-11-26 09:29:13
3285
5
原创 qiankun微前端 angular基座
主应用(基座)registerMicroAppsexport declare function registerMicroApps<T extends ObjectType>(apps: Array<RegistrableApp<T>>, lifeCycles?: FrameworkLifeCycles<T>): void;在这个方法中为微应用注册信息参数一 apps在其中注册微应用的信息,主应用会在浏览器url发生变化,便会自动触发 qianku
2021-11-24 16:49:32
1185
1
原创 angular
Angular环境安装XXXXAngular目录结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FSNXGCje-1637564050094)(C:\Users\80308007\AppData\Roaming\Typora\typora-user-images\image-20211121175903242.png)]重要的都是用*号标注出来了目录作用node_modulespackage.json中定义的项目中所依赖的模块,通过npm i
2021-11-22 14:55:05
564
原创 两数之和(two sum)lc01
leetcode题目链接两数之和作为leetcode的第一号题目,easy的难度等级,我自以为已经完全搞懂了这道题目。而最近重新研究这个题目,发现自己并没有完全搞懂这道题的精髓之处,遂写篇博文重新理清自己的思路,便于后续的复盘。(我认为这道题,完全可以定为mid的难度等级)题目分析首先我先来分析题目给出的条件给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元
2021-04-28 15:49:35
97
原创 利用滑动窗口的思想解决字串、子数组问题 lc209、lc3、lc438、lc76问题合集
滑动窗口(Sliding Window)学过计算机网络的同学对于“滑动窗口”这个名词一定不会陌生,在计网中利用到滑动窗口的思想实现了网络中数据传输的流量控制、差错控制等等…同样在刷题中,滑动窗口也是一种重要的思想,用来解决字串,子数组的问题。在使用滑动窗口解决问题时,始终会维护两个指针left和right分别指向当前窗口的左边界与右边界,每次移动左指针或者右指针,移动之后判断窗口之内的元素是否满足要求。什么时候使用滑动窗口?当题目给出的输入是一个字符串或者一个数组,所求解是该字符串或数组的一部分时,
2021-04-22 17:22:04
504
原创 使用FileInputStream出现FileNotFoundException问题
问题今天在学习Java输入输出流的时候,出现了一个莫名其妙的bug,就是在使用FileInputStream从文档里读取数据的时候,总是找不到文件,出现FileNotFoundException运行时异常。异常如下FileInputStream fis=new FileInputStream("E:\\code\\test.txt");照理说出现这个FileNotFoundException异常,就是程序无法在给定的路径下找到你给出的文件,无论是相对路径还是绝对路径。但是不管我去对应的路径下去
2021-04-04 19:41:08
7165
原创 重写equals()方法之后一定要重写hashcode()方法? 附HashMap简要介绍
面试中极其常见的问题,写篇文章,留作复盘时用问题的提出之前看(背)面经的时候,记住的是这是Java的要求,所有Java提供的类库中只要重写了equals()那么他一定都重写了hashcode(),于是对于这个问题的原因我便没有深究。现在再仔细想想这个问题,首先想到的原因就是,equals()方法的实现需要使用到hashcode()方法的结果,但是显然这是不对的,equals()的实现目的是根据使用者的需求,在类中重写继承自Object类的equals()方法使其满足使用者的相同比较规则。以String
2021-03-31 15:49:53
322
原创 快速排序 Java实现 (详细解释partition的过程)
排序思想快速排序是交换排序的一种,在平均情况下的排序时间复杂度为O(nlogn),在最坏的情况下(数组已经有序的情况下),排序时间复杂度为O(n^2)
2021-03-29 22:36:15
1450
原创 Java中参数的值传递问题
我又犯病了,在做Leetcode No.88的时候竟然又犯了参数值传递的老毛病,写篇文章引以为戒lc88题目给出的方法是带参无返回值的方法,要求是将合并后的数组存在nums1中自然会开辟一个新的数组nums3用来临时存储nums1与nums2合并之后的结果但是!!!为了偷懒逐个修改nums1中的值,我做了如下操作nums1 = nums3;然后提交答案,自然答案错误我还心想把nums1指向nums3对应的地址空间,那么nums1存储的数据就和nums3里的数据一样了啊,为什么lc跑出来的结果没
2021-03-27 22:29:28
59
原创 Java包装类的一些常见问题(常量池、缓存机制)
在Java相关的面试中,经常会被问道包装类的一些细节问题,这里整理一下包装类的缓存机制常见的面试问题就是给出一段代码,问你运行结果 int a=100,b=200; Integer c=a,d=a; Integer e=b,f=b; long l=100l; Long ll=l; System.out.println(c==d); //true 1 System.out.prin
2021-03-26 19:36:38
525
原创 盛水最多的容器Leetcode No.11
题目描述暴力法当然最容易想到的就是两个for循环嵌套的暴力法将所有容器的组合都遍历一遍,得到最大的容积但是由于lc中的测试集中有着一个较大的测试数据,运行时间会超时public int maxAreaBF(int[] height) { //暴力 会超时 int max=0; for(int i=0;i<height.length-1;i++){ for(int j=i+1;j<height.length;j++)
2021-03-26 10:36:24
101
原创 为什么接口interface中的变量一定要是public static final类型的
public自然不用多说,接口是用来给其他类实现的,要想其实现类使用到接口中的变量必然要设置为publicstatic考虑到同一个类可能会实现多个接口,如果不同接口中都定义了一个相同名字的变量,那么在实现类中直接使用便会产生歧义。而如果是定义为静态变量,通过接口名.变量名访问便不会出现歧义的情况。final既然要求将变量定义为静态变量,那么不同类实现同一接口访问到的变量都是同一个,为了防止出现一个子类修改了接口中的变量值影响到其他实现了该接口的子类,所以将变量设置为final类型,定义为常量(既
2021-03-23 16:18:35
522
原创 Java抽象类中是否可以有构造方法
直接给答案:可以无论是无参构造方法,还是有参构造方法都可以正常存在之所以产生这个疑问,是因为Java抽象类本身的要求抽象类是不能被实例化的,抽象类只能作为其他类的父类,或者通过向上转型指向其子类。所以既然抽象类是不允许被实例化的,那么他的构造方法存在是否还有实际意义?直接上例子//抽象父类abstract public class Shape { public Shape(){ System.out.println("这是Shape的构造方法"); } p
2021-03-23 10:51:20
8336
2
原创 父类的静态方法是否可以被子类所重写
首先明确重写的概念在子类中修改继承自父类方法的实现细节要求重写方法的参数列表,方法名都必须与父类方法完全一致。方法的访问修饰符的限定范围只能扩大,即>=,如父类方法中的访问修饰符是protected,那么子类重写方法对应的访问修饰符只能是protected或public而返回值类型若是基本数据类型那么要求重写方法返回值类型必须相同,若是引用类型返回值类型可以是父类或者子类静态方法可否被重写先给出答案,不可以看了很多博文的解释,我的理解是Java对于static修饰的静态方法(类方法),在
2021-03-22 17:27:44
609
3
原创 static关键字
对于static关键字的作用,将其分为两块1.修饰属性 2.修饰方法静态属性静态成员变量:静态属性、类属性静态成员变量是属于整个类的,仅在类的初次加载时初始化,在类被销毁时才被回收通过该类实例化的所有对象都共享该静态变量,任一对象对于该静态变量的修改都会影响所有的对象。比如class User{ public static int userID;}User user1 = new User();User user2 = new User();user1.userID = 1;
2021-03-20 17:02:03
189
原创 单例模式中的唯一实例为什么一定要设置为静态的
单例模式中的唯一实例为什么一定要设置为静态的这里以懒汉式的单例模式为例public class Emperor { private Emperor(){} private static Emperor instance; public static Emperor getInstance(){ if(instance==null) instance=new Emperor(); return instance;
2021-03-20 16:51:44
3054
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人