- 博客(23)
- 收藏
- 关注
原创 基于mybatis-plus interceptor的数据权限以及自定义injector整合baseMapper
自定义dataScope/*** 限制范围的字段名称 (除个人外)/*** 限制范围为个人时的字段名称/*** 当前用户ID/*** 具体的数据范围/*** 限制范围为插入时的类型} @Getter @AllArgsConstructor @ApiModel(value = "DataScopeType" , description = "数据权限类型-枚举") public enum DataScopeType implements BaseEnum {/**
2023-03-27 17:07:34
513
原创 自定义函数型接口
//标识为函数型接口,只能有一个方法@FunctionalInterfacepublic interface FuncationTest { void doSomething();}函数型作为参数private void todo(FuncationTest funcationTest) {funcationTest.doSomething();}调用这个方法todo(() -> {System.err.println(“todo something …”);});
2021-09-18 16:45:13
170
原创 hadoop
hadoop1.hadoop的组成common公共组件mapreduce负责业务逻辑运算yarn负责资源的调度HDFS负责文件的存储1.1.HDFSNameNode:储存文件的元数据,如文件名,文件的位置等等DataNode:本地系统存储文件块数据2nn:每隔一段时间存储NameNode1.2YARNResourceManager:整个集群的老大,可以进行资源调度NodeManager:单个节点的管理者ApplactionManager:单个任务的老大Container
2021-09-06 14:58:45
273
原创 springboot 整合kafka
1.kafka集群配置的话需要在本地host文件里配置如下:192.168.5.11 kafka1192.168.5.12 kafka2192.168.5.13 kafka3192.168.5.14 kafka4192.168.5.15 kafka5192.168.5.16 kafka62.先引依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifac
2021-07-13 16:57:25
505
原创 定时任务@Scheduled注解不符合业务的情况下怎么办
@Scheduled注解:(1)此方法不能有参数(2)此方法不能有返回值(3)此类中不能包含其他带任何注解的方法2.再不符合业务的情况下可以使用ScheduledExecutorService这个类; ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(10);//指定线程数 scheduledExecutorService.s
2021-07-07 22:35:51
410
转载 mybatis动态标签if传参问题
最近在项目使用mybatis中碰到个问题 Xml代码 <if test="type=='y'"> and status = 0 </if> 当传入的type的值为y的时候,...
2021-07-05 15:45:38
1384
原创 二、java.util.Collections
一、Map1.java.util.Map<K,V>接口<K,V>分别是代表key的类型,和value的类型储存键值对(Key,value)2、Map的方法们(1)添加V put(K key, V value):添加一对映射关系void putAll(Mao<? extends K, ? extends V> m)把另一个map中的所有映射关系,添加到当前的map中来(2)删除void clear()V remove(Object key):根据key删
2020-10-23 22:10:54
248
原创 泛型方法、初始集合和集合的遍历
一、泛型方法1.什么是泛型方法语法格式:【修饰符】<泛型的类型> 返回值类型 方法名(形参列表)[throws异常列表]{}例如:public void method (T t){}3,为什么有泛型方法(1)对于静态方法来说那我们之前声明的<泛型>是不能用于静态成员,所以如果某个静态方法需要用到泛型,那么可以考虑使用泛型方法(2)类或者接口已经声明,不是泛型类后新增的方法可以使用泛型不管是(1)还是(2)都有一个原因,因为在设计这个方法的时候,可能它的形参类型或返
2020-10-20 00:44:46
574
原创 java.lang.String类和泛型
一、java.lang.String类1.String类的描述(1)String累的代表字符串(2)java程序中的所有字符串字面值都作为此类的实例实现""它是字符串的对象“hello”他也是字符串的对象(3)字符串是常量:他们的值在创建之后不能更改。字符串对象不可变,一旦修改某个字符串,就会产生新的字符串对象(4)字符串缓冲区支持可变的字符串字符串缓冲区:StringBuffer和StringBuilder类型 对象支持可变的字符串。(5)String类型是常量,所以可以共享(6)字
2020-10-11 21:01:48
1107
原创 死锁、常用类之数学、日期时间API、数组的算法升华、数组的工具类
一.死锁:1.当两个或者更多隔线程互相持有对象想要的资源不放手,就会死锁2.当同步代码快或同步方法中出现了嵌套使用(1)同步代码快中,出现了另一个同步代码快,或调用了另一个同步方法(2)同步方法中,出现了同步代码快,或者调用了另一个同步方法,而且两者之间有使用对象要的锁对象等资源时,就有可能出现死锁状态,尽量避免如果出现了,要么手动停止,或者说我们要制造异常,让线程从死锁状态出来,然后再去抢夺资源。2.sleep方法和wait方法有什么区别?(1)sleep方法在Thread类中声明,是静态方
2020-10-05 00:12:43
149
原创 一、多线程两种实现方式:Thread类、Runnable接口、单例设计模式、线程安全、线程通信
一、Thread类的构造器和方法们1、构造器Thread()Tread(String name)2、Thread类的方法:(1)public void run (){}子类会重写它,它是线程完成任务的方法(2)public void start() 重启线程的方法(3)public String getName():获取线程名字自定义线程的默认名称是: Thread -编号,修改名称可以调用setName(String name)或者是在创建线程是用构造器为name赋值(4)public
2020-10-04 11:08:59
420
原创 JavaSE:文档注释、异常处理、多线程Thread
一、文档注释1.语法格式:、/** */2.作用:用javadoc.exe工具,生成API帮助文档3.如何使用javadoc.exe生成APItools菜单–>generate JavaDoc…–>/*** 这是程序的入口main方法* @param args String[] 命令行参数,在运行时可以传入参数值,格式:java 主类名 参数值1 参数值2 。。。*/import java.io.FileInputStream;import java.io
2020-09-28 00:14:14
500
原创 JavaSE:匿名内部类、static关键字、文档注释
一、匿名内部类1.声明格式(1)new 父类(){ 匿名子类的成员}匿名子类的构造器中一定调用的父类的无参构造(2)new 父类(实参列表){ 匿名子类的成员}匿名子类的构造器一定调用的父类的有参构造(3)new 父类接口名(){ 匿名子类的成员}匿名子类的构造器中一定调用的父类Object的无参构造为什么声明类有new呢?因为匿名内部类是没有名字的,所以必须在声明类的同时直接创建它的对象,否则就没有机会了。说明匿名内部类的对象是唯一的。
2020-09-27 00:20:20
224
原创 JavaSE:经典接口、包装类、枚举、内部类
一、经典接口1、java.lang.Comparable接口:自然排序/比较接口,或者也称为默认排序抽象方法:int compareTo(Object o)返回值结果: .前面的this 大于 ()中的指定对象o, 返回正整数返回值结果: .前面的this 小于 ()中的指定对象o, 返回负整数返回值结果: .前面的this 等于 ()中的指定对象o, 返回02、java.util.Comparator接口:定制排序/比较接口,或者也称为挽救的比较器抽象方法:int compare(Ob
2020-09-25 01:06:24
107
原创 JavaSE:native,final,Object,抽象类,java.lang.Conmparable
一、关键字:native1.native:本地的,原生的2.作用:修饰方法3.使用它修饰的方法我们在java原文件中看不到它的方法体4.修饰后的方法有什么不用不是java语言编写的,而是c语言或者c++编写的,由c编写的代码最后编译为.dll文件,由java代码调用。当这部分方法在运行时他会在JVM的本地方法栈中开辟空间5.Java的内存划分(1)方法区(2)堆(3)栈:Java虚拟机栈:运行:Java代码实现的方法本地方法栈:运行native系列的c方法6.如何使用native方法
2020-09-18 00:00:16
188
原创 JavaSE:成员变量的初始化、多态
一、成员变量初始化1.成员变量分为两大类:(1)静态变量:有static修饰(2)实例变量:没有static修饰2.静态变量的初始化(1)在类初始化进行时,一个类只有一次。因为静态变量是所有对象共享的,属于类的,不是专属与某个对象(2)和静态变量的显示复制语句和静态代码块有关本质上把两部分代码合并到一个()类初始化方法中,由类加载器在类初始化时调用。3.实例变量的初始化1.一定是在new对象时进行的,而且每次new对象都要初始化一次,因为每一个对象都是独立的A:super()或su
2020-09-14 23:30:05
183
原创 JavaSE:继承、重写、构造器、成员变量的初始化
一、构造器1.构造器:constructor,他是类的第三个成员。2.作用:(1)和new关键字一起,就可以创建对象。(2)在创建对象的同时,给对象的实例变量初始化。3.构造器和方法长得很像,又把构造器称为构造方法。(1)构造器的名字和类名必须完全一致,包括大小写。(2)构造器没有返回值,也不写void。(3)构造器的修饰符只有权限修饰符,没有其他修饰符。语法格式:[修饰符] class 类名{-【权限修饰符】 类名(形参列表){}}4.构造器的其他特点(1)任何类都有构造器
2020-09-13 23:43:30
255
原创 JavaSE:1.方法的重载,递归,封装,对象数组,
1.方法的重载:1、什么叫做方法的重载?在同一个类/对象中出现了两个或更多个,方法名相同,形参列表不同的方法,我们称为方法的重载。和返回值类型无关。方法名:代表方法的功能,即重载的几个方法的功能是一致的,只是处理的数据类型、个数不同。关键词:方法名和形参列表2、举例声明一个我们自己的数学工具类MyMath,它里面包含这样的一组方法:(1)boolean equals(byte a, byte b)(2)boolean equals(int a, int b)(3)boolean equa
2020-09-12 00:09:20
120
原创 JavaSE:类的成员:成员方法
1.类的第二个成员:成员方法1.一个方法代表一个独立的可复用的功能。2.如何声明方法要求:必须再类中,方法的外面,和成员变量是平级的语法格式:【修饰符】class类{【修饰符】 数据类型 成员变量名;【修饰符】返回值 方法名【形参列表】{方法体语句块;//实现方法的功能}}返回值的类型:(1)void 表示没有返回值,这个方法运行结束之后不会返回结果(2)其他Java数据类型,包括基本数据类型和引用数据类型:表示有返回值,这个方法运行结束之后有结果返回,调用者在调用这个方法之
2020-09-11 00:59:11
236
原创 JavaSE:包、初时类成员
1.包(1)包的作用1.1避免类的重名1.2限制某些类的可见性范围类修饰符如果是public的,可以再其他包下使用;类修饰符如果是缺省的,在其他包下是不能使用的;1.3可以根据不同的包来管理不同业务模块的类2.如何声明包2.1注意:必须再。java源文件的首行,格式 : packge 包名;packge packge packge2.2包名所有单词都小写多个单词使用.分割,见名知意2.3习惯上使用公司的域名导致+模块的名字例如: com.atguigu.xxx;3、编译(了解)原
2020-09-09 22:52:11
102
原创 JavaSE:数组
1.数组元素的数据类型[] 数据名;数据类型[]1.动态初始化char[] 数组名 = new char[长度];数组存储的元素的数据类型[] 数组名 = new 数组储存的元素的数据类型[长度];int [] name = new int [长度];数组名【下标】 = 值;name[下标] = 值;2.静态初始化声明和初始化分开((1)数组的数据类型 数组名;int name;数组名 = new 元素的数据类型【长度】{元素内容}name = new int[]{元素内容1、
2020-09-09 22:49:50
147
原创 JavaSE:循环:for、while、do while
1.for循环1.for(初始化语句;循环条件语句;迭代语句;){循环i语句}2.执行流程(1.)执行初始化语句 : 完成循环变量的初始化(2)执行循环条件语句 : 控制循环是否结束还是继续(3)执行循环语句 : 需要重复执行的业务逻辑代码(4)执行迭代语句 修改循环变量(5)再次执行初始化语句(3)如果循环条件省略了,那么需要配合break(结束),return(跳过)等使用2.while 初始化语句(1)1.while(循环条件语句(2)){
2020-09-07 22:34:43
69
原创 JavaSE:关键字、数据类型、输出语句、变量
1.注释(1)单行注释:// xxxx(2)多行注释/* xxxxx */2.关键字:共50个,很关键,有特殊意义,有特殊的用法,关键字都小写;特殊值:true(真),false(假),null(空)。3.标识符:凡是在代码中自己命名的部分就是标识符。 3.1在程序中的标识符有:(1)类名(2)方法名(3)变量名(4)接口名(5)包名(6)常量名(7)参数名,也是变量名的一种… 3.2命名规则:必须遵守,否则编译都会报错(1)只能使用26个英文字母大小写
2020-09-06 14:15:18
348
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人