- 博客(21)
- 收藏
- 关注
转载 linux中的sticky bit
删除hive库报错(drop database xxx cascade;)报错分析:当前要删除的hive库的上层目录设置了sticky bit,只有当前用户的拥有者能删除目录下的子目录和文件解决方法:使用chmod修改目录权限目录的权限是rwxrwxrwt 很惊讶这个t是什么,怎么不是x或者-呢?搜了下发现:这个t代表是所谓的sticky bit。sticky bit: 该位可以理解为防删除位. 一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限,
2022-07-04 09:32:14
416
原创 String、StringBuffer、StringBuilder对比
String、StringBuffer、StringBuilder对比String类型源码:public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; ... ...}
2022-04-10 12:51:16
344
原创 数组转集合问题Arrays.asList()
数组转集合问题Arrays.asList()源码:Arrays.classpublic static <T> List<T> asList(T... a) { //ArrayList为静态内部类 return new Arrays.ArrayList(a);}//内部类Arrays.ArrayList.classprivate static class ArrayList<E> extends AbstractList<E> impl
2022-04-05 12:03:10
623
原创 IDEA自定义类和方法模板
IDEA自定义类和方法模板一、类注释模板1、File–>settings–>Editor–>File and Code Templates–>Includes我们选择Class文件(当然你要设置接口的还也可以选择Interface文件)/**** @Description* @Author liuhj* @Date ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}*/二、方法注释模板1、创建模板File–>Setti
2022-04-01 21:48:33
607
原创 final/finally/finalize关键字对比
1. final final意味着“最后的、最终的”含义,final可以用来修饰类,方法和变量(成员变量或局部变量)。1.1 修饰类 当用final修饰类时,表明该类不能被其他类所继承。String是一个典型的final类型的类。注意:final类中所有的成员方法都会隐式的定义为final方法。1.2 修饰方法把方法锁定,以防止继承类对其进行更改。如:枚举类中的equals()/clone()此方法不能被重写,也不能在子类中重新定义同名同参的新方法1.3 修饰变量 final成员变量
2022-04-01 00:03:37
331
原创 springboot启动加载之CommandLineRunner接口、@PostConstruct
1、CommandLineRunner在项目中,经常有这样的需求,我们需要在项目启动完立即初始化一些数据(比如缓存等),以便后面调用使用。spring boot可以通过CommandLineRunner接口实现启动加载功能。实现CommandLineRunner接口,并重写run方法,在run方法内编写需要加载的内容。我们可以写多个类继承CommandLineRunner接口,这些类之间,可以通过@Order(value=1)实现执行的先后顺序。代码如下:@Componentpublic class
2021-09-13 15:43:14
609
原创 Arrays.asList()转换问题
Arrays.asList()转换问题Arrays.asList(arr) 返回的集合为Arrays中的静态内部类ArrayList,该类没有重写add() remove() clear()方法,在方法内部进行了浅拷贝,ArrayList中存放的数据和arr数组的地址值相同,所以修改其中一个都会相应改变,具体看源码;利用多态性,通过List接收asList()方法的返回结果,调用的方法为AbstractList重写的List中的方法;参数arr数组如果使用的是基本数据类型,则把他看作是一个整体保存内
2021-08-09 16:45:12
541
原创 内部类的简单使用
成员内部类作为外部类的成员变量,而局部内部类定义在方法内、代码块内、构造器内(有必须使用final局部变量的问题)。下面为成员内部类使用示例: @Datapublic class School { private String schoolName; private String address; @Data public class Student{ private String studentName; public static
2021-04-27 15:10:27
539
1
原创 foreach循环中不能使用字符串拼接
问题: @Test public void forEachTest(){ String str = "中国你好!"; List<String> list = Arrays.asList("a","b","c","d"); list.forEach(item->{ //编辑错误:Variable used in lambda expression should be final or ef
2021-04-13 17:21:24
1543
原创 try-with-resources使用
final、finally与finalize的区别1. final在java中,final可以用来修饰类,方法和变量(成员变量或局部变量)。1.1 修饰类当用final修饰类时,表明该类不能被其他类所继承。注意:final类中所有的成员方法都会隐式的定义为final方法。1.2 修饰方法把方法锁定,以防止继承类对其进行更改。final方法意味着“最后的、最终的”含义,即此方法不能被重写,也不能在子类中重新定义同名同参的新方法注意:若父类中final方法的访问权限为private,将导致子类
2021-04-13 14:57:28
670
原创 lambda表达式使用局部变量要用final
lambda表达式使用局部变量要用final lambda表达式本身是一个匿名内部类的一种编写形式,可以操作外部的变量使用实例变量或静态变量是没有限制的(可认为是通过 final 类型的局部变量 this 来引用前两者)使用局部变量必须显式的声明为 final 或实际效果的的 final 类型,即该变量从未被改变过 @Test public void finalTest(){ String str = "中国你好!"; //在
2021-04-13 12:28:51
1337
原创 Set和List集合中contains()方法执行效率问题
Set和List集合中contains()方法执行效率问题Set检索元素效率低下,删除和插入效率高;List查找元素效率高,插入删除元素效率低。List虽然用get(index)方法查询效率高,但是若用contains方法查询对象元素,Set集合比List效率更高,我们证明出了,Set()的时间复杂度是O(1),而List.contain的时间复杂度是O(n)。List<Long> searchAttrIds = attrService.selectSearchAttrIds(att
2021-04-12 23:15:46
6585
1
原创 Java继承问题
Java继承问题 首先重写只针对方法,子类和父类中的同名属性只是子类覆盖了父类的相同属性; 父类中的所有属性和方法都会被子类继承(private修饰的属性方法只是拥有,但可以通过父类中公共方法去间接使用),子类在继承的时候,子类可以调用继承下来的属性和方法(私有的除外),另外 final方法、私有方法、static方法是不能重写的; 在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写(Overri
2021-04-09 16:36:19
363
原创 包装类及基本数据类型之间大小比较
包装类比大小及运算一、案例我们先来看下这个例子:public class IntegerTest { public static void main(String[] args) { Integer a = 127; Integer b = 127; System.out.println(a == b); a = 128; b = 128; System.out.println(a == b); a = -128; b = -128; System.o
2021-04-08 13:53:35
2655
2
原创 并发修改异常 java.util.ConcurrentModificationException
并发修改异常 java.util.ConcurrentModificationException问题:代码://使用该List集合会出现 java.util.ConcurrentModificationException//List<Map<String,Object>> stuList = new ArrayList<>();CopyOnWriteArrayList<Map<String,Object>> stuList = new
2021-04-07 17:47:05
196
原创 MybatisPlus 通用枚举的使用
MybatisPlus 通用枚举的使用1、声明通用枚举属性方式一: 使用 @EnumValue 注解枚举属性/** * @author liuhongjun */@Getter@AllArgsConstructorpublic enum StatusEnum { SHOW(1, "显示"), HIDE(2, "隐藏"); @EnumValue // 标记数据库存的值是code @JsonValue // 标记响应json值 private In
2021-04-07 15:09:24
625
原创 枚举常量使用equal或==比较大小的区别
使用equal或==比较枚举常量大小二者皆对,通过查看枚举的源码,你会发现在源码中,equals也仅仅非常简单的==,并且不能重写(final类型方法)。 首先java.lang.Enum是所有枚举类的父类java.lang.Enum 源码中equals 代码:public final boolean equals(Object other) {return this==other;}可以用 == 去做比较符,因为枚举有着严格的实例化控制,在官方文档中也有明确的说明。JLS 8.9 En
2021-04-07 14:40:12
2053
原创 @Autowired、@Inject、@Resource三者区别
@Autowired、@Inject、@Resource三者区别一、@Autowired@Autowired是spring自带的注解,通过 AutowiredAnnotationBeanPostProcessor 类实现的依赖注入;@Autowired默认根据类型type进行自动装配的,由于Java的多态性,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种,如果找到多个可以匹配的类型,则转为按照名称name进行匹配,如果连名称都相同,则会报错如果需要指定按名称进行装配,则需要配合@Q
2021-04-07 13:38:33
1263
1
原创 Sql 语句中 IN 和 EXISTS 的区别及应用
Sql 语句中 IN 和 EXISTS 的区别及应用IN 语句:只执行一次确定给定的值是否与子查询或列表中的值相匹配。in在查询的时候,首先查询子查询的表,然后将内表和外表做一个笛卡尔积,然后按照条件进行筛选。所以相对内表比较小的时候,in的速度较快。具体sql示例:SQL语句执行顺序详见:https://blog.youkuaiyun.com/wqc19920906/article/details/794118541、select * from student s where s.stuid in(sele
2021-04-07 11:31:42
207
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅