自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiawan的博客

虾丸的bug日常

  • 博客(23)
  • 收藏
  • 关注

原创 zk原理分析

2021-10-22 17:44:23 209

原创 Spring配置多数据源导致事物无法回滚

Spring配置多数据源导致事物无法回滚- 环境 spring 4.3.13Druid 链接池1.1.0mysql 5.1.41mybatis 3.4.61.spring-test简介1.1spring-test类图整个spring-test交互流程分为三部分(对应上图三种颜色):1.测试启动,构建spring容器,并将applicationContext注入到TestContext,构造测试上下文容器2.TestContextManager从spring容器中获取数据源事务管理器D

2021-02-21 14:51:35 2024 4

原创 并发与多线程

目前 CPU 的运算速度已经达到百亿次每秒,甚至更高的量级,家用电脑即使维 持操作系统正常运行的进程也会有数十个,线程更是数以百计。所以,在现实场景中, 为了提高生产率和高效地完成任务,处处均采用多线程和并发的运作方式。首先从**并发( Concurrency )与并行( Parallelism )**说起。并发是指在某个时间段 内,多任务交替处理的能力。所谓不患寡而患不均,每个 CPU 不可能只顾着执行某 个进程,让其他进程一直处于等待状态。所以, CPU把可执行时间均匀地分成若干份, 每个进程执行一.

2020-11-02 13:46:36 573

原创 DDD-9模块

如果你正在使用java或者c#,那么你应该对模块非常熟悉了。java中模块称为包;在C#中,模块称为名称空间。通过模块完成设计模块的基本命名规范领域模型的命名规范敏捷项目管理上下文中的模块其他层中的模块先考虑模块,再是限界上下文...

2020-09-10 09:53:59 398

原创 面向对象

文章目录第一章 对象的概念抽象接口第一章 对象的概念计算机革命的起源来自机器。编程语言就像是那台机器。它不仅是我们思维放大的工具与另一种表达媒介,更像是我们思想的一部分。语言的灵感来自其他形式的表达,如写作,绘画,雕塑,动画和电影制作。编程语言就是创建应用程序的思想结构。面向对象编程(Object-Oriented Programming OOP)是一种编程思维方式和编码架构。本章讲述 OOP 的基本概述。如果读者对此不太理解,可先行跳过本章。等你具备一定编程基础后,请务必再回头看。只有这样你才能深刻

2020-09-04 12:56:49 265

原创 设计原则

1.单一职责单一职责(Single Responsibility Pinciple,SRP)是指不要存在多于一个导致类变更的原因。假设我们有一个 Class 负责两个职责,一旦发生需求变更,修改其中一个职责的逻辑代码,有可能会导致另一个职责的功能发生故障。这样一来,这个 Class 存在两个导致类变更的原因。如何解决这个问题呢?我们就要给两个职责分别用两个 Class 来实现, 进行解耦。后期需求变更维护互不影响。这样的设计,可以降低类的复杂度,提高类的可读性,提高系统的可维护性,降低变更引起的风险。总

2020-09-03 14:56:06 99

原创 Linux

1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?绝对路径: 如/etc/init.d当前目录和上层目录: ./ …/主目录: ~/切换目录: cd2、怎么查看当前进程?怎么执行退出?怎么查看当前路径?查看当前进程: ps执行退出: exit查看当前路径: pwd3、怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用 户 id?查看指定帮助用什么命令?清屏: clear退出当前命令: ctrl+c 彻底退出执行睡眠 : ctrl+

2020-08-31 20:57:50 159

原创 Elasticsearch

1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数 据大小,分片有多少,以及一些调优手段 。面试官:想了解应聘者之前公司接触的 ES 使用场景、规模,有没有做过比较大规模的索引设计、规 划、调优。解答:如实结合自己的实践场景回答即可。比如:ES 集群架构 13 个节点,索引根据通道不同共 20+索引,根据日期,每日递增 20+,索引:10分片,每日递增 1 亿+数据,每个通道每天索引大小控制:150GB 之内。 仅索引层面调优手段:1.1、设计阶段调优(1)根据业

2020-08-31 20:20:19 686

原创 MQ

1、为什么使用MQ核心:解耦,异步,削峰解耦:A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃…A 系统跟其它各种乱七八糟的系统严重耦合,A 系统 产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。如果使用 MQ,A 系统产生一 条数据,发送到 MQ 里面去,哪个系统需要数据自己去 MQ 里面消费。如果新系统需要数据,直接从 MQ 里消费即可;如果某个系统不需要这条数据了,就取消对 MQ 消息

2020-08-31 20:04:11 91

原创 kafka

1、如何获取 topic 主题的列表bin/kafka-topics.sh --list --zookeeper localhost:21812、生产者和消费者的命令行是什么?生产者在主题上发布消息:bin/kafka-console-producer.sh --broker-list 192.168.43.49:9092 --topicHello-Kafka注意这里的 IP 是 server.properties 中的 listeners 的配置。接下来每个新行就是输入一条新消息。消费者接受消

2020-08-31 17:58:47 169 1

原创 ZooKeeper

ZooKeeper 是什么?ZooKeeper 是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给 用户。分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。Zookeeper 保证了如下分布式一致性特性:(1)顺序一致性(2)原子性(3)单一视图(4)可靠性(5)

2020-08-31 15:57:30 347

原创 Nginx

1、简述一下什么是Nginx,它有什么优势和功能Nginx是一个web服务器和方向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。因它的 稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx—Ngine X,是一款免费的、自由的、开源的、高性能HTTP服务器和反向代理服务器;也是一个IMAP、POP3、SMTP代理服务器;Nginx以其高性能、稳定性、丰富的功能、简单的配置和 低资源消耗而闻名。也就是说Nginx本身就可以托管网站(类似于Tomcat一样),进

2020-08-31 11:45:05 36592

原创 spring-cloud

1、什么是SpringCloudSpring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集 成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程 序。2、什么是微服务微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分为一组小的服务,每个 服务运行在其独立的自己的进程中,服务之间相互协调、互相配合,为用户提供最终价值。服务之间采 用轻量级的通信机制互相沟通(通常是基

2020-08-30 20:59:09 106

原创 Redis

1、Redis持久化机制Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。RDB是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。即Sn

2020-08-30 19:44:13 115

原创 MySQL

1、数据库的三范式是什么第一范式:列不可再分第二范式:行可以唯一区分,主键约束第三范式:表的非主属性不能依赖与其他表的非主属性 外键约束且三大范式是一级一级依赖的,第二范式建立在第一范式上,第三范式建立第一第二范式上。2、数据库引擎有哪些如何查看mysql提供的所有存储引擎 mysql> show engines;mysql常用引擎包括:MYISAM、Innodb、Memory、MERGEMYISAM:全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发性能差,占用空间相对 较小

2020-08-30 16:36:52 98

原创 Spring-Boot

1、什么是SpringBoot?为什么要用SpringBoot用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行嵌入的Tomcat 无需部署war文件简化maven配置自动配置spring添加对应功能starter自动化配置spring boot来简化spring应用开发,约定大于配置,去繁从简,just run就能创建一个独立的,产品级别的应用Spring Boot 优点非常多,如:一

2020-08-30 16:09:11 164

原创 Mybatis知识--面试

1、什么是MyBatisMybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句 本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原 生态sql,可以严格控制sql执行性能,灵活度高。MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了 几乎所有的 JDBC 代码和手动设置参数以及获取结果集。通过xml 文件或注解的方式将要执行的各种 statement 配置起

2020-08-30 14:36:02 129

原创 Spring知识--面试

1、 Spring的IOC和AOP机制我们是在使用Spring框架的过程中,其实就是为了使用IOC和AOP,这两个是Spring的灵魂。主要用到的设计模式有工厂模式和代理模式。 IOC就是典型的工厂模式,通过BeanFactory去注入实例。AOP就是典型的代理模式。代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类 预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在 关联关系,一个代理类的对象与一个委托类的对象关

2020-08-29 16:28:52 274

原创 java多线程、并发--面试

文章目录1、Java中实现多线程有几种方法2、如何停止一个正在运行的线程3、notify()和notifyAll()有什么区别4、sleep()和wait() 有什么区别5、volatile 是什么?可以保证有序性吗6、Thread 类中的start() 和 run() 方法有什么区别7、为什么wait, notify 和 notifyAll这些方法不在thread类里面8、为什么wait和notify方法要在同步块中调用9、Java中interrupted 和 isInterruptedd方法的区别10、

2020-08-28 18:18:18 163

原创 《实现领域驱动设计》

如何将领域驱动设计付诸实践,本书从战略和战术层面详尽讨论。战略部分讲解了领域、限界上下文、上下文映射图、架构战术部分讲解了实体、值对象、领域服务、领域事件、聚合、资源库...

2020-08-26 09:51:03 187

原创 Java虚拟机第三版

文章目录1.知识点汇总2.知识点详解1.知识点汇总GC类加载编译器优化内存模型性能调优执行模式其中内存模型,类加载机制,GC是重点方面.性能调优部分更偏向应用,重点突出实践能力.编译器优化和执行模式部分偏向于理论基础,重点掌握知识点.内存模型各部分作用,保存哪些数据.类加载双亲委派加载机制,常用加载器分别加载哪种类型的类.GC分代回收的思想和依据以及不同垃圾回收算法的回收思路和适合场景.性能调优常有JVM优化参数作用,参数调优的依据,常用的JVM分析工具能分析哪些问题以及使用方法.

2020-08-25 19:11:27 171

原创 on java 8

java知识库基础篇参考java编程思想1、java语言特性1.简单易学,丰富的类库2.面向对象,结构化变成的更深次编程,java最重要的语言特性,让程序耦合度更低,内聚性更高3.平台无关性,jvm是java跨平台使用的根本4.可靠安全,强大的类库5.支持多线程2、面向对象和面向过程的区别面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调用即可。性能较高,所以单片机、嵌入式开发一般采用面向过程开发面向对象:是把构成问题的事务分解成各个对象,而

2020-08-25 12:38:09 439

原创 码农翻身

计算机的世界你不懂我是一个线程TCP/IPCPU阿甘我是一个进程我是一块硬盘我是一个键盘数据库的奇妙之旅搞清楚SOCKET1加到100程序语言翻译器编程世界那把锁整个文章的趣味性还是挺足的,以讲故事的形式介绍了计算机的基础知识。这些部分结合《深入理解计算系统》看会更深刻...

2020-08-23 16:25:37 108

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除