不学无数的程序员
码龄4年
  • 20,336
    被访问
  • 54
    原创
  • 1,651,018
    排名
  • 18
    粉丝
  • 0
    铁粉
关注
提问 私信
  • 加入CSDN时间: 2018-09-04
博客简介:

weixin_43133353的博客

查看详细资料
个人成就
  • 获得34次点赞
  • 内容获得11次评论
  • 获得62次收藏
创作历程
  • 6篇
    2020年
  • 24篇
    2019年
  • 24篇
    2018年
成就勋章
TA的专栏
  • SpringBoot
    10篇
  • java
    40篇
  • Mybatis
    5篇
  • 遇到的坑
    1篇
  • 设计模式
    2篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

关于加解密、加签验签的那些事

面对MD5、SHA、DES、AES、RSA等等这些名词你是否有很多问号?这些名词都是什么?还有什么公钥加密、私钥解密、私钥加签、公钥验签。这些都什么鬼?或许在你日常工作没有听说过这些名词,但是一旦你要设计一个对外访问的接口,或者安全性要求高的系统,那么必然会接触到这些名词。所以加解密、加签验签对于一个合格的程序员来说是必须要掌握的一个概念。那么加解密相关的密码学真的离我们很遥远吗?其实生活中有很多常见的场景其实都用到了密码学的相关知识,我们不要把它想得太难,例如在《睡在我上铺的兄弟》这一段中作弊绕口令中,.
原创
发布博客 2020.05.12 ·
669 阅读 ·
0 点赞 ·
0 评论

只需要这三步,用Java也能图片识别

最近闲来无事研究了一下用Java如何模拟浏览器的行为,在实验登录的步骤时碰到了识别验证码的问题,于是在网上查找了关于Java如何进行图片识别验证码,由于根据网上查找的相关文章都不适合我的配置,所以特开此博客进行记录一下采坑的过程以及解决方法。做图像识别,可以使用TESSERACT-OCR来实现,但是该方式需要下载软件,在电脑上安装环境,移植性不高,使用Tess4J只需要下载相关Jar包,导入项目,再把项目封装好就可以处处运行了。首先说一下我使用的电脑和JDK版本电脑:MacBookJDK版本:1.
原创
发布博客 2020.05.10 ·
776 阅读 ·
0 点赞 ·
0 评论

Java中的屠龙之术——如何修改语法树

在Lombok经常用,但是你知道它的原理是什么吗?,和Lombok经常用,但是你知道它的原理是什么吗?(二)两篇文章中介绍了关于Lombok的底层原理,其实总结为一句话来说就是在编译期通过改变抽象语法树而实现的。上面两篇文章已经讲了抽象语法树的相关知识点,如果有不清楚的可以看一下。本篇涉及到的所有代码都在github上面有本篇涉及到的所有代码都在github上面有本篇涉及到的所有代码都在g...
原创
发布博客 2020.03.26 ·
1312 阅读 ·
2 点赞 ·
4 评论

如何快速对接Stripe国际支付系统

Stripe国际支付介绍Stripe是由20多岁的两兄弟Patrick Collison和John Collison创办的Stripe为公司提供网上支付的解决方案。Stripe向服务的公司收取每笔交易的2.9%加上30美分的手续费。很多中国卖家想要借用stripe来实现建站收款,Stripe现在被称为“移动时代PayPal”。目前服务的客户有大家熟知的facebook、Twitter、Sh...
原创
发布博客 2020.03.14 ·
2757 阅读 ·
2 点赞 ·
3 评论

Lombok经常用,但是你知道它的原理是什么吗?(二)

在上一篇Lombok经常用,但是你知道它的原理是什么吗?简单介绍了注解处理器,是用来处理编译期的注解的一个工具,我们只是自己生成了一些代码,但是和Lombok却不一样,因为Lombok是在原有类的基础上增加了一些类,你那么Lombok是如何做到修改原有类的内容呢?接下来我们就再进一步了解Lombok的原理。Javac原理既然我们是在编译期对类进行操作了,那么我们就需要了解在Java中Javac...
原创
发布博客 2020.03.05 ·
159 阅读 ·
0 点赞 ·
0 评论

Lombok经常用,但是你知道它的原理是什么吗?

相信大家在项目中都使用过Lombok,因为能够简化我们许多的代码,但是该有的功能一点也不少。那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是为了省...
原创
发布博客 2020.02.26 ·
431 阅读 ·
0 点赞 ·
0 评论

《沙盘模拟系列》JVM如何调优

纸上得来终觉浅 绝知此事要躬行我所在的公司基本上是没有机会进行JVM参数调优的,但是如果有些东西自己不亲身经历一下,看再多的理论知识也只能算是纸上谈兵,真正碰到问题的时候还是不知道该怎么分析。所以就自己制造一些问题然后看其现象,利用所学的知识事前推测,看现象是不是和自己推测的一样。这样不仅对自己所学的知识又是一次巩固,而且也能锻炼自己解决问题的能力(虽然问题是自己制造的)。其实在写这篇文章...
原创
发布博客 2019.12.29 ·
115 阅读 ·
0 点赞 ·
0 评论

几百万数据放入内存不会把系统撑爆吗?

在公司有一个需求是要核对一批数据,之前的做法是直接用SQL各种复杂操作给怼出来的,不仅时间慢,而且后期也不好维护,就算原作者来了过一个月估计也忘了SQL什么意思了,于是有一次我就想着问一下之前做这个需求的人为什么不将这些数据查出来后在内存里面做筛选呢?直接说了你不怕把内存给撑爆吗?此核算服务器是单独的服务器,配置是四核八G的,配置堆的大小是4G。本着怀疑的精神,就想要弄清楚几百万条数据真的放入内存...
原创
发布博客 2019.12.21 ·
2742 阅读 ·
5 点赞 ·
4 评论

后端框架开发需要注意的几点

后端框架开发需要注意的几点笔者文笔功力尚浅,如有不妥,请慷慨指出,必定感激不尽跌跌撞撞了在程序员的道路上也有一年的时间了,慢慢的觉得这一年的工作大部分时间都是在简单的CRUD中度过,而有时候我们在CRUD中有多少重复性的代码呢?有些代码我们每次写都需要重复性的写一次,不仅浪费时间,而且对于自己提升并没有多大的提高。无意中看到了程序员你为什么这么累文章后,才幡然醒悟,为什么我们工作这么久了不...
原创
发布博客 2019.09.03 ·
188 阅读 ·
1 点赞 ·
0 评论

压缩20M文件从30秒到1秒的优化过程

压缩20M文件从30秒到1秒的优化过程有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是随着前端所传图片的大小越来越大的时候,耗费的时间也在急剧增加,最后测了一下压缩20M的文件竟然需要30秒的时间。压缩文件的代码如下。public static vo...
原创
发布博客 2019.08.16 ·
72 阅读 ·
0 点赞 ·
0 评论

Java8——异步编程

Java8——异步编程异步编程所谓异步其实就是实现一个无需等待被调用函数的返回值而让操作继续运行的方法创建任务并执行任务无参创建 CompletableFuture<String> noArgsFuture = new CompletableFuture<>();传入相应任务,无返回值runAsync方法可以在后台执行异步计算,但是此时并没有返回值。持有...
原创
发布博客 2019.08.08 ·
436 阅读 ·
0 点赞 ·
0 评论

SpringBoot 2.0 多图片上传加回显

SpringBoot 2.0 多图片上传加回显这两天公司有需求让做一个商户注册的后台功能,其中需要商户上传多张图片并回显。由于之前没做过这方面的东西,此篇文章用以记录一些知识点,以便后续查看。上传Controller的代码非常简单,由于用了SpringMVC框架,所以直接用MultipartFile来接即可。由于是多图片上传所以用数组来接。此处应该注意参数名应该和<input>中...
原创
发布博客 2019.07.19 ·
186 阅读 ·
0 点赞 ·
0 评论

如何自己手写一个热加载

如何自己手写一个热加载热加载:在不停止程序运行的情况下,对类(对象)的动态替换Java ClassLoader 简述Java中的类从被加载到内存中到卸载出内存为止,一共经历了七个阶段:加载、验证、准备、解析、初始化、使用、卸载。接下来我们重点讲解加载和初始化这两步加载在加载的阶段,虚拟机需要完成以下三件事:通过一个类的全限定名来获取定义此类的二进制字节流将这个字节流所代表的...
原创
发布博客 2019.07.15 ·
103 阅读 ·
0 点赞 ·
0 评论

Mac上最简单明了的利用Docker搭建Redis集群

Mac上最简单明了的利用Docker搭建Redis集群本文只是记录一下我在Mac上利用Docker搭建Redis集群成功后的步骤,期间走了许多的坑。有许多教程对于Mac用户不友好,搭建成功以后无法进行集群间的通信。首先说明一下有多简单,如果你机器上已经有了Docker,那么就一个步骤就行。如果没有Docker那么在Docker下载下载一个就行。接下来我们就开始进行Redis集群的搭建。首先...
原创
发布博客 2019.07.12 ·
580 阅读 ·
0 点赞 ·
0 评论

批量测试Mybatis项目中Sql是否正确

去Oracle行动最近公司要发展海外项目,所以要将现有的系统全部平移过去,另外数据库也要从原来的Oracle变为Mysql。公司的数据库交互层面使用的是Mybatis,而Oracle与Mysql也有一些语法上的不同。所以在项目中的Sql要改动,但是多个项目中涉及到的Sql非常多,如果仅凭人工一条一条辨别的话,工作量有点大。所以就萌发出了直接将数据源变为Mysql,利用反射批量执行Mapper中的...
原创
发布博客 2019.07.12 ·
289 阅读 ·
0 点赞 ·
0 评论

自定义Docker容器镜像并将其上传到DockerHub中

自定义Docker容器镜像并将其上传到DockerHub中Docker从2013年发布至今,一直是广受瞩目,所以我们或多或少也应该了解一些Docker的技术原理,而学习一项技术有了兴趣才能更好的让你持续学习下去。如果让你体会到Docker的神奇之处那么兴趣或许会大一点,接下来我们就先从自定义一个自己的Docker容器镜像来开启学习Docker的第一步。自定义Docker容器镜像在开始我们的...
原创
发布博客 2019.07.12 ·
280 阅读 ·
0 点赞 ·
0 评论

死磕Tomcat系列(6)——Tomcat如何做到热加载和热部署的

死磕Tomcat系列(6)——Tomcat如何做到热加载和热部署的热部署就是在服务器运行时重新部署项目,热加载即在在运行时重新加载class,从而升级应用。通常情况下在开发环境中我们使用的是热加载,因为热加载的实现的方式在Web容器中启动一个后台线程,定期检测相关文件的变化,如果有变化就重新加载类,这个过程不会清空Session。而在生产环境我们一般应用的是热部署,热部署也是在Web应用后...
原创
发布博客 2019.07.11 ·
374 阅读 ·
2 点赞 ·
0 评论

关于Redis热点key的一些思考

关于Redis热点key的一些思考昨天在和一个已经跳槽的同事聊天时,询问他这段时间面试时碰到的一些问题。自己也想积累一下这方面的知识。其中他说了在面试某赞公司时面试官问他关于热点Key的的解决方案。于是针对这次谈话以及上网查的一些资料后的思考进行一下总结。方便后续自己查阅。什么是热点Key其实对于热点Key,网上一查一大堆,这里我就引用网上的一段话。从基于用户消费的数据远远大于生产的数据的...
原创
发布博客 2019.07.10 ·
99 阅读 ·
0 点赞 ·
0 评论

死磕Tomcat系列(5)——容器

死磕Tomcat系列(5)——容器回顾在死磕Tomcat系列(1)——整体架构中我们简单介绍了容器的概念,并且说了在容器中所有子容器的父接口是Container。在死磕Tomcat系列(2)——EndPoint源码解析中,我们知道了连接器将请求过来的数据解析成Tomcat需要的ServletRequest对象给容器。那么容器又是如何将这个对象准确的分到到对应的请求上去的呢?容器的整体设计C...
原创
发布博客 2019.07.08 ·
56 阅读 ·
0 点赞 ·
0 评论

死磕Tomcat系列(4)——Tomcat中的类加载器

死磕Tomcat系列(4)——Tomcat中的类加载器在学习Tomcat中的类加载器,并且Tomcat为什么要实现自己的类加载器打破双亲委派模型原因之前,我们首先需要知道Java中定义的类加载器是什么,双亲委派模型是什么。Java中的类加载器类加载器负责在程序运行时将java文件动态加载到JVM中从Java虚拟机的角度来讲的话,存在两种不同的类加载器:启动类加载器(Bootstr...
原创
发布博客 2019.07.05 ·
145 阅读 ·
1 点赞 ·
0 评论
加载更多