自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Adonis_D_Gogh的博 客

No lines changed: content is already properly formatted

  • 博客(156)
  • 资源 (4)
  • 收藏
  • 关注

原创 如何算得海明校验码

例子:8位数0110 1001如何算得海明校验码1、先按公式(2^k)-1>=m+k,m是原数据的位数,k是校验码位数;2、校验码只存在于1、2、4、8……等2的指数倍位,这是已知常识;3、得到校验码k=8;4、m+k=12,从右到左一次编号1-12个格子,将1 2 4 8留给检验码,此处用k代替空格5、将原数据高位在左低位在右顺序放入,结果如:0110k100k1kk6、原数据的每一位所在格,都由检验码的数所在格相加而成,这样的思路得到:第12格为8+47、由上一步可得到,各个校验码格

2021-03-09 15:47:26 1187

原创 SonarQube使用笔记

SonarQube使用笔记简介SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测。环境&版本Centos6.10jdk8mysql5.7sonarqube-7.7sonar-scanner-2.8特别注意:sonarqube 能支持jdk8和mysql的最高版本是sonarqube-7.7

2020-06-18 18:34:11 377

转载 Java8 Stream reduce操作

https://blog.csdn.net/u011213044/article/details/103997757Reduce,顾名思义为减少的意思,就是根据指定的计算模型将Stream中的值计算得到一个最终结果。在之前的一篇文章Java8函数式编程中简单介绍,Stream的count、min 和max方法底层都是依赖reduce实现的,本篇文章将简单介绍一下Java8 Stream reduce的几种基本用法。首先来看一下Reduce三种形式:S.N. 方法说明1 Opti...

2020-06-18 10:51:22 358

原创 springboot自动装配原理学习笔记

springboot自动装配原理学习笔记IoC控制反转实际上就是把对象的生命周期托管到Spring容器中,反转指对象的获取方式反转了。使用Spring IoC容器之后,客户端类不需要再通过new创建对象,直接从容器中获取。IoC容器中的对象构建IoC容器中的对象在早期的spring中,是通过xml配置bean,spring解析xml来装载到容器;Springboot则是通过自动装配来实现(后文会讲)。DI依赖注入IoC容器在运行期间,动态的把某种依赖关系注入到组件..

2020-05-29 18:22:07 232

转载 Redis的两种持久化RDB和AOF

原文链接:https://blog.csdn.net/qq_36795474/article/details/82938721Redis持久化备份数据的方式有两种:RDB(Redis DataBase) 、 AOF(Append OnlyFile).RDB什么是RDB在指定时间间隔内,将内存中的数据集快照写入磁盘,也就是Snapshot快照,它恢复时是将快照文件直接读到内...

2020-04-22 18:18:44 183

转载 JAVA8十大新特性详解

原文:https://www.jianshu.com/p/0bf8fe0f153b一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:interface Formula { double calculate(int a); default double sqrt(int a) ...

2020-04-21 15:14:04 188

转载 Java8 Optional使用总结

java8 推出的Optional的目的就是为了杜绝空指针异常,帮助开发者开发出更优雅的代码,使用Optional不正确时,将会违背设计者的初衷。一、Optional的构造方式:1、Optional.of(T)该方式的入参不能为null,否则会有NPE,在确定入参不为空时使用该方式。2、Optional.ofNullable(T)该方式的入参可以为null,当入参不确定为非...

2020-04-03 17:09:09 246

转载 观察者模式以及tomcat实现的观察者模式

原文:https://my.oschina.net/u/2457218/blog/1536680观察者设计模式观察者模式也称作发布订阅模式,监听器模式,被观察管理各个观察者,当被观察者的状态有变更的时候,会主动通知观察者。 通常的情况下,我们会怎么实现如果一个对象的状态变更,通知到对相应状态感兴趣的类呢,这个可以分为主动通知和被动通知。 主动通知:...

2020-03-27 12:06:47 222

转载 java的io库用到的装饰模式是如何体现的?

概论java的io包下大概有85个类,真复杂。其实不然这些类又可以分为以下四个部分。输入流输出流字节流InputStreamOutputStream字符流 ReaderWriter 简单来说,这四部分的对应都是很整齐的,有Fil...

2020-03-25 11:56:36 274

原创 spring boot 2.0+thymeleaf idea调试时正常,打jar包运行报错. 找不到模板文件

thymeleaf + springboot 使用时,idea跑起来能正常访问;打成jar包就会找不到页面;我在网上搜了两天,基本都是配置文件和去掉路径前面的"/"偶尔看到因为大小写原因导致,当我最后盯着idea上的application.properties发懵的时候,突然发现spring.thymeleaf.suffix=.html这一行配置后面竟然有个...

2020-03-13 11:21:39 840

原创 nginx部署在云服务器,监听80端口404

ubuntu18.04的系统,安装好nginx,并在/etc/nginx/conf.d/nginx.conf 对虚拟主机进行配置问题描述:nginx部署在云服务器,监听80端口报错404;nginx安装配置好之后,发现监听非80端口,都能够正常访问,此时配置如下:upstream adg.com { server 127.0.0.1:8080;}server ...

2020-03-12 11:28:10 2038 1

转载 @Scheduled执行阻塞问题

原文:https://blog.csdn.net/lym0721/article/details/89499588一. 问题描述  最近项目中发现一个问题,计划每日凌晨4:40执行一个定时任务,使用注解方式: @Scheduled(cron = “0 40 4 * * ?”),cron表达式明显没有问题,但是这个定时任务总是不按时执行,有时候得等到8点多,有时候9点多才执行。后来查了下,原...

2020-01-06 14:58:15 1914

转载 Java日志框架SLF4J和log4j以及logback的联系和区别

1.SLF4J(Simple logging Facade for Java)意思为简单日志门面,它是把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,使用时只需要按照其提供的接口方法进行调用即可,由于它只是一个接口,并不是一个具体的可以直接单独使用的日志框架,所以最终日志的格式、记录级别、输出方式等都要通过接口绑定的具体的日志系统来实现,这些具体的日志系统就有log...

2020-01-06 14:52:22 239

转载 Found multiple occurrences of org.json.JSONObject on the class path

今天在测试代码的时候报了以下错误,特此记录:Found multiple occurrences of org.json.JSONObject on the class path: jar:file:/D:/OpenSources/MyRepository/org/json/json/20170516/json-20170516.jar!/org/json/JSONObject.c...

2019-12-12 19:24:20 1343

原创 MySQL联合索引的命中规则

一.建表创建测试表foo,创建联合索引,顺序abcCREATE TABLE foo (a VARCHAR ( 20 ) DEFAULT '' NULL,b VARCHAR ( 20 ) DEFAULT '' NULL,c VARCHAR ( 20 ) DEFAULT '' NULL,d VARCHAR ( 20 ) DEFAULT '' NULL );CREATE INDEX...

2019-11-21 15:19:25 2187

转载 查看Docker容器的信息

对于运行在Docker环境的容器,有时我们想查询它们的一些基本信息,例如环境变量、hostname、ip地址等,接下来我们以一个tomcat容器为例,看看有哪些方式来取得这些信息;原文地址:https://blog.csdn.net/boling_cavalry/article/details/80215214创建tomcat容器在docker环境下执行如下命令,即可创建一个名为tomc...

2019-11-14 14:09:13 296

转载 Java线程的6种状态及切换(透彻讲解)

Java中线程的状态分为6种。1.初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2.运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态...

2019-11-11 17:18:44 168

转载 Ubuntu修改系统默认编码

使用 locale 命令查看系统当前编码经过网上查资料,修改 /etc/default/locales 文件myubuntu@ubuntu:~$ sudo vi /etc/default/locale LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" LC_ALL="zh_CN.UTF-8"现在继续查看系统编码会发现,系统编码还是原来的编...

2019-11-01 15:02:07 579

转载 转:JVM 线上故障排查基本操作

前言对于后端程序员,特别是 Java 程序员来讲,排查线上问题是不可避免的。各种 CPU 飚高,内存溢出,频繁 GC 等等,这些都是令人头疼的问题。楼主同样也遇到过这些问题,那么,遇到这些问题该如何解决呢?首先,出现问题,肯定要先定位问题所在,然后分析问题原因,再然后解决问题,最后进行总结,防止下次再次出现。今天的文章,就如我们的题目一样,讲的是基本操作,也就是一些排查线上问题的基本方...

2019-10-25 10:03:51 195

转载 Java单播、广播、多播(组播)

一、通信方式分类  在当前的网络通信中有三种通信模式:单播、广播和多播(组播),其中多播出现时间最晚,同时具备单播和广播的优点。单播:单台主机与单台主机之间的通信 广播:当台主机与网络中的所有主机通信 多播:当台主机与选定的一组主机的通信二、单播  单播是网络通信中最常见的,网络节点之间的通信 就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语...

2019-10-24 20:01:55 232

原创 从字节码分析i = i++ 与 i = ++i 的区别

从两段代码分析i++ 与 ++i 的区别public static void test1() { int i = 0; for (int j = 0; j < 10; j++) i = i++; System.out.println(i);}输出结果 0public static void test2() { int i ...

2019-10-08 21:09:46 338

转载 java.lang.UnsupportedOperationException解决方法【转】

转自https://blog.csdn.net/Tracycater/article/details/77592472?locationNum=2&fps=1做开发一定要注重细节。在项目中对List进行操作时报错java.lang.UnsupportedOperationException,后来发现操作的List是由数组转换而成的,通过看源码发现问题,并写测试程序如下。代码块:...

2019-10-08 16:06:51 173

转载 分析FastJson OOM内存溢出 bug

起因,事情的背景1.2019年9月5日,360CERT监测到2019年9月3日fastjson在commit 995845170527221ca0293cf290e33a7d6cb52bf7上提交了旨在修复当字符串中包含\x转义字符时可能引发OOM的问题的修复。360CERT 判断该漏洞危害中。影响面较大。攻击者可以通过发送构造好的请求而致使当前线程瘫痪,当发送的恶意请求过多时有可能使...

2019-09-24 10:35:24 1804

转载 FTP连接服务器遇到530 login incorrect错误解决方法

vsftpd 530 login incorrect 的几类情况1.密码错误。2.检查/etc/vsftpd/vsftpd.conf配置 vim /etc/vsftpd/vsftpd.conf看下面配置anonymous_enable=YESuserlist_deny=NO //参看下面的说明userlist_enable=YESuserlist_fil...

2019-09-19 15:00:39 11847 1

转载 Nginx中的upstream轮询机制介绍

Nginx中upstream有以下几种方式:1、轮询(weight=1)默认选项,当weight不指定时,各服务器weight相同,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。upstream bakend { server 192.168.1.10; server 192.168.1.11;}2、weight指定轮询...

2019-09-16 16:39:22 448

转载 nginx反向代理配置两个不同服务器

1.什么是反向代理通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理服务器向Internet上的web服务器发起请求,最终达到客户机上网的目的(也就是正向代理)。而反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网...

2019-09-16 16:21:58 497

原创 com.fasterxml.jackson.databind.exc.InvalidDefinitionException

org.springframework.http.converter.HttpMessageConversionException:Typedefinitionerror:[simpletype,classcom.xxx.support.maintenance.SystemTime];nestedexceptioniscom.fasterxml.jackson.databin...

2019-08-27 17:33:04 1520

转载 IDEA rename注意事项

转载此文章用以提醒自己。原文链接:https://blog.csdn.net/qq_39890567/article/details/86519219IDEA rename注意事项假设我要修改user文件夹的名字为userInfo但是我一修改,可能会有很多的文件无缘无故的被修改了所以这个时候,你应该点击preview右键,remove你不想被影响或者被修改的文件然后再...

2019-08-26 14:15:12 638

原创 Java堆栈跟踪工具

利用Thymeleaf在浏览器查看线程堆栈1、目录结构:2、application.propertiesspring.thymeleaf.cache=false spring.thymeleaf.prefix=classpath:/view/3、pom<dependency> <groupId>org.springframework.b...

2019-08-20 17:01:02 738

转载 Java 垃圾回收

原文https://mp.weixin.qq.com/s/feJKRqYJTVEIxl6jvjevAg什么是垃圾回收垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。Java 语言出来之前,大家都在拼命的写 C 或者 C++ 的程序,而...

2019-08-20 10:18:42 173

原创 mysql启动报错 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

mysql启动报错 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) mysql.sock 文件的作用:因为mysql的连接有两种方式TCP/IP和socket, 其中mysql.sock起到的作用就是当mysql的主机和客户机在同一host(物理服务器)上的时候,使用unix domain s...

2019-08-14 16:01:09 821

原创 提示:sun.misc.BASE64Decoder是内部专用 API

在使用sun.misc.BASE64Decoder类时,编译时会提示:sun.misc.BASE64Decoder是内部专用 API, 可能会在未来发行版中删除解决办法:改用JDK8自带的java.util.Base64public class JDKBase64Util { /** * BASE64解密 */ public static byt...

2019-08-12 09:25:48 2916

转载 javax.crypto.BadPaddingException: Given final block not properly padded...

原文:https://www.zhyd.me/article/78JAVA的AES加密解密在windows上测试一切正常,部署到linux之后总是报异常:javax.crypto.BadPaddingException: Given final block not properly padded...查阅资料得知,该问题是由以下原因引起的:private static Secr...

2019-08-09 15:42:01 463

原创 @Controller和@RestController的区别

在开发过程中由于大意遇到一个坑,因为需要返回的是JSON数据,但是在controller上只加了@Controller注解,导致一直没产生返回值。后来排查发现此处应该使用@RestController,原因如下:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。1、如果使用@RestController注解Controller类,...

2019-08-08 11:34:44 123

原创 volatile内部实现机制理解

在学习内存模型与线程的时候看到这样一句话:“线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存中的变量。对于volatile这个特殊情况也不例外。”于是根据这句话来了解volatile的内部机制。被volatile修饰的共享变量在编译后,我们可以在汇编语言中看到一个lock指令,这其实就是内存屏障。当CPU识别到这个指令就会立刻将当前内核的高速缓存回写到主内存,并且...

2019-08-01 11:13:02 147

转载 线程在实际项目中简单的应用

前段时间开发的项目中有一个office在线预览的功能,我们知道需要实现这个功能一般是后台把用户上传的txt啊excel啊word啊先转换成pdf格式,然后使用pdf.js进行前台预览(有的还需要转换成swf文件),功能倒是实现了,只是客户反馈提交表单的时候速度比较慢,我试了一下,确实比较慢,大概好几十秒,这个有点无法忍受,所以后台转pdf的那个过程就将其使用线程,以异步方式去处理。...

2019-07-30 11:04:17 236

转载 深入Thread.sleep

原文:https://www.jianshu.com/p/9395c90e0055一直都说,Threed.sleep是不会释放锁,而wait是释放锁的(对象锁),现理论上来分析一下啊。由于CPU分配的每个线程的时间片极为短暂(一般为几十毫秒),所以,CPU通过不停地切换线程执行,这样就给程序员一种错觉,以为多个线程是在同时执行。sleep就是正在执行的线程主动让出CPU,CPU去执行其他线...

2019-07-29 20:16:45 282

转载 java.io.IOException: Broken pipe

java.io.IOException: Broken pipe最近项目虽然已经在正常运行,但是偶尔会有一些不知名的错误冒出来,比如时不时报一个数据库主键重复或者某些时候会有null的异常报出来。看看代码写完能跑起来还只是开始而已,需要不断精进重构,才能让代码运行流畅,今天就发现了另一个没有见过的问题:Broken pipe。认识broken pipepipe是管道的意思,管道里面是数...

2019-07-09 15:00:29 552

转载 枚举工具类,通过Code返回枚举

定义接口。用于反射范式编程public interface CodeEnum { Integer getCode();}定义业务枚举,并实现CodeEnum接口/** 婚姻状况 枚举*/public enum MaritalStatusEnum implements CodeEnum{ SPINSTERHOOD(1, "未婚"), MARR...

2019-07-02 16:58:05 1083

转载 SpringBoot启动嵌入式tomcat源码解读

原文链接:http://www.studyshare.cn/blog-front/blog/details/1136/1一、SpringBoot自动拉起Tomcat SpringBoot框架是当前比较流行的java后端开发框架,与maven结合大大简化了开发人员项目搭建的步骤,我们知道SpringBoot的启动类启动后,tomcat容器、SpringMVC、spring事务等...

2019-06-26 20:04:13 776

MYEcipSe2017-CI-10

MYEcipSe2017-CI-10MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。

2018-10-23

mybatis_generator的工具包

mybatis-generator工具包,在项目下将工具包直接复制到项目里,配置好generatorConfig.xml,打开控制台在正确路径下执行以上语句

2018-06-28

javax.servlet-api-3.1.0

java.lang.IllegalStateException: Failed to read Class-Path attribute from manifest of jar file:/XXX 出现这个问题的解决方案就是将原有的jar删除 然后重新下载过一遍就可以使用

2018-04-08

Intel x86 Emulator Accelerator(HAXM installer)

用于Intel x86 Emulator Accelerator(HAXM installer)手动安装,v6_1_0

2017-08-04

空空如也

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

TA关注的人

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