自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

guoychuan的博客

成长路上的“美景”

  • 博客(26)
  • 资源 (5)
  • 收藏
  • 关注

原创 win docker 安装redis

前言本篇主要是在win系统上使用docker安装redis下载redis镜像很多网页都写的的这个命令:docker pull redis:latest这个是下载最新版本的redis也可以在这个地址查看具体的版本:https://hub.docker.com/_/redis?tab=tags&page=1&ordering=last_updated也可以使用docker search redis来查看可用版本我这里使用的6.0版本下载redis配置文件为什么要下载这个配置

2021-03-19 19:18:36 225

原创 线程池(三)-- 面试题

面试问题线程池主要参数线程池的主要参数为:核心线程数量,最大线程数量,线程空闲存活时间数,线程空闲存活时间单位,缓存队列,线程创建工厂(默认Executors.defaultThreadFactory()),拒绝策略(默认AbortPolicy拒绝策略);其中缓存队列有:ArrayBlockingQueue(有界队列),LinkedBlockingDeque(无界队列),SynchronousQueue(该队列不存数据)还有一个参数:allowCoreThreadTimeOut,该参数作用是设

2021-03-15 11:44:48 152

原创 sftp采坑日记

前言项目中使用到了sftp,平时都会用到这个,但是线上也从来没有出现过什么大的问题,但是最近上线了一个流量比较大的项目,也使用到了sftp,在上线的那一刻崩了。。。正文项目中使用的JSch,Jsch提供了sftp的各类操作的Java实现最开始排查只是从日志中发现是sftp这一块的错误,所以大家都把关注点放到了这一块;由于sftp的底层代码是封装好的,我们都是业务直接调用这个工具类,我就去看了这一块的业务代码,就发现了一个流程上的小问题:需要从sftp服务器下载四个文件,但是是用的for循环去下载文件

2021-03-12 08:46:38 390 1

原创 线程池(二)-- 源码分析

前言前面一篇文章讲述了线程池的处理任务的流程以及一些基本概念,接下来对线程池源码进行分析;正文execute方法: public void execute(Runnable command) { if (command == null)// 1.判断任务是否为空 throw new NullPointerException(); int c = ctl.get();// 2.获取线程池ctl属性,根据此属性对线程池的一些其他属性进行判断

2021-03-05 17:24:48 93

原创 Java中的retury

前言最近在看线程池的源码,看到了addWorker()方法,在该方法的最开头的retry:,在这之前从来没有遇见过这个东西;那就来一探究竟;正文该例子使用双重循环,打印数字,测试代码如下: @Test public void testTwo() { int count = 0; for (int i = 0; i < 2; i++) { for (int j = 0; j < 5; j++) {

2021-01-19 09:04:09 88

原创 线程池(一) -- 基础概念

文章目录前言正文什么是线程池线程池流程线程池ThreadPoolExecutorThreadPoolExecutor运行状态创建线程的几种方式线程池监控最后参考前言在平时的开发中,经常遇到这样的东西,例如数据库连接池,web请求也是使用的池化技术,只是我们直接接触的比较少而已;正文什么是线程池简单点理解就是装线程的一个池子,一种池化思想对一定数量的线程进行管理,如:线程创建,销毁,执行任务等;线程池流程提交任务至线程池判断线程池的核心线程数是否已满,未满则创建核心线程来处理该任务,否则进入

2021-01-18 14:38:09 79

原创 mybatis if test 采坑记

前言最近遇到的一个关于mybatis的xml条件判断的问题,平时写的都是以判断空属性是否为空,例如:<if test="type!=null and type !=''"> and status = 1 </if>所以在这一块并没有足够的重视。正文最近刚好要写一个与上边不一样的写法,但是还是以上面的为基础,是对属性的值进行判断:判断type属性的值<if test="type!=null and type !=''">

2020-12-08 22:30:05 609 1

原创 springboot异步线程(三)源码解析(二)

前言上一篇文章主要讲了EnableAsync注解是如何创建aop并生效的,这一篇讲springboot是如何处理被拦截的方法的;正文1.0 AsyncExecutionInterceptor类这里看AsyncExecutionInterceptor类中的invoke方法,源码如下: public Object invoke(final MethodInvocation invocation) throws Throwable { //1 获取拦截的方法 Class<

2020-07-13 23:02:55 217

原创 springboot异步线程(三)源码解析(一)

前言本篇文章主要是讲EnableAsync源码的解析,侧重点是EnableAsync如何开启aop并生效的,在看之前需要知道一些关于spring的东西:@Import注解spring的Aware接口spring AOP建议最好先看上一篇文章MethodInterceptor 的几种用法(二),如果知道那篇文章里面的那些东西,就当这句不存在。。。正文1.入口@EnableAsync注解@Target({ElementType.TYPE})@Retention(RetentionPoli

2020-07-04 14:54:45 181

原创 MethodInterceptor 的几种用法(二)

前言发现写着写着好像越来越偏离正轨了,果然还是知道得太少了;这篇算是MethodInterceptor的第二篇了吧,本来没想写这篇文章的,但是看了看源码,颠覆我之前已有的认知,感觉还是得把这篇文章写出来;正文上一篇MethodInterceptor的文章都是以配置注解的形式来将MethodInterceptor注册生效,这次这篇将使用spring原生的类或接口来将MethodInterceptor注册并生效。TestInterceptorAnnotation先自定义注解TestIntercepto

2020-07-02 22:35:22 1306

原创 Lombok builder 继承属性

前言最近在用lomBok的builder的时候遇到这样一个问题:就是单用一个@builder注解不会继承父类的属性;那如何解决呢???正文接下来看看几种解决的方式吧!方式一parent类:@Setter@Getterpublic class Parent { private String userName; private String password; private String url; public Parent(String userNam

2020-07-02 22:33:50 3503

原创 记一次idea快捷键

快捷键突然想写一下关于idea快捷键的文章,在进入现在所在的公司之前,大概所知道的就是以下的快捷键吧:Ctrl+R,替换文本Ctrl+F,查找文本Ctrl+S,存保Ctrl+C,复制Ctrl+V,粘贴Ctrl+X,删除行Ctrl+Y,删除当前行Ctrl+D,复制行Ctrl+Z,回退Ctrl+N,可以快速打开类Shift+F6,重构 - 重命名Shift+Shift,可以快速查找类Ctrl+Alt+L,格式化代码Alt+Insert,可以生成构造器/Getter/Setter等

2020-06-28 22:34:10 143

原创 ThreadLocal源码阅读

前言本篇要说的是ThreadLocal,这个玩意平时在项目中很少用到,但是却有极大的用处;平时在面试中也会经常问到这个问题。正文本篇使用jdk1.8版本。ThreadLocal介绍先来看看源码中的介绍吧,文档太多,就不全贴出来了/** * This class provides thread-local variables. These variables differ from * their normal counterparts in that each thread that

2020-06-13 13:34:32 170

原创 MethodInterceptor 的几种用法

前言最近在看springboot的@EnableAsync的源码,发现还是需要提前看一些东西,比如这次的MethodInterceptor接口的作用;如今springboot都到2.0以后了,我谷歌出来好多文章都是用的配置文件,本篇就用纯代码的形式来说明MethodInterceptor的用法;正文项目使用springboot的2.3.0.RELEASE版本构建,其中需要注意导入aop的starter; <dependency> <groupI

2020-06-08 21:17:45 9667 1

原创 springboot定时器(一)

前言本篇文章针对上篇文章springboot异步线程,有一位大佬在评论中提出第一点是错误的,当时看到了这个问题,最近刚好有空,针对第一点的问题去搜索了不少的文章;问题我在文章中第一点去验证:Scheduled为单线程执行,这是错误的;正确的是,scheduled单线程执行是因为使用默认线程池核心线程数为1,如果配置默认线程池ThreadPoolTaskScheduler的核心线程数,则一样是多线程的执行,这里直接贴出了大佬的原话。验证流程在项目启动时发现初始化taskScheduler和asyn

2020-06-05 08:49:10 330

原创 记一次NoClassDefFoundError

前言今天跑新项目,发现新项目中的某个接口报NoClassDefFoundError,该接口调用了某个类的静态方法,而该静态方法的主要作用是获取远程配置信息;错误信息是:java.lang.NoClassDefFoundError: Could not initialize class 某类;第一眼发现这个错误还以为是这个类没导入,但是在编译文件下找到了该文件是存在的;解决通过参考中的几篇的文章中,发现是静态方法中的某个问题,获取远程配置,但是远程并没有配置;最后在配置中心进行配置就可以了;可以将静

2020-06-04 23:25:00 162

原创 jekyll博客部署脚本

前言最近项目开发完成了,接下来就是迭代了,空闲时间比较充足了,开始来搞自己的博客了。这里先说一下自己博客的情况:我使用jekyll搭建的博客,至于怎么安装jekyll这里就不具体描述了,因为自己安装过四五次了,但是每次安装遇到的问题都不一样,每次安装都要搜很多教程才能安装完,需要安装的还是自己去谷歌或百度吧。正文部署流程先来说说部署博客的流程吧:手动杀死博客进程进入博客目录更新代...

2019-12-21 14:01:47 120

原创 springboot异步线程(二)

前言本篇文章针对上篇文章springboot异步线程,有一位大佬在评论中提出第一点是错误的,当时看到了这个问题,最近刚好有空,针对第一点的问题去搜索了不少的文章;问题我在文章中第一点去验证:Scheduled为单线程执行,这是错误的;正确的是,scheduled单线程执行是因为使用默认线程池核心线程数为1,如果配置默认线程池ThreadPoolTaskScheduler的核心线程数,则一样是...

2019-12-17 13:56:37 123

原创 springboot异步线程(一)

前言最近项目中出现了一个问题,发现自己的定时器任务在线上没有执行,但是在线下测试时却能执行,最后谷歌到了这篇文章SpringBoot踩坑日记-定时任务不定时了?;本篇文章主要以自己在项目中遇到的问题为背景,并不涉及源码;Scheduled 定时任务Scheduled注解的具体使用方法自行百度或谷歌,这里只是使用其中的一种方式;验证Scheduled为单线程执行测试代码@Comp...

2019-11-14 14:44:13 173

原创 线程入门

线程的几个属性线程的属性包括线程的编号(ID),名称(Name),线程类别(Daemon),和优先级(Priority);属性属性类型及用途只读属性重要注意事项编号(ID)类型:long。用于标识不同的线程,不同线程有不同编号是某个编号的线程运行结束后,该编号可能被后续创建的线程使用,不同线程拥有的编号虽然不同,但是这种编号的唯一性只在Java虚拟机的一次运行有...

2019-10-29 22:07:21 91

原创 支付开发总结

前言最近APP中对接了支付宝APP支付,微信APP支付,小程序支付,对此做一些总结遇到的问题支付宝支付宝APP支付相对来说是最简单的了,接口都是SDK里面的,自己只需要调接口,传参数就行,在加自己的业务逻辑就行了;需要注意的是回调验签的那个,是支付宝公匙,不是应用公匙;应用公匙私匙都是自己生成的;微信APP支付与小程序支付微信支付就有点坑了:需要自己签名,验证签名比较麻烦小程...

2019-09-21 22:25:45 189

原创 springboot处理date参数

前言最近在后台开发中遇到了时间参数的坑,就单独把这个问题提出来找时间整理了一下;正文测试方法bean代码:public class DateModelNoAnnotation { private Integer id; private Date receiveDate;} controller代码:@RestController@RequestMa...

2019-09-21 22:23:02 3574

原创 注解入门

前言基本语法Javase5自带的标准注解四个元注解注解中的元素自定义注解注解源代码测试代码运行结果:总结前言 注解(也被称为元数据)为我们在代码中添加信息提供了一中形式化的方法,是我们可以在稍后的某个时刻非常方便地使用这些数据;基本语法Javase5自带的标准注解定义在了Java.lang中@Override,表示当前...

2018-08-06 16:22:13 82

原创 java中的反射

实战所用到的实体类classFieldmethodConstructorModifier枚举值列表总结参考# java反射## 个人理解 在运行状态中,对于任何一个类,都能获取到这个类的所有信息,例如该类中的方法,属性,及实现的接口等等;并且还能调用该类的任一方法或属性;这种在运行时动态的获取类信息或调用类中的属性或方法称之为反射实战...

2018-08-06 16:21:03 105

原创 ArrayList源码解析

前言正文成员变量构造方法常用的方法add()方法remove()方法get()方法set()方法size()方法数组容量自动增长迭代器总结前言本篇主要讨论ArrayList集合,本人使用的jdk1.8正文成员变量默认初始化容量(未指定容量,并且要在调用add方法时才会用)当ArrayList初始化时显示指定容量为...

2018-08-06 16:19:57 79

原创 对String源码的理解

String源码理解(jdk1.8)参考的连接:http://blog.csdn.net/zhcswlp0625/article/details/57508127string是被final修饰的类 public final class String实现了Serializable, Comparable&lt;String&gt;, CharSequence 这三个接口,Compara...

2018-03-21 17:03:25 165

太阳方位角计算,经纬度

根据所在地的年、月、日、小时,分钟以及当地的经纬度数据计算当地的太阳方位参数,其中包括太阳高度角与太阳方位角。

2020-08-19

jdk下载地址.txt

jdk-7u67-windows-x64

2020-04-21

wifi直连,WiFi p2p 转发 源码+apk

WifiDirect (WIFIP2P) 最全最详细,Android(Java)源码,加编译好多apk,适用于Android6.0~~Android P

2019-04-18

JAVA基础,微服务核心知识点整理

关于Java的核心知识点整理,包括了Java基础,框架,微服务,大数据,数据库等知识点;pdf,带详细目录

2019-03-06

jvm调优视频

深入jvm内核--原理,诊断与优化的优秀视频,需要深入jvm的同学可以下载来看一看

2018-01-09

空空如也

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

TA关注的人

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