_BugMan_社区达人页

个人头像照片
_BugMan
已加入开发者社区1956

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

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

我关注的人 更多

技术能力

兴趣领域
擅长领域
技术认证

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

暂无个人介绍

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

2023年06月

  • 06.19 15:18:48
    发表了文章 2023-06-19 15:18:48

    JAVA EE十三大规范(1)RMI(全网最深入浅出)

    1.概述 RPC: RPC(Remote Procedure Call),一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议,RPC可以用HTTP协议实现,并且用HTTP是建立在 TCP 之上最广泛使用的 RPC,但是互联网公司往往用自己的私有协议,比如鹅厂的JCE协议,私有协议不具备通用性但是相比于HTTP协议,RPC采用二进制字节码传输,更加高效也更加安全。 用一个比较形象的例子来形容,你老婆出去打麻将,然后想起家里洗衣机里的衣服还没洗,于是打电话给在家里的你,叫你把洗衣机里的衣服洗了,这就是远程过程调用。微服务中服务的调用底层就是使用的RPC机制。
  • 06.19 15:15:37
    发表了文章 2023-06-19 15:15:37

    手撕JAVA(3)多线程(2)JMM

    1.概述 JMM,JAVA多线程内存模型,JAVA中有两个内存模型,一个是JVM——JAVA虚拟机内存模型,一个是JMM——JAVA多线程内存模型,两者不是一个概念,需要严格区分。JMM的逻辑架构如下:
  • 06.19 15:14:06
    发表了文章 2023-06-19 15:14:06

    手撕JAVA(2)多线程(1)概论

    1.概念 程序 存储在磁盘上的一段指令的集合,是静态的。 进程 运行中的程序,指计算机在某个数据集合上的一次运行活动,每个进程都有独立的资源空间,是操作系统进行资源分配与调度的基本单位。 (数据集合包含两方便,一是数据,二是硬件资源,如CPU,IO等) 线程 又称轻量级进程,是为了提高资源利用率以及CPU的并发度,而对进程进行的一种优化。线程是进程中的一个个的实体,是进程的一个个的执行单元。同一进程的线程共享该进程的资源,即电脑所分配的资源空间。
  • 06.19 15:10:23
    发表了文章 2023-06-19 15:10:23

    手撕JAVA(1)内部类

    1.定义 内部类,即将一个类定义在另一个类内部。 2.规定 2.1权限修饰符 外部类只能使用public、default修饰, 内部类可以使用private、public、protect、default,(即全部修饰符)修饰。
  • 06.19 15:08:15
    发表了文章 2023-06-19 15:08:15

    打通任督二脉:4000字,一文,从代码拆到计算机底层。

    一个业务场景 假设我们要编写一个购买商品的程序,程序的内容很简单: 商品的库存数量存放在数据库中,每次完成库存数量-1。我们很快可以写出伪代码
  • 06.19 15:02:43
    发表了文章 2023-06-19 15:02:43

    堆污染

    堆污染是由于泛型的使用造成的一种潜在危险。 总结起来,堆污染就是因为使用泛型参数化类内部成员变量,同一类的不同实例对象内部里面成员变量的类型可能不同, 编译阶段无法发现,运行期间才能被发现的类型转换错误问题。 以下面一图说明泛型可能带来的堆污染问题:
  • 06.19 15:01:15
    发表了文章 2023-06-19 15:01:15

    动态代理底层实现

    一般用过动态代理以后会有很多人产生这样的疑问: 1.handler是怎么监听到代理对象的方法调用的? 2.为什么产生代理对象的时候需要传入接口?直接传入一个实现类,让代理对象持有一个实现类的引用不就应该可以了? 以这两个问题为主线,来简单剖析一下动态代理的底层实现。 跟踪Proxy.newInstance()跟踪到最底层会看到,代理对象的创建过程如下:
  • 06.19 14:59:34
    发表了文章 2023-06-19 14:59:34

    代理

    概念 代理:代替处理,又称委托模式。 实现:为目标对象提供(包装)了一个代理,这个代理可以控制对目标对象的访问。外界不直接访问目标对象,而是访问代理对象,再由代理对象调用目标对象。
  • 06.19 14:57:28
    发表了文章 2023-06-19 14:57:28

    注解

    注解是JAVA5引入JAVA的一个特性,理解起来会有点抽象,这里笔者先给出自己对注解的一个理解——注解就是一张便签! 其次要有一个概念就是注解的应用是基于反射的。 本文举出的三个实例中例1和例3是引用其它的优秀文献 出处为how2J以及 https://blog.csdn.net/briblue/article/details/73824058一文
  • 06.19 14:53:40
    发表了文章 2023-06-19 14:53:40

    手撕JAVA(二十二)SpringBoot与Web三大组件

    servlet、filter、listener三大组件。 由于SpringBoot是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用。 没有web.xml,所以要使用注解来添加组件,分为两步:
  • 06.19 14:52:00
    发表了文章 2023-06-19 14:52:00

    JDBC2.0

    JDBC2.0在1.0版本java.sql.*上增加了一个扩展包javax.sql.*包,这个包里面包含两个接口: 1.DataSource,数据源。 2.ConnectionPoolDataSource,数据池。 DataSource的源码可以看到,这个接口的作用就是拿来获取connection连接的。 各个数据库厂商只负责实现connection, 至于获取connection,在JDBC1.0里面是由DriverManager来负责的。 JDBC2.0版本之所新增DataSource,原因很简单——数据库连接池。1.0版本时每用一次connection都需要重新new,而da
  • 06.19 14:50:32
    发表了文章 2023-06-19 14:50:32

    JDBC1.0

    JDBC是JAVA十三大规范之一,由JAVA定义顶级接口API,各个数据库厂商去实现。常用的四大接口——Driver,DriverManager,Connection,Statement。 这里先给出结论: 所谓的JAVA制定标准,就是指JAVA给出接口,厂家各自去实现。 比如Driver,Connection,Statement等都是有接口,有实现。 通过向DriverManager注册不同Driver来确定Connection,Statement的类型
  • 06.19 14:46:15
    发表了文章 2023-06-19 14:46:15

    JAVA中的红黑树

    在开始讨论JAVA中的红黑树之前,就前几篇关于二叉树的文章做个总结。 平衡二叉树:高度差绝对值不超过1,任意节点左右子树均为平衡二叉树。 AVL树:平衡二叉树只是一个概念,AVL树,红黑树都是这个概念的落地实现。AVL树其实就是《手撕JAVA十三》一文中说的通过RR,RL,LL,LR旋转而成的平衡二叉树。这些旋转都属于AVL树的算法。
  • 06.19 14:43:39
    发表了文章 2023-06-19 14:43:39

    红黑树(下)完整删除过程

    红黑树一般用在较为底层的地方作为保证效率的数据结构, 且红黑树的删除算法特别复杂!了解即可,手写出的难度较大。 对于删除算法,很多书上没有提及,或者写的很混乱。 全网亦没有一篇文章通俗易懂的讲清楚了其中过程, 此文也是参考了几篇大牛的博文,部分为笔者原创,部分为引用整合。 红黑树的删除其实就是基于二叉搜索树的删除上加入一个调色过程。 在弄清楚红黑树的删除操作之前,需要明白二叉搜索树的删除方法。 首先要明白几个概念:
  • 06.19 14:42:15
    发表了文章 2023-06-19 14:42:15

    红黑树(中)完整建树过程

    手撕JAVA(十四)一文中有些地方表述有误,笔者日后在做修改。这里用画图的方式展示两次红黑树的完整建图过程,一次简单,一次复杂,根据建图过程,就可以理解红黑树是如何实现的。 总结的几点为: 1.根节点必为黑色,任何调整动作都无法将根节点染红 2.新插入节点的父节点和uncle节点同为红色,直接染黑父节点和uncle节点,染红祖父节点(如果祖父节点为根节点,就免疫)
  • 06.19 14:40:53
    发表了文章 2023-06-19 14:40:53

    红黑树(上)调色篇

    红黑树是配合二叉树的一种实现,主要要满足以下性质: 1.根节点必须为黑色 2.父子不能同为红色 3.从任何节点出发,到达叶节点经过的黑色节点数量一致 对每个新插入的节点存在以下情况: 1.没有爸爸: 那么它自己变为黑色,做根节点。
  • 06.19 14:39:07
    发表了文章 2023-06-19 14:39:07

    二叉搜索树、平衡二叉树

    一、二叉搜索树 这里我们不用太多书面化的语言来定义,笔者认为在讨论数据结构、算法相关的内容时用太多书面化、学术化的语言是一种让人很烦的事情。咬文嚼字,不便于读者理解。 简单来说二叉树搜索树,其实就是用来做二分查找的一种二叉树。 特点是:根节点的左子树值均小于根节点的值,根节点的右子树值均大于根节点的值。 比如123 4 567建树的结果就是
  • 06.19 14:36:21
    发表了文章 2023-06-19 14:36:21

    JAVA中的有序hash

    一.hashMap与linkedHashMap 经过两篇文章的讨论,已经可以清楚的知道hashmap利用hash算法将数据均匀分布。这种分布是无序的,即放入顺序和读取顺序不一致。那么JAVA中有没有又是基于hash又是有序的数据结构喃?有!它就是——linkedHashMap。
  • 06.19 14:33:50
    发表了文章 2023-06-19 14:33:50

    JAVA中的hash

    一.hashcode()方法 首先hashcode()方法是万类始祖Object自带的一个方法,翻看源码可以知道是一个native方法,也就是说是调用的操作系统底层函数生成的一个值——hashcode。hashCode是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值。
  • 06.19 14:31:02
    发表了文章 2023-06-19 14:31:02

    hash

    一.什么是hash 百度百科上的定义是: 是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
  • 06.19 14:27:55
    发表了文章 2023-06-19 14:27:55

    SpringBoot修改配置

    Spring修改配置的方式有以下几种: 1.修改配置文件 首先清楚直接能在SpringBoot配置文件中修改的属性,必须是自动配置类绑定在配置文件类中的属性。如果自动配置类根本就没有绑定配置文件类,那么SpringBoot配置文件中无法直接修改。 2.自定义组件 绑定了配置类的依赖类可以直接去通过配置文件修改,但是有些依赖类并没有绑定配置文件类,这样就不能通过SpringBoot的配置文件去直接修改配置。
  • 06.19 14:26:01
    发表了文章 2023-06-19 14:26:01

    spring和依赖倒置思想的落地实现

    在《手撕JAVA(四)低依赖架构思想》一文中阐述了如何通过依赖倒置来解耦,并且得到了结论这种架构思想的落地实现就是Spring。很多有一定J2EE开发经验的读者读到此处会反驳,依赖倒置其实就是遵循了面向接口编程的思想,Spring的核心组件IOC并不是面向接口编程啊,它管理的还是一个一个的类。 在解答这个疑惑之前,顺带提个题外话——关于面向接口编程。
  • 06.19 14:21:48
    发表了文章 2023-06-19 14:21:48

    低依赖架构思想

    天上飞的理念,必有落地的实现! 软件系统中一个类中用到了另一个类就产生了依赖,依赖是不可避免的。但我们尽量要降低依赖,以达到高类聚、低耦合的系统架构。低依赖软件系统架构的思想为——依赖倒置,具体可解读为两点: 1.上层模块尽量不要依赖于具体的下层模块,而是应该尽量让它们共同依赖于一个抽象。 2.抽象尽量不要依赖于具体对象,而是应该具体对象依赖于抽象。
  • 06.19 14:20:07
    发表了文章 2023-06-19 14:20:07

    WEB概论

    1.什么是WEB? 2.什么是Servlet? 3.什么是容器? 4.三大组件,servlet、filter、listener
  • 发表了文章 2024-06-12

    【大数据】计算引擎:Spark核心概念

  • 发表了文章 2024-06-12

    【Vue实战项目】学完前端基础后,可能你还需要掌握这些才能接手开发项目

  • 发表了文章 2024-06-12

    【大数据】Hadoop 2.X和1.X升级优化对比

  • 发表了文章 2024-06-12

    【大数据】MapReduce JAVA API编程实践及适用场景介绍

  • 发表了文章 2024-06-12

    【大数据】计算引擎MapReduce

  • 发表了文章 2024-06-12

    【vue实战项目】通用管理系统:作业列表

  • 发表了文章 2024-06-12

    【SpringBoot】单元测试实战演示及心得分享

  • 发表了文章 2024-06-12

    【大数据】Hadoop下载安装及伪分布式集群搭建教程

  • 发表了文章 2024-06-12

    【大数据】大数据概论与Hadoop

  • 发表了文章 2024-06-12

    【大数据】GFS,大数据技术的基石,分布式文件系统的鼻祖

  • 发表了文章 2024-06-12

    【大数据】分布式文件系统HDFS

  • 发表了文章 2024-06-12

    【大数据】分布式数据库HBase下载安装教程

  • 发表了文章 2024-06-12

    【大数据】分布式数据库HBase

  • 发表了文章 2024-06-12

    【JAVA】javadoc,如何生成标准的JAVA API文档

  • 发表了文章 2024-06-12

    【大数据】HDFS、HBase操作教程(含指令和JAVA API)

  • 发表了文章 2024-06-12

    【大数据】LSM树,专为海量数据读写而生的数据结构

  • 发表了文章 2024-06-12

    【git分支管理策略】如何高效的管理好代码版本

  • 发表了文章 2024-06-12

    详谈分布式事务

  • 发表了文章 2024-06-12

    【JVM】如何定位、解决内存泄漏和溢出

  • 发表了文章 2024-06-12

    【分库分表】基于mysql+shardingSphere的分库分表技术

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