guodayea
码龄6年
  • 12,359
    被访问
  • 26
    原创
  • 427,923
    排名
  • 1
    粉丝
  • 0
    铁粉
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:重庆市
  • 加入CSDN时间: 2016-05-17
博客简介:

guoychuan的博客

博客描述:
成长路上的“美景”
查看详细资料
个人成就
  • 获得6次点赞
  • 内容获得2次评论
  • 获得14次收藏
创作历程
  • 6篇
    2021年
  • 10篇
    2020年
  • 6篇
    2019年
  • 4篇
    2018年
成就勋章
TA的专栏
  • docker
    1篇
  • 多线程
    5篇
  • 经验
    2篇
  • EnableAsync
    2篇
  • spring
    2篇
  • 定时器
    1篇
  • NoClassDefFoundError
    1篇
  • shell
    1篇
  • 脚本
    1篇
  • 支付
    1篇
  • 源码理解
    3篇
  • java基础
    9篇
  • java进阶
    3篇
  • mybatis学习
    1篇
  • springboot学习
    5篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

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 ·
84 阅读 ·
1 点赞 ·
0 评论

线程池(三)-- 面试题

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

sftp采坑日记

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

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

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

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 ·
34 阅读 ·
0 点赞 ·
0 评论

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

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

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 ·
270 阅读 ·
0 点赞 ·
1 评论

太阳方位角计算,经纬度

发布资源 2020.08.19 ·
doc

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

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

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

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

MethodInterceptor 的几种用法(二)

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

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 ·
3097 阅读 ·
0 点赞 ·
0 评论

记一次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 ·
73 阅读 ·
0 点赞 ·
0 评论

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 ·
113 阅读 ·
0 点赞 ·
0 评论

MethodInterceptor 的几种用法

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

springboot定时器(一)

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

记一次NoClassDefFoundError

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

jdk下载地址.txt

发布资源 2020.04.21 ·
txt

jekyll博客部署脚本

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

springboot异步线程(二)

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