自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 gradle项目启动报错 Gradle could not start your build. It is currently in use by another Gradle instance.

gradle项目启动报错怎么解决

2024-06-19 17:36:49 425

原创 goland 项目报红,但可以正常启动问题解决

解决 goland 工具,项目报红但是可以正常启动问题

2024-01-18 15:16:52 1279

原创 ETH 单笔Transaction详解

ETH 一笔交易(Transaction)的参数详解,便于你学会查看一笔交易的信息

2023-07-17 16:07:57 32

原创 git回退到某个提交

适用于想删除提交记录的,或者多个提交记录想整合成一个提交记录的

2023-07-06 16:54:53 5861

原创 springboot优雅处理异常

优雅解决springboot项目中写满的通篇异常,清楚大部分冗余代码

2023-07-06 16:19:39 840

转载 项目启动报错Command line is too long解决办法

启动项目报错:Error running ‘xxxxxxxx’: Command line is too long. Shorten command line for ‘xxxxxxxx’ or also for Application default configuration.修改文件夹.idea/workspace.xml (对该工程下所有服务生效)再起启动,应该就好了!

2023-07-06 13:56:38 670

原创 springboot启动失败,但不报错/ 错误没有定位到具体代码 解决办法

springboot启动失败但不报错

2022-09-28 11:57:40 1555 1

原创 idea一些操作总结

目录GitGit修改文件文件没有变颜色GitGit修改文件文件没有变颜色设置里搜索Version Control按照下图指示勾选上Git,最后OK就解决了

2022-04-24 11:36:24 337

原创 redis五种数据类型以及对应的场景

redis数据库存放数据的形式:key-value;redis的五种数据类型:String、Hash、List、Set、Zset(Sorted set);(这里说的数据类型都是指value,key都是string类型的)redis数据类型对应的java的数据类型redis数据类型java数据类型stringStringHHashHashMapListLinkedListSetHashSetZset(Sorted set)TreeMap一、S

2022-01-25 17:40:46 2915

原创 spring boot使用@RequestBody无法接收含有List参数的对象,报错的解决办法

前言:前两天在维护项目时,新增加一个功能,导致要在一个入参实体中加一个List 对象,但是一起项目,然后就报错了,因为在controller类的该方法上,入参前面有@RequestBody拿出百度,找到一个解决办法,言简意赅直接在该 含List参数的对象上,添加一个无参构造器,解决!但并不知道原理是什么,路过的大神求解答~~参考文章地址:https://blog.csdn.net/zongmaomx/article/details/109667651...

2021-09-24 14:03:56 5779 1

原创 StringJoiner类

java 1.8新类类中方法(public的):两个构造方法:StringJoiner(CharSequence)构造方法1: 只有拼接符StringJoiner(CharSequence,CharSequence,CharSequence )构造方法2: 拼接符和前后缀add(CharSequence) :StringJoiner进行拼接的方法merge(StringJoiner :StringJoiner两个StringJoiner可以进行合并setEmptyValue(Ch

2021-09-09 18:00:51 133

原创 记一次order by 和 limit 连用导致分页查询不生效 的坑

前情交代:修改之前同事接口后,测试同学跟我说分页不好使,不生效,what??我没有动之前分页逻辑啊,我只是加了个显示的字段,不过好吧,本着友爱原则,我来解决这个bug情景再现:(下面代码我会以图片形式展现)随便输入条件,如果不分页,查询结果是20条,但是当每页10条来进行分页时候,会发现第一页和第二页数据是一样的,只是顺序不同,百思不得其解,后来去查了mysql官方文档后,才发现,mysql在5.7版本的时候对limit查询做了优化,我的项目中用的是八点几的版本,自然也就带着这个优化了(mysql

2021-03-12 16:29:27 1315

原创 java8 stream流 常用操作

java8 stream流的出现使得关于集合的代码变得更加简洁,易读性增强。以下是几个常用的操作总结:用例集合: List<Integer> numbers = Arrays.asList(1, 2, 3, 3, 5, 8, 10, 10, 1, 12);1、anyMatch、allMatch、noneMatch在这里插入代码片...

2020-12-28 14:38:31 927 1

原创 字节和字符区别

前情提要:学习IO流的时候提到 字节流:InputStream OutputStream,字符流:Reader Writer,突然想到自己有点忘记字节和字符什么区别,复习一下,有了新的理解与认识,所以写下此篇文章。byte即字节的意思,是java中的基本数据类型,用来申明字节型的变量,一个字节包含8个位;char即字符的意思,一个字符对应n个字节,这个n的大小取决于编码关系表如下:java采用的是Unicode编码,所以一个汉字对应两个字节...

2020-11-06 20:55:14 2598

翻译 SpringBoot项目中,拦截器获取Post方法的请求body

前因交代:最近对接了第三方接口,我负责的部分是第三方来调用我们的接口,需要验签,本来按照常规的方法,我直接在service层写一个验签方法,然后被第三方访问的接口都调用这个验签方法就ok了,但是这个领导要求,验签不要写在业务里,不要每个方法都来调用,直接在controller层前面拦住,在拦截器里拦住,这可难倒了我,于是求救朋友,他发给了我这篇文章,仔细阅读后尝试,真的可行,所以想分享给大家(其中也有不懂的地方我放到文末了,希望看到的大神指教~~)背景通常对安全性有要求的接口都会对请求参数做一些签名验证

2020-11-05 16:16:57 8522 4

原创 附件:本手册专有名词

附件:本手册专有名词1、 POJO(Plain Ordinary Java Object): 在本手册中,POJO 专指只有 setter / getter / toString 的简单类,包括 DO/DTO/BO/VO 等。2、 GAV(GroupId、ArtifactctId、Version): Maven 坐标,是用来唯一标识 jar 包。3、 OOP(Object Oriented Programming): 本手册泛指类、对象的编程处理方式。4、 ORM(Object Relation M

2020-07-30 11:26:43 139

原创 阿里巴巴java开发手册详解-工程结构 - (三) 服务器

(三) 服务器1、【推荐】高并发服务器建议调小 TCP 协议的 time_wait 超时时间。说明:操作系统默认 240 秒后,才会关闭处于time_wait 状态的连接,在高并发访问下,服务器端会因为处于 time_wait 的连接数太多,可能无法建立新的连接,所以需要在服务器上调小此等待值。正例:在linux 服务器上请通过变更/etc/sysctl.conf 文件去修改该缺省值(秒):net.ipv4.tcp_fin_timeout = 302、 【推荐】调大服务器所支持的最大文件句柄数(

2020-07-29 18:53:18 244

原创 阿里巴巴java开发手册详解-工程结构 - (二) 二方库依赖

(二) 二方库依赖1、【强制】定义 GAV 遵从以下规则:1) GroupID 格式:com.{公司/BU }.业务线.[子业务线],最多 4 级。说明: {公司/BU}例如:alibaba/taobao/tmall/aliexpress 等 BU 一级;子业务线可选。正例:com.taobao.jstorm 或 com.alibaba.dubbo.register2) ArtifactID 格式:产品线名-模块名。语义不重复不遗漏,先到中央仓库去查证一下。正例:dubbo-client /

2020-07-29 10:05:47 689 2

原创 阿里巴巴java开发手册详解-工程结构 - (一) 应用分层

(一) 应用分层1、【推荐】图中默认上层依赖于下层,箭头关系表示可直接依赖,如:开放接口层可以依赖于 Web 层,也可以直接依赖于 Service 层,依此类推:开放接口层:可直接封装 Service 方法暴露成 RPC 接口;通过 Web 封装成 http 接口;进行网关安全控制、流量控制等。终端显示层:各个端的模板渲染并执行显示的层。当前主要是 velocity 渲染,JS 渲染, JSP 渲染,移动端展示等。Web 层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等

2020-07-28 12:42:45 864

原创 阿里巴巴java开发手册详解-MySQL数据库 - (四) ORM 映射

(四) ORM 映射1、 【强制】在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。说明:1)增加查询分析器解析成本。2)增减字段容易与 resultMap 配置不一致。2、【强制】POJO 类的布尔属性不能加 is,而数据库字段必须加 is_,要求在 resultMap 中进行字段与属性之间的映射。说明:参见定义 POJO 类以及数据库字段定义规定,在中增加映射,是必须的。 在 MyBatis Generator 生成的代码中,需要进行对应的修改。3、【强制】不要用

2020-07-27 14:16:58 238

原创 阿里巴巴java开发手册详解-MySQL数据库 - (三) SQL 语句

(三) SQL 语句1、【强制】不要使用 count(列名)或 count(常量)来替代 count( * ),count( * )是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。说明:count(*)会统计值为 NULL 的行,而 count(列名)不会统计此列为 NULL 值的行。2、【强制】count(distinct col) 计算该列除 NULL 之外的不重复行数,注意 count(distinct col1, col2) 如果其中一列全为 NUL

2020-07-24 10:54:47 305

原创 阿里巴巴java开发手册详解-MySQL数据库 - (二) 索引规约

(二) 索引规约1、【强制】业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。说明:不要以为唯一索引影响了 insert 速度,这个速度损耗可以忽略,但提高查找速度是明显的;另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,根据墨菲定律,必然有脏数据产生。2、 【强制】超过三个表禁止 join。需要 join 的字段,数据类型必须绝对一致;多表关联查询时, 保证被关联的字段需要有索引。说明:即使双表 join 也要注意表索引、SQL 性能。3、【强制】在 varchar

2020-07-23 11:51:44 274

原创 阿里巴巴java开发手册详解-MySQL数据库 -(一)建表规约

(一)建表规约1、【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint ( 1 表示是,0 表示否)。说明:任何字段如果为非负数,必须是 unsigned。正例:表达逻辑删除的字段名 is_deleted,1 表示删除,0 表示未删除。2、【强制】表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。说明:MySQL 在 Windows

2020-07-22 16:55:10 565

原创 阿里巴巴java开发手册详解-安全规约

1、【强制】隶属于用户个人的页面或者功能必须进行权限控制校验。说明:防止没有做水平权限校验就可随意访问、修改、删除别人的数据,比如查看他人的私信内容、修改他人的订单。2.、【强制】用户敏感数据禁止直接展示,必须对展示数据进行脱敏。说明:查看个人手机号码会显示成:158****9119,隐藏中间 4 位,防止隐私泄露3、【强制】用户输入的 SQL 参数严格使用参数绑定或者 METADATA 字段值限定,防止 SQL 注入, 禁止字符串拼接 SQL 访问数据库4、【强制】用户请求传入的任何参数必须做有

2020-07-21 13:35:32 356

原创 阿里巴巴java开发手册详解-单元测试

1、【强制】好的单元测试必须遵守 AIR 原则。说明:单元测试在线上运行时,感觉像空气(AIR)一样并不存在,但在测试质量的保障上, 却是非常关键的。好的单元测试宏观上来说,具有自动化、独立性、可重复执行的特点。A:Automatic(自动化)I:Independent(独立性)R:Repeatable(可重复)2、【强制】单元测试应该是全自动执行的,并且非交互式的。测试框架通常是定期执行的,执行过程必须完全自动化才有意义。输出结果需要人工检查的测试不是一个好的单元测试。单元测试中不准使用 S

2020-07-20 18:53:22 478

原创 阿里巴巴java开发手册详解-异常日志 (二) -日志规约

(二) -日志规约1、【强制】应用中不可直接使用日志系统(Log4j、Logback)中的 API,而应依赖使用日志框架 SLF4J 中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger logger = LoggerFactory.getLogger(Abc.class); 2、【强制】日志文件推

2020-07-19 18:21:29 220

原创 阿里巴巴java开发手册详解-异常日志 (一) -异常处理

(一) -异常处理1、【强制】Java 类库中定义的一类 RuntimeException 可以通过预先检查进行规避,而不应该通过 catch 来处理,比如:IndexOutOfBoundsException,NullPointerException 等等。说明:无法通过预检查的异常除外,如在解析一个外部传来的字符串形式数字时,通过 catch NumberFormatException 来实现。正例: if (obj != null) {...}反例: try {

2020-07-17 16:57:54 405

原创 阿里巴巴java开发手册详解-编程规约 (九) -其它

(九) -其它1、【强制】在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度。说明:不要在方法体内定义:Pattern pattern = Pattern.compile(规则); 2、【强制】velocity 调用 POJO 类的属性时,建议直接使用属性名取值即可,模板引擎会自动按规范调用 POJO 的 getXxx(),如果是 boolean 基本数据类型变量(boolean 命名不需要加 is 前缀),会自动调用 isXxx()方法。说明:注意如果是 Boolean 包装类对

2020-07-16 17:00:56 610

原创 阿里巴巴java开发手册详解-编程规约 (八) -注释规约

(八) -注释规约

2020-07-15 12:14:39 451

原创 阿里巴巴java开发手册详解-编程规约 (七) -控制语句

(六)并发处理 由于并没有看懂,所以先不放上面,研究好了再来呈现给大家~(七) 控制语句1、【强制】在一个 switch 块内,每个 case 要么通过 break/return 等来终止,要么注释说明程序将继续执行到哪一个 case 为止;在一个 switch 块内,都必须包含一个 default 语句并且 放在最后,即使它什么代码也没有。2、【强制】在 if/else/for/while/do 语句中必须使用大括号。即使只有一行代码,避免采用单行的编码方式:if (condition) stat

2020-07-15 12:14:02 210

原创 阿里巴巴java开发手册详解-编程规约(五)-集合处理

(五)集合处理集合处理1、【强制】关于 hashCode 和 equals 的处理,遵循如下规则:1) 只要重写 equals,就必须重写 hashCode。2) 因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的 对象必须重写这两个方法。3) 如果自定义对象做为 Map 的键,那么必须重写 hashCode 和 equals。说明:String 重写了 hashCode 和 equals 方法,所以我们可以非常愉快地使用 String 对

2020-07-08 01:06:41 168

原创 阿里巴巴java开发手册详解-编程规约(四)-OOP 规约

(四)OOP 规约1、【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成 本,直接用类名来访问即可。2、【强制】所有的覆写方法,必须加@Override 注解。说明:getObject()与 get0bject()的问题。一个是字母的 O,一个是数字的 0,加@Override 可以准确判断是否覆盖成功。另外,如果在抽象类中对方法签名进行修改,其实现类会马上编译报错。3、【强制】相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object。说

2020-07-06 02:12:36 201

原创 阿里巴巴java开发手册详解-编程规约(三)-代码格式

(三)代码格式1、【强制】大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:1) 左大括号前不换行。2) 左大括号后换行。3) 右大括号前换行。4) 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。2、【强制】 左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格。详见 第 5 条下方正例提示。反例:if (空格 a == b 空格) 3、【强制】if/for/while/switch/do 等保留字与括号

2020-07-03 12:57:26 261

原创 阿里巴巴java开发手册详解-编程规约(二)-常量定义

(二)常量定义1、【强制】不允许任何魔法值(即未经定义的常量)直接出现在代码中。反例:String key = "Id#taobao_" + tradeId; cache.put(key, value); 2、【强制】long 或者 Long 初始赋值时,使用大写的 L,不能是小写的 l,小写容易跟数字 1 混淆,造成误解。说明:Long a = 2l; 写的是数字的 21,还是 Long 型的 2?3、【推荐】不要使用一个常量类维护所有常量,按常量功能进行归类,分开维护。说明

2020-07-03 12:42:03 179

原创 阿里巴巴java开发手册详解-编程规约(一)-命名风格

最近在学习阿里巴巴的java开发手册,我想,这个手册中每一条规定与建议都是存在其道理的 ,一个好的规范可以使得编程的可读性变好,使我们的工作更加简洁高效,一起来学习吧首先纵观整个开发手册,目录如下:一、编程规约(一) 命名风格(二) 常量定义(三) 代码格式(四) OOP 规约(五) 集合处理(六) 并发处理(七) 控制语句(八) 注释规约九) 其它二、异常日志(一) 异常处理(二) 日志规约三、单元测试四、安全规约五、MySQL 数据库(一) 建表规约(二) 索引规约

2020-07-01 14:26:39 387

原创 java基础知识(17)---面试宝典

72、hibernate中对象的三种状态?瞬时态:用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫临时对象;(未与Hibernate发生关系)持久态:已经持久化,加入到了Session缓存中。如通过hibernate语句保存的对象。处于此状态的对象叫持久对象;(正在与hibernate发生关系)游离态(托管态): 持久化对象脱离了Session的对象。如Session缓存被清空的对象。特点:已经持久化,但不在Session缓存中。处于此状态的对象叫游离对象;(与Hiber

2020-06-28 10:51:36 81

原创 java基础知识(16)---面试宝典

67、什么是MVC模式?MVC三层架构的含义和作用?常用的MVC框架有哪些?MVC是一种框架型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使应用的模型和视图相分离,从而得到更好的开发和维护效率。在MVC模式中,应用程序被划分成模式、视图和控制器三个部分。其中模型部分又包含了业务处理层和数据持久层(数据业务)。视图部分负责数据的输出形式,这也就是我们所谓的页面部分。而控制层部分负责协调模型和视图,根据用户请求的来选择调用哪个模型来处理业务,以及最终由哪个视图为用户做出响应。MVC模

2020-06-23 13:55:37 87

原创 java基础知识(15)---面试宝典

62、

2020-06-19 11:01:30 102

原创 java基础知识(14)---面试宝典

57、说明Select语句中where和having的区别1、 where表示对表中数据进行过滤,将符合条件的记录放入结果集,即where中不能使用聚合函数,where子句是在生产结果集的过程中执行。Having是当对聚合结果进行过滤时使用,即having中可以使用聚合函数(having一定是生产结果集之后并且分组之后才能执行)。2、 having必须和group by 一起使用。 Where 可以不与group by 一起使用3、 从过滤效率上where 要高于having(尽早过滤)58、说明c

2020-06-12 14:15:29 124

原创 通俗理解逻辑删除和物理删除

逻辑删除:删除是数据库一个字段,is_delete或者status=XXX 这种,调用删除接口只是改变这个字段的值物理删除:是真正的删除,即数据库没有这条数据了

2020-06-11 11:09:29 599

空空如也

空空如也

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

TA关注的人

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