自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 收藏
  • 关注

转载 多线程学习和补充:接口之间的关系等等

目录 一、概念理解 二、使用多线程:Runnable 接口和 Thread 类 2.1、Runnable 接口 2.2、Thread 类 2.3 使用多线程 2.3.1 方式一:实现 Runnable 接口 2.3.2 方式二:继承 Thr...

2019-09-24 17:58:00 420

转载 MyBatis使用技巧、总结、注意事项

目录 1、mybatis的官方文档地址 2、其他技巧: 2.1 如何在代码中拼接 like %% 2.2 数据库比较时日期的错误操作 2.2.1 异常情况: 2.2.2 为什么会在后面指定jdbcType,及真正的错误与那样? 2.2.3 ...

2019-09-11 16:16:00 383

转载 不同Json工具对空串和NULL的序列号处理:net.sf.json 和 fastjson

目录 1、测试代码 2、测试结果: 3、总结: 4、注:Maven中引入net.sf.json的方式 net.sf.json 和 fastjson 对于空串和NULL的处理:1、测试代码package com.TestMain; import com...

2019-09-10 16:18:00 558

转载 MyBatis批量插入数据

1、说明和注意数据库支持单条 INSERT 语句有多组值。只需每组值用一对圆括号括起来,多组值之间用逗号分隔即可。说明和注意:DAO 层传入的是 List,List 里一个元素代表一条数据,同时 List 放入 Map 中;XML 中使用 foreach 遍历,每条数据中的元素全部用括号括起来,多条数据之间用逗号分割;如果 List 为空,MyBatis 拼接的 SQL 会没...

2019-08-13 16:11:00 204

转载 【IDEA】格式化代码技巧汇总

1、格式化 Java 代码快捷键:Ctrl+Alt+L2、格式化 Mapper 文件中的 SQL关联到数据库,让 IDEA 认识你的 SQL。如何关联?选择右侧的database,添加数据库即可。如果之前没用请自行尝试。语言自动注入(这一步是自动的,如果第一步正确,这一步无需操作)。如果没有自动注入,则可以手动注入。在 SQL 语句上,按Alt+Enter,选择 Inject...

2019-08-07 18:07:00 1420

转载 outlook寻找/删除指定日期范围内的邮件

总是收到很多系统预警邮件,时间久了攒了好多垃圾邮件。实际上只需保存近期预警邮件,之前的完全可以删除。上网找了一圈也没找到方法,然后自己想到了一种,步骤如下:使用outlook规则,将指定日期范围内的邮件放入指定文件夹;对该文件夹种的邮件进行最终确认,并删除;其实最主要的就是找到指定日期范围内的邮件,找到邮件之后,怎么操作就随意了。具体使用outlook的规则配置如下:...

2019-07-26 18:25:00 1905

转载 Velocity 数值格式化(NumberTool工具类):保留两位小数和格式化千分位

Velocity 自带的工具类:NumberTool 实现数字格式化:保留两位小数和格式化千分位。NumberTool 的 format(String format, Object obj)函数说明。第一个参数定义的格式,第二个参数是要被格式化的对象。1、使用示例://保留两位小数$number.format("#0.00", $val)//保留一位小数$number.fo...

2019-07-24 16:15:00 1369

转载 Java中的一些关键字:static,final,和abstract,interface,以及访问修饰符说明

1、关键字可以修饰的说明:关键字属性(是否可修饰)方法(是否可修饰)类(是否可修饰)static是是是final是是是abstract否是是2、关键字的意义:关键字意义具体特性说明被继承的话,会有什么后果?static表示属于该类。1. 修饰变量:属于该类2. 修饰方法:子类可覆盖为static,但...

2019-07-18 19:41:00 132

转载 学习UML图和时序图,以及IDEA种查看类之间关系

1、类之间的关系:(6种)关系表示图示解释表明的结构和语义泛化关系带空心箭头的直线A继承自B(B指代非抽象类)继承结构实现关系带空心箭头的虚线小汽车继承车(B指代抽象类)继承结构聚合关系带空心菱形箭头的直线表示A 聚合到 B 上,或者说 B 由 A 组成。表示整体由部分构成的语义。(不是强依赖:整体不存在了,部分仍然存在)...

2019-07-17 18:13:00 355

转载 MySQL中的日期和时间:使用和说明,以及常用函数

1、首先需要注意:1.1 MySQL中把日期和时间是分开的。以字符串2007-12-31 00:59:59为例:日期部分:2007-12-31。这部分也可以叫做一个日期表达式。时间部分:00:59:59。这部分也可以叫做一个时间表达式。对这两部分分别有不同的操作函数。同时,对于SQL语句中的字符串:如果符合上述样式,MySQL就可以把其当作一个日期使用。1.2 对于函数的使...

2019-07-09 17:17:00 143

转载 日期控件传到后台异常。日期数据格式是 Date 还是 String?

问题:日期控件的时间,传到Controller层直接异常。前台日期格式:YYYY/MM/DD,后台Java定义的时间类型:Date。解决:方法一:原因是Controller层的参数类型定义为 Date类型,将 Date类型改为String类型,问题解决;方法二:修改日期控件的时间格式为,YYYY-MM-DD HH:mm:ss。后台依旧是Date类型。问题解决。分析:异常是前台...

2019-07-09 17:15:00 677

转载 小米 9 SE 获取Root 和 安装Magisk

1、刷入第三方REC 和 Magisk参考教程:【LR.Team】小米9SE专版TWRP中英文修改优化版_小米9 SE_MIUI论坛使用上面的工具,傻瓜式操作即可。关于刷入成功之后的说明:刷入成功后,系统会重启进入TWRP首先需要设置一个密码;然后需要签名boot然后获取root,这样才会在手机中安装Magisk框架。最后,手机重启,即可成功。注意:小米官方是按...

2019-07-04 22:49:00 1820

转载 Cron 表达式学习

1、7个子域的说明cron 的表达式是字符串,实际上是由七子表达式(从左到右),描述个别细节的时间表。这些子表达式是分开的空白。顺序(从左到右)子串有效数字有效字符1Seconds(秒)0~59 的整数,和-和*和/2Minutes(分)0~59 的整数,和-和*和/3Hours(小时)0~23 的整数,和-和*和/4Day...

2019-07-03 01:51:00 162

转载 Union All 使用注意事项和字段顺序不一致导致的异常

使用注意,先说结果:UNION 操作符用于合并两个或多个 SELECT 语句的结果集,这里需要注意的是:UNION 内部的 SELECT 语句必须拥有相同数量的列;列也必须拥有相似的数据类型(实际非必须);同时,每条 SELECT 语句中列的顺序必须相同。一、表结构数据准备如下:1.1 test_union_1结构:CREATE TABLE `test_union_1...

2019-07-02 16:14:00 6010

转载 Java.lang 包 util 包等各个包详解

java.lang该包提供了 Java 编程的基础类,例如 Object、Math、String、StringBuffer、System、Thread 等,不使用该包就很难编写 Java 代码了。java.util该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。...

2019-06-27 21:30:00 193

转载 MySql中的count、NULL和空串的区别

**1、count (1)、count (*) 与 count (列名) 的区别**表count(1)count(*)count (列名)作用统计表中的所有的记录数会统计表中的所有的记录数统计该字段在表中出现的次数是否包含字段为 null包含包含不包含区别count (1) 和 count (*) 基本没差别,实际建议count (*)...

2019-06-27 21:26:00 399

转载 IDEA使用mybatis generator自动生成代码

主要就三步:1、pom 文件中引入jar包并配置 build 属性 <dependencies> <!-- 自动生产mapper Begin! --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-ja...

2019-06-27 21:21:00 145

转载 Optional的理解和使用

1、Optional 到底是什么?Optional 是一个包装类。类中包装的对象可以为 NULL 或非 NULL。简单说就是把 NULL 包了一层,防止直接对 NULL 操作报NPE。2、Optional 的方法说明:定义:Optional 空实例:Optional 实例中的 value == null。判断 Optional 是否存在:Optional 实例中的 value...

2019-06-27 21:20:00 599

转载 Stream API的代码示例.md

一、代码实例:package com.TestMain;import com.alibaba.fastjson.JSON;import java.util.*;import java.util.stream.Collectors;import java.util.stream.Stream;public class TestTest22 { public st...

2019-06-25 10:10:00 115

转载 【log4j】的学习和理解 + 打印所有 SQL

log4j 1.2 学习和理解 + 打印所有 SQL一、基本资料官方文档:http://logging.apache.org/log4j/1.2/manual.html(理解基本概念和其他)logger的继承关系:父级就近(自己有就自己,自己没有父级就近)appender的输出方式:自己+父级所有(additivity="false"只表示父级及以上不生效,不对本身生效)日...

2019-06-21 14:32:00 139

转载 Comparable 接口学习:对对象List进行比较和排序(正序和逆序)

Comparable 接口只有一个 int compareTo(T o) 方法1、int compareTo(T o) 方法方法说明:比较此对象和规定的对象,如果此对象大于,等于,小于规定对象,则分别返回负整数,0和正整数。代码说明: (T)a.compareTo(T b)a>b:返回一个正整数a=b:返回0。a<b:返回一个负整数2、通俗点来说:...

2019-06-21 10:42:00 535

转载 字符编码笔记:ASCII,Unicode 和 UTF-8(理解)

1、ASCII 码美国制定的字符编码规则,对英语字符与二进制位之间的关系做了统一规定。占一个字节,8 位,最多可表示 2^8 = 256 种状态(字符)实际共有 128 个字符,只占用一个字节的后面 7 位。首位统一规定为 0。2、非 ASCII 编码其他国家各自制定的编码规则。映射本国字符和二进制之间的关系。适合本国字符数在256以内...

2019-05-23 12:52:00 160

转载 Java 中 try、catch、finally 语句块的执行顺序

假设代码顺序书写如下:try → catch → finally → 其他代码则:1、正常执行顺序:try → catch → finally → 其他代码2、try,catch和finally和其他代码的执行条件:先执行try。只要try中有异常,catch就会执行;finally总会执行;其他代码:如果finally中没有retur...

2019-05-15 19:03:00 215

转载 幂运算、对数和指数学习

1、幂运算(整数幂和分数幂):幂 - 维基百科,自由的百科全书 https://zh.wikipedia.org/wiki/%E5%86%AA注意:b为底数,n为指数。1.1 分数幂运算:1.2 幂运算的运算公式和法则1.3 次方根2、对数:2.1 对数的基本概念对数 - 维基百科,自由的百科全书https://zh.wikipedia.org/wiki/%E5%AF%B9%E6%...

2019-04-30 17:47:00 719

转载 云笔记+心情日记类APP推荐

一、思绪收集类Google Keep - 记事和清单 - Google Play 上的应用注:谷歌 Keep 是最方便的收集思绪 APP 了。卡片视图,反应迅速,流畅,UI 漂亮,功能齐全,唯一不方便的是数据同步(FQ)。Notebook - 记录记事,同步 - Google Play 上的应用注:NoteBook 和谷歌 Keep 很类似,只是在笔记上多了一层笔记本区分...

2019-04-27 10:42:00 996

转载 【NotePad++】使用指南

身为一名程序员,这绝对是很常用的工具,但是你真的用了他的全部功能么?教程参考:【crifan 推荐】轻量级文本编辑器,Notepad 最佳替代品:Notepad++ 注:一个很详细的教程,虽然老,不过依旧很棒。多看看。一、正则查找和替换1.1 先说Notepad++正则表达式语法: 参考:Notepad++正则表达式语法 - 可可西 - 博客园 h...

2019-04-14 22:11:00 1190

转载 缓存穿透、缓存击穿、缓存雪崩概念及解决方案

1、缓存穿透(KEY不存在,可以理解为每次都穿透)访问一个不存在的 key,缓存不起作用,请求会穿透到 DB,流量大时 DB 会挂掉。解决:1、采用布隆过滤器,使用一个足够大的 bitmap,用于存储可能访问的 key,不存在的 key 直接被过滤;2、访问 key 未在 DB 查询到值,也将空值写进缓存,但可以设置较短过期时间。2、缓...

2019-04-11 16:11:00 65

转载 POST请求和GET请求的区别

GET 参数通过 URL 传递,POST 放在 Request body 中。(所以POST比较安全)GET 请求在 URL 中传送的参数是有长度限制的,而 POST 么有。(因为一个数据在URL中,一个在Body中,这是浏览器的限制)GET只能使用URL编码,POST支持多种编码GET 在浏览器回退时是无害的,而 POST 会再次提交请求。(带参数的提交奥,注意幂等...

2019-04-11 16:08:00 62

转载 ibatis 中#和 $ 符号的区别

1、数据类型匹配#:会进行预编译,而且进行类型匹配(自动确定数据类型);$:不进行数据类型匹配。2、实现方式:# 用于变量替换(先生成一个占位符,然后替换)select * from users where name = #name#等效于prepareStement=stmt.createPrepareStement("sel...

2019-04-10 08:53:00 213

转载 自动装箱和自动拆箱理解

装箱:自动将基本数据类型转换为包装器类型;调用方法:Integer 的 valueOf (int) 方法拆箱:自动将包装器类型转换为基本数据类型。调用方法:Integer 的 intValue 方法==什么时候会自动拆箱?包装类 “==” 运算在不遇到算术运算的情况下不会自动拆箱。即只有遇到运算符才会自动拆箱。《...

2019-04-10 08:42:00 153

转载 回文串算法说明(带注释)

对应的LeetCode题:Palindrome Linked List - LeetCode参考:leetcode-java/README.md at master · andavid/leetcode-java https://github.com/andavid/leetcode-java/blob/master/note/234/README.md逻辑说明:...

2019-04-09 12:45:00 147

转载 Object 对象有哪些方法?

这个不看还真不一定能说全,请养成良好的阅读源码和JDK文档的习惯。总结一下:一共11个,wait的3个+notify的2个,hashCode和equals还有toString共3个,然后clone和finalize还有getClass3个。图示:![](https://ws1.sinaimg.cn/large/b35c33e9ly1g1v9fj1xxjj213j0...

2019-04-09 12:00:00 282

转载 事务以及MySQL事务隔离级别+MySQL引擎的区别

1、事务的基本要素:ACID1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。2、一致性(Consistency):事务开始前和结束后,数据库的...

2019-04-09 08:50:00 80

转载 ThreadLocal分析总结:

1、ThreadLocal 是什么它是一个数据结构,像 HashMap,可保存 "key : value" 键值对;ThreadLocal 有一个内部类ThreadLocalMap,用于存储数据。但一个 ThreadLocal 只能保存一个,并且各个线程的数据互不干扰。2、ThreadLocalMap在 ThreadLoalMap 中,初始...

2019-04-03 13:23:00 89

转载 面试之四:JVM内存区域分配

1、程序计数器(线程私有)【不会OOM】记录线程执行的代码位置,每个线程各自独有。2、栈:虚拟机栈和本地方法栈(线程私有)【会OOM和StackOverflow】虚拟机栈每个JAVA方法在执行时都会创建一个栈帧。用于存储局部变量表、操作数栈、动态链接、方法出口等信息。本地方法栈:同虚拟机栈。只是用于Native方法...

2019-04-03 09:40:00 77

转载 面试之三:JVM类加载机制-类加载各阶段说明和类加载器

一、类生命周期:共7个阶段类从被加载到虚拟机内存中开始,到卸载出内存。整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。其中验证、准备、解析3个部分统称为连接。类加载的过程:不包括上面的使用和卸载。示意图:![](https://ws1.sinaimg.cn/large/b35c33e9ly1g1p5ab39wdj20hg07jq4...

2019-04-03 09:21:00 100

转载 面试之二:Redis是单线程还是多线程?以及处理模型。

Redis是单线程还是多线程?以及处理模型。线程:单线程处理模型:参考书《Redis 设计与实现》P151-152 ![](https://ws1.sinaimg.cn/large/b35c33e9ly1g1p4dzlbukj20jq08twhg.jpg)![](https://ws1.sinaimg.cn/large/b35c33e9ly1g1p4eoaq...

2019-04-03 08:18:00 801

转载 面试之一:CMS收集器整理

CMS收集器整理 @white 基本说明:目标:获取最短回收停顿时间算法:标记-清除算法线程:并发步骤:初始标记:(会STP)标记 GC Roots 能直接关联到的对象,速度很快并发标记:(耗时最长,且可与用户线程一起工作)进行 GC Root Tracing 的过程重新标记:(会STP)修...

2019-04-03 07:56:00 155

转载 CMS 收集器整理

基本说明:目标:获取最短回收停顿时间算法:标记-清除算法线程:并发步骤:初始标记:(会STP)标记一下 GC Roots 能直接关联到的对象,速度很快并发标记:(耗时最长,且可与用户线程一起工作)进行 GC Root Tracing 的过程重新标记:(会STP)修正并发标记期间因用户程序继续运作而导致...

2019-04-02 23:20:00 247

转载 极客时间课程学习感触

已购课程目前已经在极客时间上买了7门课程,学完了3个。具体如下。 Java 并发编程实战 Linux 性能优化实战 数据结构与算法之美(学习中) Nginx 核心知识 100 讲 如何设计一个秒杀系统(已学完) 深入拆解 Java 虚拟机(已学完) Java 核心技术 36 讲(已学完)学习感触《如何设计一个秒杀系统》极客时间出来后,我便积极投...

2019-03-01 15:51:00 851

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除