Atomatom98
码龄4年
  • 30,067
    被访问
  • 105
    原创
  • 55,238
    排名
  • 26
    粉丝
关注
提问 私信

个人简介:但行好事 莫问前程

  • 加入CSDN时间: 2018-10-08
博客简介:

atomatom98的博客

博客描述:
但行好事 莫问前程
查看详细资料
  • 2
    领奖
    总分 109 当月 1
个人成就
  • 获得22次点赞
  • 内容获得10次评论
  • 获得95次收藏
创作历程
  • 1篇
    2022年
  • 5篇
    2021年
  • 31篇
    2020年
  • 70篇
    2019年
成就勋章
TA的专栏
  • JAVA SE基础
    7篇
  • JVM
    10篇
  • Kafka
    4篇
  • Redis
    6篇
  • 工作随笔
    4篇
  • MySQL数据库及其优化
    7篇
  • HTTP
    2篇
  • 计算机网络
    4篇
  • Tomcat&Jetty
    1篇
  • 面试题
    6篇
  • Java8新特性
    5篇
  • 操作系统
    2篇
  • java多线程与并发
    16篇
  • Java设计模式
    5篇
  • Netty
    3篇
  • Java集合类源码学习笔记
    6篇
  • Spring
    7篇
  • MyBatis
    1篇
  • dubbo
    1篇
  • SpringMVC
    4篇
  • 数据结构与算法java学习笔记
    10篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

看《Effective Java 第三版》记录

一.静态工厂方法来取代构造器例子来自Boolean这个类,这个valueOf方法返回了一个Boolean实例,但是它并不是Boolean的构造方法,这样做有几个好处: public static Boolean valueOf(boolean b) { return (b ? TRUE : FALSE); }有名称,可以自己定义不用每次都新建一个对象,比如上面这个方法就不是每次都新建一个,是在类的成员变量“缓存”了两个:更灵活,可以返回原本类型的任意一个子类对象,
原创
发布博客 2022.01.26 ·
60 阅读 ·
0 点赞 ·
0 评论

《深入理解Java虚拟机》 读书记录

一.前言看书记一下关键信息,怕自己忘了,断断续续看了一两遍。二.正文第二部分 自动内存管理机制在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OOM的可能。(p50)HotSpot虚拟机中,对象在内存中的存储分为三部分:对象头Header,实例数据Instance Data和对齐填充Padding。对象头又分为两部分:第一部分存储自身运行时数据包括HashCode,GC分代年龄,锁状态等,这部分叫MarkWord;第二部分是类型指针,虚拟机通过这个指针确定这
原创
发布博客 2021.10.10 ·
54 阅读 ·
0 点赞 ·
0 评论

Zookeeper基础:特点、数据结构、应用场景

文章目录1.Zookeeper是什么2.Zookeeper的特点示意图3.Zookeeper的数据结构4.应用场景统一命名服务1.Zookeeper是什么Zookeeper从设计模式角度来理解:是一个基 于观察者模式设计的分布式服务管理框架,它负责 存储和管理大家都关心的数据,然后接受观察者的 注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在Zookeeper上注册的那些观察 者做出相应的反应。2.Zookeeper的特点Zookeeper:一个领导者(Leader
原创
发布博客 2021.09.20 ·
42 阅读 ·
0 点赞 ·
0 评论

Redis事务和锁机制

文章目录一.定义和基本特性1.redis事务的定义2.redis事务相关命令Multi,Exec,Discard3.事务的错误处理二.redis的锁机制1.乐观锁介绍2.redis命令WATCH key [key....]UNWATCH3.redis事务特性一.定义和基本特性1.redis事务的定义MULTI, EXEC, DISCARD and WATCH are the foundation of transactions in Redis. They allow the execution o
原创
发布博客 2021.08.15 ·
75 阅读 ·
0 点赞 ·
0 评论

maven如何理解正常版本和Snapshot版本

如何理解正常版本和Snapshot版本开发中maven真是太常用了,但有时候不明白什么时候用release版本,什么时候用snapshot版本,记住了也老忘1.认识maven依赖 <dependency> <groupId>com.test.atomatom98</groupId> <artifactId>xxxxx-api</artifactId> <ver
原创
发布博客 2021.05.11 ·
180 阅读 ·
0 点赞 ·
0 评论

Web服务开发--------Tomcat容器,Spring容器,SpringMVC容器之间的关系

一.背景最近研究SpringBoot,SpringBoot内置了Tomcat容器,作为Web服务非常简洁方便,我发现自己对web服务的理解,特别是容器等概念不清楚,所以学习记录下二.正文转自https://www.cnblogs.com/shitou911013/p/11009600.htmlweb容器中有servlet容器,spring项目部署后存在spring容器和springmvc容器。其中spring控制service层和dao层的bean对象。springmvc容器控制c
转载
发布博客 2021.03.04 ·
273 阅读 ·
0 点赞 ·
1 评论

Kafka学习-----Kafka生产者:分区策略和可靠性保障

目录一.Kafka分区策略1.分区原因2.分区的原则二.Kafka数据可靠性保证1.副本同步策略?2.ISR----防止LEADER挂掉3.ACK应答机制4.故障处理,LEO,HW是什么一.Kafka分区策略1.分区原因方便在集群中扩展,每个 Partition 可以通过调整以适应它所在的机器,而一个 topic又可以有多个 Partition 组成,因此整个集群就可以适应任意大小的数据了;可以提高并发,因为可以以 Partition 为单位读写了。2.分区的原则需要将 produc
原创
发布博客 2020.12.19 ·
109 阅读 ·
0 点赞 ·
0 评论

Kafka学习-----Kafka消费者Consumer:消费方式,分区分配策略,Range&RoundRobin

目录一.Kafka分区策略1.分区原因2.分区的原则一.Kafka分区策略1.分区原因方便在集群中扩展,每个 Partition 可以通过调整以适应它所在的机器,而一个 topic又可以有多个 Partition 组成,因此整个集群就可以适应任意大小的数据了;可以提高并发,因为可以以 Partition 为单位读写了。2.分区的原则需要将 producer 发送的数据封装成一个 ProducerRecord 对象 ![在这里插入图片描述](https://img-blog.cs
原创
发布博客 2020.11.08 ·
439 阅读 ·
0 点赞 ·
0 评论

Kafka学习-----文件存储机制和分片索引

目录一.Kafka工作流程1.整体架构2.需要注意⚠️:二.分片索引机制示例:如何找到对应offset的Message消息呢三.总结一.Kafka工作流程1.整体架构消息交互两方分别是生产者Producer和消费者Consumer,Kafka集群Cluster中,有三个broker,类似于三个实例。其中针对同一个Topic A有三个不同分区Partition,每个都有自己的follower(备份用)。2.需要注意⚠️:Kafka 中消息是以 topic 进行分类的,生产者生产消息,消费者消费消
原创
发布博客 2020.10.31 ·
237 阅读 ·
0 点赞 ·
0 评论

Kafka学习-----概述:MQ,定义,基础架构

目录一.什么是Kafka1.定义2.什么是MQMQ的好处二.消息队列两种模式三.消息队列基础架构一.什么是Kafka1.定义Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于 大数据实时处理领域。特征:Kafka作为一个集群,运行在一台或者多台服务器上.Kafka 通过 topic 对存储的流数据进行分类。每条记录中包含一个key,一个value和一个timestamp(时间戳)。2.什么是MQ“消息队列”是在消息的传输过程中保存消息
原创
发布博客 2020.10.07 ·
100 阅读 ·
0 点赞 ·
0 评论

深入学习HTTP-----HTTP报文格式/消息结构

目录一.HTTP概念介绍一个例子---访问百度首页二.HTTP请求消息结构1.定义&例子2.常见请求头参数三.HTTP响应消息结构四.除了GET/POST的其他请求类型注:文章部分图片来自于《图解HTTP》一.HTTP概念介绍参见:HTTP概念介绍一个例子—访问百度首页curl -v https://www.baidu.com/ 在命令行使用Curl工具,输入上面的指令。p.s. curl的用法详解:curl工具用法详解Trying 36.152.44.95...TCP_NOD
原创
发布博客 2020.09.29 ·
450 阅读 ·
0 点赞 ·
1 评论

深入学习HTTP-----HTTP相关概念总结:WWW,TCP/IP协议簇,URL与URI等

目录一.HTTP介绍总结:二.WWW和协议的概念1.定义2.三.TCP/IP协议簇和TCP IP协议关系四.OSI七层模型和TCP/IP五层模型五.URI和URL介绍和区别注:文章部分图片来自于《图解HTTP》一.HTTP介绍在浏览器的输入框输入一个网页:www.baidu.com,背后发生了什么?我们看到的页面,实际上是目标服务器server针对我们的请求回传的文件,再经过浏览器的解析展示出来的。这一系列的流程,怎么做,用什么格式需要遵守一个规范,这个规范就是HTTP协议。HTTP是Hy
原创
发布博客 2020.09.22 ·
248 阅读 ·
0 点赞 ·
0 评论

Java8新特性之Optional类----优雅地防止NPE问题带来的过多if-else

目录一.什么是NPE问题二.Optional类介绍构造函数常用函数三.Optional类如何使用?总结方法论示例补充一.什么是NPE问题java标准库,内建了大量的异常处理类,这些类以Throwable 设计为最顶层类。常见的java异常类有:IOException, SocketTimeoutException, UnknownHostException, MalformedURLException、NullPointerException等。NullPointerException(空指针)是
原创
发布博客 2020.09.19 ·
425 阅读 ·
0 点赞 ·
0 评论

操作系统深入学习-----死锁及死锁的解决策略(附Java示例demo)

目录一.从一道面试题说起二.死锁概念-什么是死锁?1.由来2.死锁程序Demo3.组成三.死锁的解决办法有哪些Monitor Record两个Set四.总结一.从一道面试题说起请你说一下如何解决死锁?如果你第一时间想到的是下面的回答:破坏死锁的四个必要条件之一,即互斥,请求和保持,不可剥夺,循环等待,然后逐句解释这四个条件含义和如何破坏。。。这个答案没有问题,但是不够准确也不够全面二.死锁概念-什么是死锁?管程是由局部于自己的若干公共变量及其说明和所有访问这些公共变量的过程所组成的软
原创
发布博客 2020.09.14 ·
154 阅读 ·
0 点赞 ·
0 评论

操作系统深入学习-----重新认识Synchronized的实现原理,管程Monitor介绍

目录一.从一道面试题说起二.Monitor管程是什么?1.由来2.特点3.组成三.Java语言中Synchronized的底层实现原理Monitor Record两个Set总结一.从一道面试题说起请你说一下Synchronized的实现原理?这个面试题可是太常见了,一般来说会怎么回答呢?synchronized 是由一对 monitorenter/monitorexit 指令实现的,monitor 对象是同步的基本实现单元。在 Java 6 之前,monitor 的实现完全是依靠操作系统内部的互斥
原创
发布博客 2020.09.07 ·
353 阅读 ·
0 点赞 ·
0 评论

操作系统深入学习-----用户态内核态、多线程模型、线程映射

目录一.概念介绍什么是内核,什么是操作系统,二者区别是什么用户态和内核态,用户级线程和内核级线程二.JVM进程处于什么位置?三.JVM线程和内核线程关系,如何映射?一.概念介绍什么是内核,什么是操作系统,二者区别是什么1.操作系统操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。从计算机
原创
发布博客 2020.09.06 ·
649 阅读 ·
0 点赞 ·
0 评论

2021校招----自己记录的一些Java后端面试题 6W字长文

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
原创
发布博客 2020.09.01 ·
1188 阅读 ·
6 点赞 ·
2 评论

分布式理论基础------CAP理论介绍及其性质

一.什么是分布式系统分布式系统是若干独立计算机的集合,这计算机对用户来说就像单个相关系统。在分布式系统中:应用可以按业务类型拆分成多个应用,再按结构分成接口层、服务层;我们也可以按访问入口分,如移动端、PC端等定义不同的接口应用;数据库可以按业务类型拆分成多个实例,还可以对单表进行分库分表;增加分布式缓存、搜索、文件、消息队列、非关系型数据库等中间件;很明显,分布式系统可以解决集中式不便扩展的弊端,我们可以很方便的在任何一个环节扩展应用,就算一个应用出现问题也不会影响到别的
原创
发布博客 2020.07.14 ·
364 阅读 ·
0 点赞 ·
0 评论

CDN是什么,它在web服务的哪个环节起到怎样的作用?

一.背景业务开发中了解到获取很多数据都需要通过CDN来实现,比如我想拿一条数据,调用CDN的接口,结果返回给我一个List,其中每个都一样。这是为什么呢,带着这样的疑问,打算了解,介绍一下CDN的概念,使用。二.CDN概念介绍CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
原创
发布博客 2020.07.09 ·
305 阅读 ·
0 点赞 ·
0 评论

JVM编译相关概念------我们写的Java代码是如何编译的?

一.什么是编译编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。二.字节码,机器代码,Java代码概念解释字节码是指平常所了解的 .class 文件,Java 代码通过 javac 命令编译成字节码机器码和本地代码都是指机器可以直接识别运行的代码,也就是机器指令字节码是不能直接运行的,需要经过 JVM 解释或编译成机器码才能运行机器码是与平台相关的,也就是操作系统相关,不同操作系统能识别的机器码不同三.Java与
原创
发布博客 2020.07.05 ·
113 阅读 ·
0 点赞 ·
0 评论
加载更多