技术随笔
-
【吐血推荐 六】那些不错的Github项目
点击上方蓝字关注我! 如果你正缺少一些练手的项目,那你可以看看这篇文章。在这篇文章中,我会列举一些Github项目供大家参考。 spring-cloud-alibaba-my-sh…
-
【吐血推荐 七】程序员用到的软件
点击上方蓝字关注我! 在我的工作中会用到很多开发工具,特来给大家分享下。希望对大家有用。 IntelliJ IDEA Java 开发人员的编程利器。功能非常强大。有很多好用的插件,…
-
【吐血推荐 八】不错的自学网站
点击上方蓝字关注我! 如今互联网的时代,什么技术都可以在网上学习。但是很多人却苦于如何获取质量高的资源,今天我来推荐几个我常用于学习的网站。 哔哩哔哩 ❝ 网址:https://w…
-
如何用Docker部署一个SpringBoot项目
点击上方蓝字关注我! 什么是Docker Docker是指容器化技术,用于支持创建和使用 Linux容器。借助 Docker,我们可将容器当做轻巧、模块化的虚拟机使用。同时,还将获…
-
面试必问的动态代理,我们来看看它们的源码
点击上方蓝字关注我! 什么是代理模式 我们现在有这样一个场景。有一个简单的手机类,只能打电话 public class Phone { &n…
-
使用了零拷贝技术的Kafka,当然很快
点击上方蓝字关注我! 背景 有这样一个场景,有两台服务器A,B。你在A服务器上写了一个程序,这个程序功能是将服务器A的数据拷贝到服务器B上。这个功能会经历下面几步。 “ 1.数据从…
-
利用AOP自定义Redis缓存注解
点击上方蓝字关注我! 背景 在查询类开发中我们有使用缓存的场景,一般可以使用Redis作为缓存,来缓解数据库如MySQL的压力。使用缓存的步骤为: “ (1)从Redis缓存中获取…
-
超详细的Kafka教程-从部署到开发到原理都有讲解
点击上方蓝字关注我! 在说Kafka之前,假设你有一定的消息队列的知识。知道消息队列的模式(点对点模式,发布/订阅模式),也知道消息队列的优点,如果不知道没关系,去百度或者Goog…
-
实现多线程间通信的FutureTask,我们来手写一个
点击上方蓝字关注我! Callable实现线程通信 我们先来温习下如何让创建多线程: “ 1.继承Thread 2.实现Runnable 3.调用Callable 4.使用线程池T…
-
开发实战-我用Spring的事件监听机制实现了模块的解耦
点击上方蓝字关注我! 背景 这里我们有一个需求: “ 当用户支付成功时,需要修改订单状态;短信通知用户;通知仓库发货 ” 原始解决方法 你首先想到的肯定是这样 public&nbs…
-
线程的几种状态你真的了解么
点击上方蓝字关注我! 线程状态介绍 这里我们讲的是Java中的线程状态。 线程状态如下: “ 线程初始状态:NEW 线程运行状态:RUNNABLE 线程阻塞状态:BLOCKED 线…
-
使用SpringBoot发送邮件
点击上方蓝字关注我! 电子邮件服务器 电子邮件服务器类比于现实中的邮局。用户发邮件时,会将邮件发送到邮件服务器,邮件服务器将邮件再发送到接收方的电子邮箱中。 邮件服务器又可以分为两…
-
还不会看MySQL的EXPLAIN执行计划?这篇文章能帮到你
点击上方蓝字关注我! 我们在进行SQL优化的时候,主要是看where后面的字段有没有用到索引。如何看这个查询有没有用到索引,那就看Explain执行计划了。 关于索引相关的知识可以…
-
这款Java工具类库简直棒级了
点击上方蓝字关注我! 这几天在微信公众号看到有号主推荐一个Java工具类库,当时没有在意,觉得已经有Java的common包了,还有Guava类库,已经够用了。但是今天又来看了一遍…
-
Java中的强软弱虚,你了解么?
点击上方蓝字关注我! 为了充分利用计算机的内存,对象被设计成拥有生命周期。当对象的生命周期结束,会被垃圾回收器回收,从而释放内存资源。为了考虑回收的各种场景,在JDK1.2引用了强…
-
我的多线程爬虫项目实战
点击上方蓝字关注我! 爬虫相信很多小伙伴都做过,大部分都是用的Python。我之前也用Python爬取过12306的数据,有兴趣的可以看看我的这篇文章: “ 我在github上面的…