自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 JAVA8新特性

接口的默认方法(Default Methods for Interfaces) Java 8使我们能够通过使用default关键字向接口添加非抽象方法实现。 此功能也称为虚拟扩展方法。 第一个例子: interface Formula{ double calculate(int ...

2020-04-02 11:21:04 32 0

原创 Json寻址工具类

在项目使用中,经常使用json的反序列化获取某个值,如果某个值的路径比较深,除了编写工作量变大和风险扩大外,还有就是代码不够整洁。抽空写了个根据地址寻址json内容中的某个值的工具类。 说明: 1.工具类使用google Gson,有兴趣的可以使用其他json序列号工具改造。大概流程都一样 ...

2020-04-15 17:05:52 24 0

转载 OutOfMemoryError (OOM)解决思路-资料版

我们都知道JVM的内存管理是自动化的,Java语言的程序指针也不需要开发人员手工释放,JVM的GC会自动的进行回收,但是,如果编程不当,JVM仍然会发生内存泄露,导致Java程序产生了 OutOfMemoryError(OOM)错误。 产生OutOfMemoryError错误的原因包括: ...

2020-01-14 16:24:08 96 0

转载 java内存模型JMM理解整理

  什么是JMM   JMM即为JAVA 内存模型(java memory model)。因为在不同的硬件生产商和不同的操作系统下,内存的访问逻辑有一定的差异,结果就是当你的代码在某个系统环境下运行良好,并且线程安全,但是换了个系统就出现各种问题。Java内存模型,就是为了屏蔽系统和硬件的差异,...

2020-01-07 14:44:03 21 0

原创 【备忘录系列】springboot2 https 单向和双向证书 配置到内嵌tomcat

一、环境 springboot :2.1.3.RELEASE tomcat:springboot内嵌tomcat 二、基础概念: 1.证书类型介绍: .DER .CER,文件是二进制格式,只保存证书,不保存私钥。 .PEM,一般是文本格式,可保存证书,可保存私钥。 .CRT,可以是二...

2019-09-26 18:08:43 256 0

原创 zookeeper 学习笔记

虚拟机环境: linux centos6.5 jdk1.8 1.环境安装[集群版] 下载zookeeper-3.4.14.tar.gz 并解压到linux某一路径下即可 copy conf/zoo_sample.cfg配置为conf/zoo.cfg zoo.cfg属性介绍: tic...

2019-09-18 19:53:44 24 0

原创 CentOS-6.5-x86_64-minimal mini linux 无界面版 修改分辨率

进入到/boot/grub/目录下,然后就可以看到里面有个名为menu.lst的文件,用vim将其打开,可以看到以下内容: 如果没有vga 添加即可 其中这个vga=788就是控制你的分辨率与色彩模式的,你可以把它改成你的显示器支持的你喜欢的任意模式。数字对应的含义如下: 色深 6...

2019-09-18 16:21:44 139 0

原创 【VMWARE】克隆linux centos6.5 网络修复笔记

一、克隆linux后,由于每个虚拟机的网卡都有唯一的id,需要以下步骤进行修改: rm -rf /etc/udev/rules.d/70-persistent-net.rules删除文件,然后reboot重启,系统会自动生成一个新的。 rm -rf /etc/sysconfig/netwo...

2019-09-16 14:37:22 22 0

转载 如何正确的关闭线程池?

首先看源码中的一句注释: A pool that is no longer referenced in a program and has no remaining threads will be shutdown automatically. 如果程序中不再持有线程池的引用,并且线程池中没...

2019-07-30 15:31:46 639 0

转载 Redis Cluster集群

一、redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有 节点连接。其redis-cluste...

2019-06-10 14:20:39 81 0

原创 Java SPI,ServiceLoader.load方法详解

SPI的全名为Service Provider Interface,当服务的提供者,提供了服务接口的一种实现之后,在jar包的META-INF/services/目录里同时创建一个以服务接口命名的文件。该文件里就是实现该服务接口的具体实现类。而当外部程序装配这个模块的时候,就能通过该jar包MET...

2019-06-06 11:13:41 1739 0

转载 在 Java 的反射中,Class.forName 和 ClassLoader 的区别

在java中Class.forName()和ClassLoader都可以对类进行加载。ClassLoader就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全限定名来获取描述此类的二进制字节流”,获取到二进制流后放到JVM中。Class.forName()方法实际上也...

2019-06-05 20:47:21 63 0

转载 深度分析Java的ClassLoader机制

为了更好的理解类的加载机制,我们来深入研究一下ClassLoader和他的loadClass()方法。 源码分析 public abstract class ClassLoader ClassLoader类是一个抽象类,sun公司是这么解释这个类的: /** * A class lo...

2019-06-05 20:42:31 269 0

转载 springmvc DispatcherServlet 源码分析

初始化流程 HttpServletBean 在init方法中, 首先将Servlet配置的参数使用BeanWrapper设置到DispatcherServlet中, 然后调用initServletBean 子类通过这个方法进行初始化 FrameworkServlet 入口方法是initServ...

2019-06-04 18:46:14 32 0

转载 图解LinkedHashMap原理

LinkedHashMap使用与实现 先来一张LinkedHashMap的结构图,不要虚,看完文章再来看这个图,就秒懂了,先混个面熟: LinkedHashMap结构.png 2.1 应用场景 HashMap是无序的,当我们希望有顺序地去存储key-value时,就需要使用Link...

2019-04-26 18:23:03 61 2

转载 只需两步获取任何小程序源码

  最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了一个滴滴他们家的青桔单车小程序的前端实现,过程一言难尽,差不多两周时间过去了,发现小程序的坑远比想象的要多的多!!在实际练手中,完全是黑盒的,看到人家上线的小程序的效果,纯靠推测,部分效果在绞尽脑汁后能做出大致的实现,但...

2019-03-21 14:09:12 123 0

原创 JAVA知识点梳理列表

零:java三大特性五大原则 资料:http://www.cnblogs.com/hnrainll/archive/2012/09/18/2690846.html 一、jdk 1.arraylist,linkList;hashmap线性安全?为什么?解决方案? 都不是线性安全,解决方案:用...

2019-02-26 18:24:57 95 0

原创 SEO学习探讨

H标签使用的SEO建议 1、每个网页只能拥有一个<h1>标签。 2、<h1>用来修饰网页的主标题,一般是网页的标题,文章标题,<h1>中部署主关键词。<h1>尽量靠近在html中的&...

2018-12-17 10:59:15 630 0

转载 Spring中bean的生命周期

Spring 中bean 的生命周期短暂吗? 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不...

2018-07-18 17:43:20 130 0

转载 cpu使用率低负载高

cpu低而负载高也就是说等待磁盘I/O完成的进程过多,就会导致队列长度过大,这样就体现到负载过大了,但实际是此时cpu被分配去执行别的任务或空闲,具体场景有如下几种。场景一:磁盘读写请求过多就会导致大量I/O等待上面说过,cpu的工作效率要高于磁盘,而进程在cpu上面运行需要访问磁盘文件,这个时候...

2018-06-17 17:42:11 1142 0

转载 JDK1.8前多线程并发下HashMap会发生死循环

在JDK1.8之前的版本中,HashMap的底层实现是数组+链表。当调用HashMap的put方法添加元素时,如果新元素的hash值或key在原Map中不存在,会检查容量size有没有超过设定的threshold,如果超过则需要进行扩容,扩容的容量是原数组的两倍,具体代码如下:void addEn...

2018-06-07 20:48:04 9930 5

转载 使用Fiddler抓到包后分析

在 fiddler4使用教程中已经介绍了Fiddler的原理和软件界面。本文主要针对Fiddler的抓包处理。Fiddler抓取HTTP请求。抓包是Fiddler的最基本的应用,以本博客为例,启动Fiddler之后,在浏览器中输入http://blog.csdn.net/chaoyu168键入回车...

2018-04-12 15:37:01 2211 0

转载 19个MySQL性能优化要点解析

以下就是跟大家分享的19个MySQL性能优化主要要点,一起学习学习。 1、为查询优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的...

2018-03-06 16:04:23 201 2

转载 git提交到HEAD detached导致代码丢失;找回方法和分析

背景 今天线上出现bug, 在切换到旧版本的时候,由于误操作导致本地代码丢失,找回巨费时,特记录如下; bug产生原因 首先在master分支上开发,线上出现bug且回到旧版本的tag,这时master分支上有一部分代码修改但未提交。 当前在master上:执行git status 有未提交的代码...

2018-01-09 21:01:39 4116 1

转载 Intellij IDEA 快捷键大全

Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 Ctrl+[ OR ],可以跑到大括号的开头与结尾 Ctrl+F12,可以显示当前文件的...

2017-11-21 14:02:47 167 0

转载 springboot-静态文件 js,css,html等

 静态页面 spring boot项目只有src目录,没有webapp目录,会将静态访问(html/图片等)映射到其自动配置的静态目录,如下 /static /public /resources /META-INF/resources 比如,在resources建立一个sta...

2017-11-14 15:15:20 6459 0

原创 一、java项目常用工具类之加密工具类

项目环境: jdk1.8+spring4.3.12 一、问题描述及试用场景: 在项目规范中,有时需要对一些数据进行加密解密,常见的就是前后端加密参数在网络上传输。一方面,数据在网络上是以加密的方式传输的,原数据不可见。另一方面,如果数据被更改,服务端通过加密参数与前端传过来的密文比较即可判断...

2017-11-12 16:56:19 1498 0

原创 二、java项目常用工具类之beancopy,bean和map转换工具类

项目环境: jdk1.8+spring4.3.12 一、问题描述及试用场景: 在项目规范中,要求类名以DO为尾的类作为数据库层实体bean,类名以MO为尾的类作为系统传输层实体bean,类名以VO为尾的类作为服务端与前端交互的实体bean。由于以上要求,需要在各个bean直接进行copy数据...

2017-11-12 16:38:51 13873 1

原创 三、java项目常用工具类之时间格式转换工具类

一、问题描述及试用场景: 在项目开发中,经常需要时间格式转换,计算某日期前后n天等。 二、样例代码: package org.egg.utils; import org.apache.commons.lang3.StringUtils; import java.text.Pars...

2017-11-12 16:27:30 2340 0

原创 四、java项目常用工具类之http请求工具类

项目环境: jdk1.8+spring4.3.12 一、问题描述及试用场景: 在项目开发中,经常用调用http接口,下面是封装apache的httpclient工具类。 二、样例代码: package org.egg.utils; import org.apache.http...

2017-11-12 16:22:56 12467 4

原创 五、java项目常用工具类之properties提取数据工具类

一、问题描述及试用场景: 在项目开发中,为了解耦,我们习惯把一些常变数据放在配置文件里。除了在spring项目中通过注解来获取配置文件properties的内容,还可以直接通过spring的工具类来获取。 二、样例代码: package org.egg.utils; import ...

2017-11-12 16:18:42 2176 0

原创 六、java项目常用工具类之校验参数工具类

一、问题描述及试用场景: 在项目开发中,常常需要校验入参参数的合法性,是否为空,String类型字段内容是否大于限定长度等等。 二、解决方案思路: 这里建议使用hibernate的工具包,稍加封装即可实现 三、样例源码: package org.egg.utils; ...

2017-11-12 16:11:58 5798 0

原创 七、java项目常用工具类之json序列号工具类

一、问题描述及试用场景: 在项目开发中,打印日志时需要把实体类json序列化或者网络传输时也需要json序列化。 二、样例代码: package org.egg.utils; import com.alibaba.fastjson.JSONArray; import com.aliba...

2017-11-12 15:55:55 317 0

原创 八、java项目常用工具类之卡号,手机号隐藏工具类

一、问题描述及试用场景: 在项目开发中,对于一些敏感数据需要特殊处理;比如在落地数据库或打印日志时需要把卡号前6后4,手机号前3后4等; 二、样例源码: package org.egg.utils; import org.apache.commons.lang3.StringUti...

2017-11-12 15:50:47 1802 0

转载 如何把自己的Jar包上传到 maven 官方仓库中,Maven上传图文讲解

之前有同学在本站发布过“Maven的Mirror和Repository 的详细讲解”,这种我们自己搭建仓库和私服,一般这种是服务于公司或者团体。但是针对小“ 团伙 ”或者单兵作战,或者我们希望开源,开发给其他人去用,那么我们可以直接提交到官方(maven.org),然后dependency去引入即...

2017-11-12 14:53:40 9022 4

原创 springboot搭建项目之日志AOP,支持日志内容可配置控制(黑名单字段不会打印或其他处理方式)

一、问题描述及试用场景 在项目调试或生产环境追查问题时,日志文件是我们最常用的方式。为了满足日志规范和方便日志追查,一般会写个日志拦截AOP切面注入相关方法,打印入参,出参。但有个头疼问题,某些参数里包含一些敏感字段,给予数据安全一般不允许打印,比如:用户密码,银行卡卡号,手机号等等。下面就是这个...

2017-11-12 14:22:33 1961 0

转载 tomcat访问(access)日志配置、记录Post请求参数

一、配置与说明 tomcat访问日志格式配置,在config/server.xml里Host标签下加上                prefix="localhost_access_log." suffix=".txt"         ...

2017-11-07 15:03:46 330 0

转载 使用Redis需要注意的数据安全问题

一、Redis宕机后的数据丢失问题   Redis会定期将内存中的数据同步到磁盘,这是我们大家都知道。而且是写数据越频繁同步的也就越频繁,这是在Redis配置文件中可配置的。   一般来说,宕机后可能丢失小量数据是在所难免的。可如果宕机后重启发现丢失大量数据这就不正常了,查了些资料,受益非浅。...

2017-10-20 19:46:47 1903 0

原创 properties文件,xml占位符总结

1.xml占位符 context:property-placeholder location="classpath*:common.properties" /> 或者 id="configProperties" class="...

2017-09-15 16:54:29 1002 0

转载 Windows上搭建Kafka+zookeeper运行环境

1.前提条件  1.1 环境需要配置jdk;  1.2 kafka版本0.8.1.1 2. 安装Zookeeper Kafka的运行依赖于Zookeeper,所以在运行Kafka之前我们需要安装并运行Zookeeper 2.1 下载安装文件: http://zooke...

2017-07-20 20:15:26 1272 0

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