自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

People of solitary

Wounded Bear

  • 博客(67)
  • 收藏
  • 关注

原创 Queue与BlockingQueue

Queue1.队列继承 Collection2.队列的介绍设计用于在处理之前保存元素的集合,除了基本的Collection操作之外,队列还提供额外的插入,提取和检查操作。这些方法的每一种都有两种形式:如果操作失败,则抛出一个异常;另一种返回一个特殊值( null或false ,具体取决于操作)。 后一种插入操作专门设计用于容量限制的Queue实现; 在大多数实现中,插入操作不能失败。队列通常但不一定是以FIFO(先进先出)方式排序元素。除了优先级队列之外,根据提供的比较器对元素进行排序,决定使用自然

2020-06-25 11:40:03 482

原创 存储过程结构

CREATE OR REPLACEprocedure P_INS_CSD_LOAN_BIDSas–将数据从 原表 插入 更新表beginmerge into 更新表 dusing 原表 son(d.lid = s.lid)when not matchedtheninsert (xx,xx,xxvalues (yy,yy,yy);commit ;exceptionw...

2019-08-21 10:09:31 264

原创 《java虚拟机》笔记- 第二章:Java内存区域与内存溢出异常(异常部分)

目的:  1.通过代码验证JVM描述的各个运行时区域存储的内容  2.在工作中遇到实际的内存溢出时,根据异常信息快速定位是哪个区域的内存溢出内存溢出(OutOfMemoryError)存在的区域:java虚拟机栈,本地方法栈,堆,方法区一、堆内存溢出  堆容量参数设置:-Xms,-Xmx  堆溢出场景:堆是用来存储对象实例的,不断创建对象,并且保证GC Roots到对象之间有可达路径来...

2019-05-13 00:27:32 253

原创 《java虚拟机》笔记- 第二章:Java内存区域与内存溢出异常(理论部分)

序:人活着嘛,不仅需要吸收,还需要产出,好久没有写博客了,也是手痒痒,刚好晨会有个同事分享了一下JVM,所以也想总结一下自己在看JVM注意的点,姑且写个第二章的笔记吧,哈哈,很显然这个系列会太监,毕竟时间有限,工作之后迫不得已。JVM也看了有一阵子,都是偏理论的,还不知道在项目中到底怎么处理栈溢出,内存溢出的问题,话不多说,带着问题看笔记。一:为什么需要学习JVM?java与c++的区别:内存...

2019-05-12 23:22:49 190

转载 软件安装博客

一、Navicat下载及破解Navicat Premium 12.0.18 / 12.0.24安装与激活

2019-04-30 15:26:35 361

原创 Mock里边的doThrow与thenThrow的区别

1.doThrow 适用于 没有出参的方法 @GetMapping(value = "/findUserMenuItems") @ApiOperation(value = "查询用户菜单", notes = "查询用户菜单") public List<MenuItemVO> findUserMenuItems(@RequestParam(value = "us...

2019-04-19 10:22:38 11699 1

原创 Spring Boot整合MyBatis调用数据库

写博客有时候需要一点小情调,以后就每次以应景的诗开始吧。                  泊秦淮 杜牧             烟笼寒水月笼沙,夜泊秦淮近酒家。             商女不知亡国恨,隔江犹唱后庭花。经常使用mybatis,知道怎么用,但是spring boot 与mybatis整合起来怎么回事不太清楚,因此试验了一下,有此篇博客...

2019-03-23 18:09:10 446

转载 好文章地址

看到的很好的文章,就当这是一个书签1.Docker的安装配置及使用详解Docker的安装配置及使用详解

2019-03-14 21:12:35 137

原创 项目Swagger化

一、需要引入的依赖包前两个是关于swagger的包,第三个包是配置的时候返回Docket对象需要引入的包。注:我在引入第三个包的版本过高的时候项目起不来&amp;lt;!-- 引入swagger依赖 --&amp;gt;&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;io.springfox&amp;lt;/groupId&amp;gt; &am

2019-02-28 19:31:06 341

原创 项目开发中简单使用的Linux命令查看docker相关情况

最近项目部署在docker上,好处:部署docker的好处(去维基百科)。坏处(对我所在公司而言):以前服务挂掉了,启动脚本就可以重新启动服务;而现在只能让测试发布(服务使用jenkinds,在容器上发布服务)。因此记录一些简单的linux命令,是不是感觉有点侮辱智商,哈哈哈。1.查看docker是否在运行ps aux | grep doker2.如果容器挂掉了,重启(当然需要管...

2019-02-28 14:54:22 5730

原创 问题:解决在项目过程中出现的安全问题

一、问题描述在spring boot项目开发中引入另外一个服务的接口,导致本项目所有的接口都无法访问,访问URL自动跳转为/error(如下图最后一行)。  项目运行中会跳出如下的一串安全验证码(如下中间行):![在这里插入图片描述](https://img-blog.csdnimg.cn/20190227170839935.png二、解决方法添加对应的pom依赖,但是需要在包里边引用...

2019-02-27 17:11:15 290

原创 写UT:使用Junit写UT

在此之前我们需要弄清楚,在上面情况下使用mock写UT,在上面情况下使用Junit写UT。大多数情况来说,不需要与数据库发生数据交互的使用mock,即查;与数据库发生交互的使用Junit写UT,即增、删、改。当然还有特殊情况:逻辑很复杂,代码量很多,重构很彻底的一些功能方法使用Junit是很容易出错的,场景太多,无法全部覆盖到,我觉得应该使用mock测试比较好。功能重构之后=A模块+B模块,A...

2019-02-15 11:29:20 682

原创 写UT:使用Mock写UT

以前喜欢说废话,废话少说,直接上代码。一、测试类基类@RunWith(MockitoJUnitRunner.class)public abstract class BaseMockTest {}二、被测试类举一个例子,代码如下,不需要看明白代码,只需要知道这是一个controller的类,manager,dao层的mock都如此测试即可。package com.baozun.ec...

2019-02-15 10:58:58 2322

原创 简化验空小技巧

简化原因:  我们在做业务的时候,经常需要对入参需要进行一系列的验空,就算前端已经对他们进行了非空判断,处于安全考虑,在后端还是需要进行验空操作。  特别是现在微服务框架特别火,并且很多leader喜欢用mongodb作为数据库来存储。一个入参甚至可能包括七八个嵌套对象列表的验参,简直惨无人道,还不能出一点错。  当然这对于简单的对象验证来说就是简化代码格式,整洁代码。  如下图,验证类挺...

2019-01-25 15:31:54 295

原创 拦截器(二):使用@ControllerAdvice与@ExceptionHandler拦截异常

1.@ControllerAdvice注解@ControllerAdvice是控制器增强注解。可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping中。  启动应用后,被 @ExceptionHandler、@InitBinder、@ModelAttribute 注解的方法,都会作用在 被 @Reque...

2019-01-25 11:37:50 2194

原创 拦截器(一):日志输出拦截器

拦截器我们在提供API的时候,经常需要对api进行统一的拦截,比如打印日志、安全性校验。如下是Spring boot进行拦截器设置的。  拦截器实现HandlerInterceptor 接口,这个接口在spring-webmvc5.0版本之前里面的方法是抽象方法;在5.0之后,该接口包含三个default 方法。代码如下://// Source code recreated from a...

2019-01-22 19:56:40 2638

翻译 阿里巴巴开发规范文档解读(三):集合处理、控制语句

此部分算是学习笔记吧,有一点自己的心得。(五) 集合处理1.【强制】关于hashCode和equals的处理,遵循如下规则:1) 只要重写equals,就必须重写hashCode。 i.重写equals是因为Object里面的equals方法难以满足对象的判断。 创建两个对象,分别给他们相同的属性赋相同的值。使用equals返回的也是true,为什么还是需要重写hashCode()呢?...

2019-01-10 17:16:18 715

翻译 阿里巴巴开发规范文档解读(二):常量定义、代码格式、OOP规约

与第一部分相比,这部分有较少的个人见解,算是开发文档的阉割版,整理了一些需要使用到的规范,放弃了一些常用、熟悉的规范。二、常量定义1.不允许任何魔法数值(未经预先定义的常量)出现在代码中反例 ; int priceTable[] = new int[16]; //ERROR:这个16究竟有何含义呢?正例 : static final int PRICE_TABLE_MAX = 16...

2019-01-07 16:47:16 717

原创 阿里巴巴开发规范文档解读(一):命名规范

此文档为阿里巴巴开发规范,网上即可找到。闲时看的话做不到学以致用,吸收效率低;在开发途中研究此文档将事半功倍,但是开发的时候时间紧,任务重,没有时间去看这种文档,真是悖论啊。本博主按照比较适用的方式解读,希望能够让你很容易的记住这些规范,归纳如下:一.命名风格1.包名:全部使用小写,点分隔符之间有且仅有一个单词2.类名:驼峰式命名,不能使用拼音i.测试类以测试类开头,以Test结尾; ...

2019-01-07 14:30:53 7766

原创 项目笔记(一):自定义注解

这系列博客算是一篇在闲时读别人的代码,遇到疑惑时 百度+整理 所得(当然对我来说是不太理解的,可能对你来说 so eassy)。

2019-01-02 14:48:17 146

原创 项目遇到的问题

1.让测试发布我的auth服务之后,new web 崩了,leader说是内存不足的问题。

2018-11-15 14:37:52 151

原创 Source not found

Q:source not found说明:算是一个问题笔记吧,记录自己遇到的问题,无此问题或者简单的就忽略,此博客不提及,若有疑问,可以评论,若会,也会提供帮助。1.java自带的一些utils看不到源码,例如Math类。很简单,自行百度。2.java查看jar包里面的类source not found,添加对应的包就行,也很简单,自行百度3.在开发的时候使用spring dubbo或者...

2018-10-10 15:21:17 452

原创 git项目的时候发现Java文件的图标也由原来实心"J"变成了空心的"J"了

问题:git拉取项目的时候没有拉取到对应的maven项目。只有一个文件包含两个文件夹,Java文件的图标也由原来实心"J"变成了空心的"J"了。如下:甚至找不到其他的maven文件,自己试了import导入,git项目到本地,反正各种导入都没有用。在网上找了很多方法也没有解决,后来公司一个大神指点找出问题。不啰嗦。解决方案:file - import - git - Project f...

2018-10-09 11:17:08 2164

原创 重构:多态类型的重构

一.重构前1.实用类public class Item { public static final String SULFURAS = "Sulfuras"; public static final String AGED_BRIE = "Aged Brie"; public static final String BACKSTAGE_PASSES = "Backsta...

2018-09-27 21:02:34 438

原创 final 关键字新解

1.final可以保护public字段众所周知,一个类中的字段最好都是private的,通过set、get方法来设置和取值。原因:为了不让其示例对象直接通过 对象.属性名 来使用和修改,而是通过set属性名,get属性名,更安全,这样属性就不会随意的被赋值上任何非法的值了。示例如下:package com.baozun.chen.model;public class Role { ...

2018-09-27 18:30:09 125

原创 MyBatis遇到的问题(持续更新)

1.使用xml映射好还是使用注解好?毫无疑问是使用xml。  原因:对于长串sql,使用注解会导致可读性差(抽象方法只有一行,而sql却一大堆),当然可读性差随之而来的肯定是可维护性差。...

2018-09-21 16:44:57 247

原创 6.TDD实现最接近0的数

一.题目Given a list of numbers find the closest to zero.If there is a tie, choose thepositive value.本人修改了题目:给定一个数列表,找到最接近0的数。 如果两个数相等,选择正值。如果有多个相等的最接近数,选第一个出现的即可。这题算是我做过的TDD中最简单的。二.最终代码展示1.实现packag...

2018-09-21 11:14:22 221

原创 5.TDD实现10回合保龄球比赛

1.题目 题目地址:http://cyber-dojo.org/setup_default_start_point/show/?from=individual Write a program to score a game of Ten-Pin Bowling. Input: string (described below) representing a bowling game ...

2018-09-13 20:03:00 624

原创 4.TDD实现幸运抽奖

1.题目 有 n 位幸运观众参加抽奖,生成对应的随机数(1 ~ n),按倍数删除数据(若是1,只删除1;若是2,则删除#2,#4,#6…;若是3,则删除#3,#6,#9…)。若剩余99位数字,再生成随机数(1~99),再按倍数删除数据… 直到只剩下最后一位,即为中奖观众2.TDD测试package cs.luck.draw;import java.util.Iterator;...

2018-09-12 10:12:39 152

原创 3.TDD实现成对扩符问题

1.题目: Write a program to determine if the the parentheses (),the brackets [], and the braces {}, in a string are balanced.For example: {{)(}} is not balanced because ) comes before ( ...

2018-09-12 09:48:23 317

原创 @Conditional、@Primary和@Qualifier

一、@Conditional   与@Bean结合使用。如果给定的条件计算结果为true(因此,这个bean需要有一个条件计算方法),就会创建magicBean;否则就会忽略magicBean。因此此配置方法也称之为条件化的配置bean。例子如下:/** 只有当MagicCondional的某个方法返回true时才会创建MagicBean; * 当MagicCondional返回fal...

2018-09-10 19:47:16 436

原创 谈谈你所知道的java代码格式规范,三分钟作答

谈谈你说知道的java代码格式规范,三分钟作答: 1.接口中的成员默认都是public,因此方法名前面不需要加public,变量不需要加static final 2.进入方法先打日志,返回值前也先打日志 3.见名之意,从方法名就应该可以看出这个方法的作用,而不需要写格外的注释 4.注释不是越多越好,不利于后期维护与重构 5.方法中多次使用的常量应该定义在常量类中,用public stat...

2018-09-07 14:56:43 272

原创 依赖整理

1.Assert cannot be resolved 添加依赖:&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!-- https://mvnrepository.com/artifact/org.springframework/spring-core --&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;dependency

2018-09-06 11:26:53 316

原创 为什么接口里边的属性是默认为final static 的

Q:为什么接口里边的属性是默认为final static 的?A: static:接口是无法被实例化的,所以接口里边的属性与对象无关,因此属性是静态的; final:   大家的疑惑点是:为什么接口的属性是final的。 有些答案:   类在创建对象的时候会给他开辟一个内存空间,并且初始化类变量和方法,对于类变量,会自动赋初值(例如int 0, Boolean false…)。而...

2018-09-05 20:13:36 4555 2

原创 给自己的一句话

事出反常必有妖仔细检查必能发现错误之处

2018-09-05 15:24:10 1126

原创 2.TDD实现字符串排列组合

  题目地址:http://cyber-dojo.org/setup_default_start_point/show/?from=individual , 第二题。题目如下: Write a program to generate all potential anagrams of an input string.For example, the potential anagrams of ...

2018-09-05 11:37:09 236

原创 1.TDD实现100door的问题

这是http://cyber-dojo.org/setup_default_start_point/show/?from=individual网站上的第一题。题目如下:Q:100 doors in a row are all initially closed. You make 100 passes by the doors. The first time through, you visit...

2018-09-03 18:34:43 298

原创 Spring第三回、sping三种装配Bean方案

sping的配置方案有三种:   隐式的bean发现机制和自动装配   在xml中显示配置   在java中进行显示配置   尽可能的使用自动装配,显示装配越少越好,如果必须要用显示装配,最好用javaConfig装配。(javaConfig比XML安全)   xml配置   优势:集中配置,代码配置分离更加方便管理   劣势:繁杂,编译期不容易发现错误 javaConfig配置 ...

2018-08-31 15:47:48 159

原创 Spring第二回、Spring应用切面及遇到的问题

一、AOP 1、非AOP   还是以上篇例子为例:   我们需要在BraveKnight调用embackQuest的前后输出一些信息,如下:在调用embackQuest()之前调用singBeforeQuest(),之后调用singAfterQuest()。 Knight的实现类BraveKnight:public class BraveKnight implements Knight...

2018-08-30 17:55:38 219

原创 Spring第一回、Spring创建依赖

  实践篇,不多说,上代码,本书摘自Spring实战。 1、接口Quest public interface Quest { public void emback();}  Quest的实现类SlayDragonQuest public class SlayDragonQuest implements Quest { private PrintStream prin...

2018-08-30 15:51:43 196

空空如也

空空如也

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

TA关注的人

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