1993544075750685_社区达人页

个人头像照片
1993544075750685
已加入开发者社区2006

勋章 更多

个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布31篇文章
0条评论
已回答0个问题
0条评论
已发布0个视频
github地址

技术能力

兴趣领域
  • Java
  • 前端开发
  • 容器
  • Linux
擅长领域
技术认证

暂时未有相关云产品技术能力~

暂无个人介绍

暂无精选文章
暂无更多信息

2022年07月

  • 07.29 11:57:39
    发表了文章 2022-07-29 11:57:39

    还在用繁琐的if..else,试试策略模式吧!

    应该有不少码友遇到过充斥着if else的代码,面对这样的一团乱麻,简单粗暴地继续增量修改常常只会让复杂度越来越高,可读性越来越差。那么是时候重构了,花几分钟看看这篇文章, 说不定对你有一丢丢帮助。
  • 07.29 11:57:02
    发表了文章 2022-07-29 11:57:02

    子类到底能不能继承父类的私有属性?

    继承就像是我们现实生活中的父子关系,儿子可以遗传父亲的一些特性,在面向对象语言中,就是一个类可以继承另一个类的一些特性,从而可以代码重用,其实继承体现的是is-a关系,父类同子类在本质上还是一类实体;子类通过继承父类的属性的行为,我们称之为继承。Java只支持单继承,不支持多继承。因为多继承容易带来安全隐患:当多个父类定义相同的功能,当功能内容不同的时候,子类对象不确定要运行哪一个,在Java中用另一种形式体现出来,就是接口的多实现。
  • 07.29 11:56:11
    发表了文章 2022-07-29 11:56:11

    为什么Spring不推荐使用@Autowired注解?

    在实际工作中,使用IDEA开发时,很多码友都喜欢使用@Autowired注解进行依赖注入,这个时候 IDEA 就会报黄色警告,代码一片warning,代码洁癖的我不允许这么一个不明不白的警告在这里。@Autowired作为Spring的亲儿子,为啥在IDEA中提示了这么一个警告?所以,带着我的洁癖,和我的好奇心,开始研究起了这个警告。
  • 07.29 11:48:14
    发表了文章 2022-07-29 11:48:14

    巧谈23种设计模式:建造者模式

    指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。
  • 07.29 11:47:36
    发表了文章 2022-07-29 11:47:36

    巧谈23种设计模式:单例模式

    单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。只需要一个类就能够实现单例模式,但是,你不能小看单例模式,虽然从设计上来说它比较简单,但是在实现当中你会遇到非常多的坑,所以,系好安全带,上车了。
  • 07.29 11:46:29
    发表了文章 2022-07-29 11:46:29

    为什么要实现Serializable,明明就是个空接口嘛?

    对于 Java 的序列化,以前我一直停留在最浅显的认知上,因为每次新建一个类自然而然就把序列化接口 Serializbale 给实现了。我不愿意做更深入的研究,因为会用就行了嘛。
  • 07.29 11:45:33
    发表了文章 2022-07-29 11:45:33

    聊聊 Integer 吧

    当我们开发的越久,越能体会到基础知识的重要性。抽空捋一下 JDK 源码,权当查漏补缺。读完之后,你会发现 JDK 源码真的会给你很多惊喜
  • 07.29 11:44:56
    发表了文章 2022-07-29 11:44:56

    自动装箱、拆箱了解多少?

    Java 为我们提供了 8 种基本数据类型,为什么还需要提供各自的包装类型呢?您可能会觉得这个问题问的很奇怪,但是我觉得还是值的思考的。
  • 07.29 11:44:16
    发表了文章 2022-07-29 11:44:16

    你了解泛型吗?

    面向对象编程中,多态算是一种泛化机制。你可以将方法的参数类型设置为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数,这样的方法将会更具有通用性。此外,如果将方法参数声明为接口,将会更加灵活。
  • 07.29 11:43:33
    发表了文章 2022-07-29 11:43:33

    说说 Java 反射吧

    反射是Java底层框架的灵魂技术,学习反射非常有必要,本文将由浅入深讲解反射,希望对大家有帮助。
  • 07.29 11:42:40
    发表了文章 2022-07-29 11:42:40

    SpringBoot @Value 读取配置,太好用了!

    在日常开发中,经常会遇到需要在配置文件中,存储 List 或是 Map 这种类型的数据。
  • 07.29 11:41:07
    发表了文章 2022-07-29 11:41:07

    TCP的三次握手与四次挥手

    TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务端保存的一份关于对方的信息,如ip地址、端口号等。TCP可以看成是一种字节流,它会处理IP层或以下的层的丢包、重复以及错误问题。在连接的建立过程中,双方需要交换一些连接的参数。这些参数可以放在TCP头部。一个TCP连接由一个4元组构成,分别是两个IP地址和两个端口号。一个TCP连接通常分为三个阶段:连接、数据传输、退出(关闭)。通过三次握手建立一个链接,通过四次挥手来关闭一个连接。当一个连接被建立或被终止时,交换的报文段只包含TCP头部,而没有数据。
  • 07.29 11:39:35
    发表了文章 2022-07-29 11:39:35

    对threadlocal了解多少?

    通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。如果想实现每一个线程都有自己的专属本地变量该如何解决呢? JDK 中提供的 ThreadLocal 类正是为了解决这样的问题。 ThreadLocal 类主要解决的就是让每个线程绑定自己的值,可以将 ThreadLocal 类形象的比喻成存放数据的盒子,盒子中可以存储每个线程的私有数据。
  • 07.29 11:38:12
    发表了文章 2022-07-29 11:38:12

    Java有哪些锁?

    Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。
  • 07.29 11:37:30
    发表了文章 2022-07-29 11:37:30

    Linux常用命令

    玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux进行C/C++和shell程序编写的,所以常用到的命令可以就会跟一个管理Linux系统的人有所不同。因为不想在使用是总是东查西找,所以在此总结一下,方便一下以后的查看。不多说,下面就说说我最常用的Linux命令。
  • 07.29 11:36:41
    发表了文章 2022-07-29 11:36:41

    Nginx 的使用

    1、Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。 2、Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。
  • 07.29 11:35:41
    发表了文章 2022-07-29 11:35:41

    Redis中AOF和RDB有什么区别?

    由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。 redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF持久化(原理是将Reids的操作日志以追加的方式写入文件)。 那么这两种持久化方式有什么区别呢,改如何选择呢?网上看了大多数都是介绍这两种方式怎么配置,怎么使用,就是没有介绍二者的区别,在什么应用场景下使用。
  • 07.29 11:34:42
    发表了文章 2022-07-29 11:34:42

    Redis的五种基础数据类型

    Redis 是一种基于内存的数据库,并且提供一定的持久化功能,它是一种键值(key-value)数据库,使用 key 作为索引找到当前缓存的数据,并且返回给程序调用者。
  • 07.29 11:32:37
    发表了文章 2022-07-29 11:32:37

    Java 中 volatile 用法

    在 Java 并发编程中,volatile 是经常用到的一个关键字,它可以用于保证不同的线程共享一个变量时每次都能获取最新的值。volatile 具有锁的部分功能并且性能比锁更好,所以也被称为轻量级锁。下面具体分析 volatile 的用法及原理,涉及到内存模型、可见性、重排序以及伪共享等方面。
  • 07.29 10:50:09
    发表了文章 2022-07-29 10:50:09

    Java中Stream流的用法

    stream流操作是Java 8提供一个重要新特性,它允许开发人员以声明性方式处理集合,其核心类库主要改进了对集合类的 API和新增Stream操作。Stream类中每一个方法都对应集合上的一种操作。
  • 07.29 10:44:23
    发表了文章 2022-07-29 10:44:23

    Docker简单使用

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
  • 07.29 10:42:12
    发表了文章 2022-07-29 10:42:12

    Java9新特性

    Java 9 发布于 2017 年 9 月 22 日,带来了很多新特性,其中最主要的变化是已经实现的模块化系统。接下来我们会详细介绍 Java 9 的新特性。
  • 07.29 10:38:36
    发表了文章 2022-07-29 10:38:36

    Java继承、封装、多态理解

    Java中的继承、封装和多态知识点是学习java必备的基础知识,看似简单,真正理解起来还是有一定难度的,今天小编再次通过实例代码给大家讲解java 封装继承多态知识,感兴趣的朋友一起学习下吧。
  • 07.29 10:36:49
    发表了文章 2022-07-29 10:36:49

    WebSocket的理解与使用

    WebSocket是一种基于HTTP的长链接技术。传统的HTTP协议是一种请求-响应模型,如果浏览器不发送请求,那么服务器无法主动给浏览器推送数据。如果需要定期给浏览器推送数据,例如股票行情,或者不定期给浏览器推送数据,例如在线聊天,基于HTTP协议实现这类需求,只能依靠浏览器的JavaScript定时轮询,效率很低且实时性不高。
  • 07.29 10:34:50
    发表了文章 2022-07-29 10:34:50

    RabbitMQ原理解析

    RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、 安全。AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。
  • 07.29 10:28:04
    发表了文章 2022-07-29 10:28:04

    Dubbo核心概念

    Dubbo是一个分布式服务框架,以及SOA治理方案。其功能主要包括:高性能NIO通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等。
  • 07.29 10:16:28
    发表了文章 2022-07-29 10:16:28

    Spring核心原理

    Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。
  • 07.29 10:12:10
    发表了文章 2022-07-29 10:12:10

    Synchronized原理

    我们最初学习Java的时候,遇到多线程我们会知道synchronized,对于当时的我们来说synchronized是保证了多线程之间的同步,也成为了我们解决多线程情况的常用手段。但是,随着我们学习的进行我们知道synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。

2022年06月

  • 06.30 14:37:03
    发表了文章 2022-06-30 14:37:03

    谈谈你对线程池的理解?

    今天和大家聊聊线程池。掌握线程池是后端程序员的基本要求。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。
  • 06.30 14:35:27
    发表了文章 2022-06-30 14:35:27

    MySQL的delete应该加 limit么 ?

    在业务场景要求高的数据库中,对于单条删除和更新操作,在 delete 和 update 后面加 limit 1 绝对是个好习惯。比如,在删除执行中,第一条就命中了删除行,如果 SQL 中有 limit 1;这时就 return 了,否则还会执行完全表扫描才 return。效率不言而喻。
  • 06.29 17:10:42
    发表了文章 2022-06-29 17:10:42

    MySQL中explain的用法

    在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。
  • 发表了文章 2022-07-29

    还在用繁琐的if..else,试试策略模式吧!

  • 发表了文章 2022-07-29

    子类到底能不能继承父类的私有属性?

  • 发表了文章 2022-07-29

    为什么Spring不推荐使用@Autowired注解?

  • 发表了文章 2022-07-29

    巧谈23种设计模式:建造者模式

  • 发表了文章 2022-07-29

    巧谈23种设计模式:单例模式

  • 发表了文章 2022-07-29

    为什么要实现Serializable,明明就是个空接口嘛?

  • 发表了文章 2022-07-29

    聊聊 Integer 吧

  • 发表了文章 2022-07-29

    自动装箱、拆箱了解多少?

  • 发表了文章 2022-07-29

    你了解泛型吗?

  • 发表了文章 2022-07-29

    说说 Java 反射吧

  • 发表了文章 2022-07-29

    SpringBoot @Value 读取配置,太好用了!

  • 发表了文章 2022-07-29

    TCP的三次握手与四次挥手

  • 发表了文章 2022-07-29

    对threadlocal了解多少?

  • 发表了文章 2022-07-29

    Java有哪些锁?

  • 发表了文章 2022-07-29

    Linux常用命令

  • 发表了文章 2022-07-29

    Nginx 的使用

  • 发表了文章 2022-07-29

    Redis中AOF和RDB有什么区别?

  • 发表了文章 2022-07-29

    Redis的五种基础数据类型

  • 发表了文章 2022-07-29

    Java 中 volatile 用法

  • 发表了文章 2022-07-29

    Java中Stream流的用法

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息