学习碎碎念指的是,我自己日常学习中遇到的一些很小很细节的问题或者收获的知识,由于分门别类很麻烦(好吧其实是懒=,=),就直接记录在一块了。
-
.ini是类似于.xml的配置文件
.msi是microsoft installer的简写,是微软格式的安装包。
-
MySQL有时候表名和字段名用反引号是为了区分保留字和普通字符。例如SELECT
select
FROMtest
WHERE select='字段值'。 -
建立Maven项目时,把原来的src包删除留下pom.xml,重新建项目包,可以使得新建的项目中的pom.xml作为子模块依赖于最开始的pom.xml,这样就不用给每个pom.xml重新导一遍了。
-
xml中&是&的转义;xml等配置文件中最好不要有中文注释。
-
IDEA快捷键:alt+enter,快速生成某种形式。alt+insert,快速重写方法
-
Maven项目中由于约定大于配置,最好把.xml,.properties文件都放在resources目录下才会自动读取。放在java目录下的话可能需要在pom.xml中配置resources来使之被读取。
-
对于列表对象,可以在IDEA中输入.for快捷键来遍历,例如userList.for
-
因为报错的输出是栈结构,所以读错要从后往前读
-
typora中shift+tab可以回退到最左侧
-
B-树、B树和B-tree是同一个数据结构
-
sql中count(
列名
)不忽略null值,count(*)和count(1)会忽略null值。 -
i18n是国际化(Internationalization)的缩写,K8s是Kubernetes的缩写
-
/*是目录下的所有文件,/**是目录下的所有文件及文件夹
-
super()的作用:1、调用父类被子类重写的方法;2、调用父类被子类重定义的字段(被隐藏的成员变量);3、调用父类的构造方法。如果一个类中没有写任何的构造方法,JVM会生成一个默认的无参构造方法。在继承关系中,由于在子类的构造方法中,第一条语句默认为调用父类的无参构造方法(即默认为super(),一般这句话省略了)。所以当在父类中定义了有参构造函数,但是没有定义无参构造函数时,IDE会强制要求我们定义一个相同参数类型的构造器。
-
ue4截图:运行工程,按波浪键,也就是ESC键下方的那个键,在命令框中输入HighResShot 1920X1080(分辨率可以自己定义,注意不能打*,要打X键)
-
java.util.Stack类中empty()和 isEmpty()方法的作用:java.util.Stack继承类java.util.Vector。empty()是Stack自己实现的方法,isEmpty是从Vector继承的方法,两者用法差不多一样。
-
为什么一个文件中只能有一个public的类?答:java程序是从一个public类的main( )函数开始执行的,编译器在编译时,针对一个java源代码文件(编译单元)只会接受一个public类。每个编译单元只有单一的公共接口,用public类来表现,如果很多PUBLIC 类,那程序从何运行?这个单一的公共接口可以包含多个支持包访问权限的类。如果有一个以上的public 类,编译器就会报错。同时,public类的名称必须完全与含有该编译单元的文件名完全一致。如果不一致,也会导致将编译错误。
-
二叉查找树相对二叉树的特点是什么:根节点的值大于其左子树中任意一个节点的值,小于其右节点中任意一节点的值。二叉搜索树的一个重要的特性是是二叉搜索树的中序序列是升序序列。
-
过滤器(Filter):当你有一堆东西的时候,你只希望选择符合你要求的某一些东西。定义这些要求的工具,就是过滤器。 拦截器(Interceptor):在一个流程正在进行的时候,你希望干预它的进展,甚至终止它进行,这是拦截器做的事情。 监听器(Listener):当一个事件发生的时候,你希望获得这个事件发生的详细信息,而并不想干预这个事件本身的进程,这就要用到监听器。
-
vue是前端渲染,后端数据以json形式提供,前后端交互只有纯数据;thymeleaf相当于过去的jsp,当然比jsp先进不少,是后端渲染,后端直接推送的是整个html文档,缺点是服务器压力增大,渲染的东西比较多
-
钩子函数: 1、是个函数,在系统消息触发时被系统调用 2、不是用户自己触发的。回调函数和钩子函数的区别:根本上,他们都是为了捕获消息而生的,但是钩子函数在捕获消息的第一时间就会执行,而回调函数是在整个捕获过程结束时,最后一个被执行的。回调函数其实就是调用者把回调函数的函数指针传递给调用函数,当调用函数执行完毕时,通过函数指针来调用回调函数。
-
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
-
自定义注解:@Documented:注解信息会被添加到Java文档中; @Retention:注解的生命周期,表示注解会被保留到什么阶段,可以选择编译阶段、类加载阶段,或运行阶段; @Target:注解作用的位置,ElementType.METHOD表示该注解仅能作用于方法上。
-
自定义异常的好处是什么?(1)统一了对外异常展示的方式给前台或者各个服务接口(2)使用自定义异常继承相关的异常来抛出处理后的异常信息可以隐藏底层的异常,这样更安全,异常信息也更加的直观示范定义一个注册异常类。
-
throw是语句抛出一个异常。throws是方法可能抛出异常的声明。 1、throws出现在方法函数头;而throw出现在函数体。 2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常。 3、两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。