自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

绣花针

心有猛虎,细嗅蔷薇

原创 用两个栈实现队列

用两个栈来实现一个队列,完成队列的Push和Pop操作。

2019-09-16 15:27:29 64 0

原创 重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。

2019-09-16 09:12:58 53 0

原创 从尾到头打印链表

输入一个链表,按链表从尾到头的顺序返回一个ArrayList

2019-09-15 16:22:02 50 0

原创 替换空格

请实现一个函数,将一个字符串中的每个空格替换成“%20”。

2019-09-15 14:59:28 42 0

原创 二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

2019-09-15 12:56:01 50 0

原创 多线程之分段处理List集合

一、基础 1.1Callable接口 一般线程的创建有三种方式,直接继承Thread、实现Runnable接口、实现Callable接口。其中最差当属直接继承Thread,调用new Thread()创建的线程缺乏管理,可以随意创建、相互竞争。而后两种可以使用Executor框架的线程池来管理...

2019-08-02 11:11:22 613 0

原创 工具类之全局异常处理

为提高用户体验,加入全局异常处理(其中统一结果类ResultUtil在上节工具类中已经给出) /** * @program: dc2 * @description: 全局异常处理 * @author: Mario * @create: 2019-07-24 17:27 **/ @Co...

2019-07-24 17:37:41 212 0

原创 工具类之SpringBoot手动注入bean

一、工具类 /** * 实现ApplicationContextAware接口,并加入Component注解,让spring扫描到该bean * 该类用于在普通Java类中注入bean,普通Java类中用@Autowired是无法注入bean的 */ @Component public ...

2019-07-23 14:54:37 702 1

原创 工具类之HttpClient各种请求封装

一、引入maven依赖 <!-- HttpClient 集成 --> <dependency> <groupId>org.apache.httpcomponents</groupId> ...

2019-07-23 09:42:46 643 0

原创 工具类之Controller层返回结果封装

一、枚举类ResultCodeEnum 所有返回编码和含义,后续可以自由扩展 /** * @program: dc2 * @description: 返回结果编码与含义 * @author: Mario * @create: 2019-07-22 16:21 **/ public ...

2019-07-22 14:07:52 1499 0

原创 工具类之利用Gson对JSON串进行带泛型的List/纯数组转化

一、泛型实体 这里主要目的是返回一个通用的结果集 @Data public class ResultRespDto<T> { /** * 返回结果值 */ private ResultRespDataDto<T> data; ...

2019-07-17 11:23:01 101 0

原创 工具类之IP地址与Long整型的转换

public class IpToLongUtil { // 将127.0.0.1形式的IP地址转换成十进制整数,这里没有进行任何错误处理 public static long ipToLong(String strIp) { long[] ip = new lon...

2019-07-16 10:57:24 92 0

原创 SpringBoot之集成HttpClient

SpringBoot集成HttpClient的细节

2019-07-15 15:02:09 787 0

原创 Hadoop之MR简单例子(分组统计手机号通讯总数,降序排序,分组统计)

一、自定义分组规则 /** * @program: HadoopDemo * @description: 区域分块 * @author: Mario * @create: 2019-04-18 22:35 */ public class AreaPartitioner<KEY,...

2019-04-18 23:03:29 97 0

原创 Hadoop之MR简单例子(分组统计手机号通讯总数,降序排序)

一、Map/Reduce /** * @program: HadoopDemo * @description: 排序后的通讯情况 * @author: Mario * @create: 2019-03-17 21:36 **/ public class SortMR { /...

2019-04-18 22:31:35 182 0

原创 SQLServer获取本年所有月份,本月所有天数

1.本年所有月份 --本年所有的月数 with t as ( select replace(convert(varchar(7),dateadd(mm,t.number,dateadd(year, datediff(year, 0, getdate()), 0)),120),'-&#...

2019-04-15 15:08:34 1465 0

原创 JVM之垃圾回收

目录 一、引言 二、垃圾回收对象标准 三、垃圾回收算法 1.标记-清除算法(Mark-Sweep) 2.标记-整理算法(Mark-Compact) 3.标记-拷贝算法(Mark-Copy) 四、垃圾回收器 1.Serial回收器 2.CMS回收器 3.G1回收器 一、引言 ...

2019-03-30 16:33:07 104 0

原创 JVM之对象实例化

目录 一、引言 二、从字节码角度分析 1.NEW 2.DUP 3.INVOKESPECIAL 三、从执行步骤角度分析 1.确认类元信息是否存在 2.分配对象内存 3.设定默认值 4.设置对象头 5.执行 init 方法 一、引言 Java 是面向对象的静态强类型语言,声明...

2019-03-30 14:47:11 71 0

原创 JVM之内存布局

目录 一、引言 二、经典JVM内存布局 1.Heap(堆区) 2.Metaspace(元空间) 3.JVM Stack(虚拟机栈) 4.Native Method Stacks(本地方法栈) 5.Program Counter Register(程序计数寄存器) 三、线程共享角度的...

2019-03-29 09:17:40 147 1

原创 JVM之类加载过程

目录 一、引言 二、类加载过程 1.Load 2.Link 3.Init 三、案例 1.第1处说明(new关键字与newInstance()方法区别) 2.第 2 处说明(使用类似的方式可获取其他声明如注解、方法等) 3.第 3 处说明(private 成员在类外依然可以修改) ...

2019-03-28 08:33:41 163 0

原创 JVM之字节码

目录 一、引言 二、二进制字节码与操作码助记符 三、字节码主要指令 1.加载或存储指令 2.运算指令 3.类型转换指令 4.对象创建和访问指令 5.操作栈管理指令 6.方法调用与返回指令 7.同步指令 四、源码转字节码过程 1.词法解析 2.语法解析 3.语义分析 五...

2019-03-25 21:41:14 328 1

原创 编码规约之应用分层

目录 一、推荐 1.分层规约 二、参考 1.分层异常处理规约 2.分层领域模型规约 一、推荐 1.分层规约 下图中默认上层依赖于下层,箭头关系表示可直接依赖。如:开放接口层可以依赖于 Web 层,也可以直接依赖于 Service 层,依此类推: 开放接口层:可直接封装 Ser...

2019-03-25 14:15:34 90 0

原创 编码规约之ORM映射

目录 一、强制 1.在表查询中一律不要使用 * 作为查询的字段列表 2.POJO 类的布尔属性不能加 is而数据库字段必须加 is_ 3.不要用 resultClass 当返回参数 4.sql.xml 配置参数使用#{}或#param# 5.iBATIS自带的queryForList不...

2019-03-25 14:07:18 149 0

原创 编码规约之SQL语句

目录 一、强制 1.count(*)作为标准统计行数的语法 2.count(distinct col) 计算该列除 NULL 之外的不重复行数 3.当某一列的值全是 NULL 时count(col)的返回结果为 0 4.使用 ISNULL()来判断是否为 NULL 值 5.在代码中写分...

2019-03-25 13:50:43 354 0

原创 编码规约之索引规约

目录 一、强制 1.业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引 2.超过三个表禁止 join 3.在 varchar 字段上建立索引时注意项 4.页面搜索严禁左模糊或者全模糊 二、推荐 1.如果有 order by 的场景注意索引的有序性 2.利用覆盖索引来...

2019-03-25 13:35:52 127 0

原创 编码规约之建表规约

目录 一、强制 1.表达是与否概念的字段必须使用 is_xxx 的方式命名 2.表名、字段名必须使用小写字母或数字 3.表名不使用复数名词 4.禁用保留字 5.索引命名 6.小数类型为 decimal,禁止使用 float 和 double 7.如果存储的字符串长度几乎相等,使用 ...

2019-03-25 13:04:46 288 0

原创 编码规约之安全规约

目录 一、强制 1.隶属于用户个人的页面或者功能必须进行权限控制校验 2.用户敏感数据禁止直接展示 3.用户输入的 SQL 参数严格使用参数绑定或者 METADATA 字段值限定 4.用户请求传入的任何参数必须做有效性验证 5.禁止向 HTML 页面输出未经安全过滤或未正确转义的用户数...

2019-03-25 12:03:06 672 0

原创 编码规约之日志处理

目录 一、强制 1.应用中不可直接使用日志系统(Log4j、Logback)中的 API 2.日志文件至少保存15 天 3.应用中的扩展日志(如打点、临时监控、访问日志等)命名方式 4.对 trace/debug/info 级别的日志输出注意项 5.避免重复打印日志,浪费磁盘空间,务必...

2019-03-25 09:09:24 144 0

原创 编码规约之异常处理

目录 一、强制 1.通过预检查方式规避的 RuntimeException 异常不应该通过 catch 的方式来处理 2.异常不要用来做流程控制或条件控制 3.catch 时请分清稳定代码和非稳定代码 4.捕获异常处理问题 5.try块存在事务代码注意回滚问题 6.finally 块...

2019-03-23 21:30:19 143 0

原创 编码规约之其他

目录 一、强制 1.使用正则表达式时注意问题 2.velocity调用 POJO 类的属性注意问题 3.velocity后台输送给页面的变量必须加$!{var}---中间的感叹号 4.Math.random()注意点 5.获取当前毫秒数 二、推荐 1.不要在视图模板中加入任何复杂的...

2019-03-23 16:17:34 184 0

原创 编码规约之代码格式

目录 一、强制 1.大括号的使用约定 2.左小括号和字符之间不出现空格(右小括号同) 3.if/for/while/switch/do 等保留字与括号之间都必须加空格 4.任何二目、三目运算符的左右两边都需要加一个空格 5.采用 4 个空格缩进,禁止使用 tab 字符 6.注释的双斜...

2019-03-23 15:29:30 160 0

原创 编码规约之注释规约

目录 一、强制 1.类、类属性、类方法的注释必须使用 Javadoc 规范 2.所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释 3.所有的类都必须添加创建者和创建日期 4.方法内部单行注释使用//注释 5.所有的枚举类型字段必须要有注释 二、推荐 1.注释中英文问...

2019-03-23 14:43:31 73 0

原创 编码规约之控制语句

目录 一、强制 1.switch语句规约 2.if/else/for/while/do语句中必须使用大括号 3.在高并发场景中避免使用”等于”判断作为中断或退出的条件 二、推荐 1.表达异常的分支时少用 if-else 方式(非得使用请勿超过 3 层) 2.除常用方法(如 getXx...

2019-03-23 14:07:42 249 0

原创 编码规约之并发处理

目录 一、强制 1.获取单例对象与其方法需要保证线程安全 2.创建线程或线程池时请指定有意义的线程名称 3.线程资源必须通过线程池提供 4.线程池通过 ThreadPoolExecutor 的方式创建 5.SimpleDateFormat线程不安全使用规约 6.高并发时同步调用应该去...

2019-03-23 11:26:30 53 0

原创 编码规约之集合处理

目录 一、强制 1.hashCode 和 equals 的处理 2.ArrayList的subList结果不可强转成ArrayList 3.subList 场景中,高度注意对原集合元素的增加或删除 4.集合转数组的方法,必须使用集合的 toArray(T[] array) 5.工具类 ...

2019-03-23 10:51:04 156 1

原创 编码规约之OOP规约

目录 一、强制 1.避免通过类对象访问静态方法或变量 2.所有的覆写方法必须加@Override 注解 3.相同参数类型与相同业务含义才可以使用 Java 的可变参数 4.正在调用或者依赖的接口不允许修改方法签名 5.不能使用过时的类或方法 6.使用常量或确定有值的对象来调用 equ...

2019-03-21 22:17:07 123 0

原创 IDEA之便捷开发总结

目录 一、完全热部署JRebel插件 二、Inject language(快速编写SQL/JSON/JS等格式代码) 三、快捷键移动分割线(先选中当前文件后Ctrl+Shift+左右箭头) 四、自动收尾(Ctrl+Shift+Enter) 五、try/catch,if/else等快速生成...

2019-03-21 14:40:31 82 0

原创 IDEA之类模板与方法模板添加

目录 一、类模板 二、方法模板 一、类模板 1.按照顺序打开File–>settings–>Editor–>File and Code Templates–>Files,选择Class文件 2.将下面这段格式直接粘贴到编辑框中,Apply即可 #if ($...

2019-03-21 13:33:29 179 0

原创 编码规约之常量定义

目录 一、强制 1.不允许使用魔法值直接出现在代码中 2.Long或long赋值时使用大写L 二、推荐 1.不要使用一个常量类维护所有常量 2.分层次放置变量 3.变量值仅在一个固定范围内变化用 enum 类型来定义 一、强制 1.不允许使用魔法值直接出现在代码中 不允许任何魔...

2019-03-20 19:07:26 118 0

原创 Java之枚举类

目录 一、为何引入枚举类型(为了替代魔法值) 1.静态常量类型不安全 2.没有命名空间 二、枚举类型初识 1.enum和class、interface的地位一样 2.比较同一枚举类中不同值直接= = 3.默认继承了java.lang.Enum 4.所有实例都必须放在第一行展示 5...

2019-03-20 15:29:20 150 0

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