摘要: 程序员离不开命令行,许多经典命令是每天必用的,比如ls和cd。 虽然它们很好用,但是由于历史原因,往往也有一些缺点,比如用法不符合直觉、难以配置,有些速度也不快。 这些年,它们的替代品开始出现,而且越来越多,大家开始尝试使用现代语言,重新实现这些经典命令。本文总结一下这些替代品,其中有些真的很不错, 阅读全文
posted @ 2022-03-02 14:33 华丽D转身 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 说说进程和线程的区别? 进程是程序的一次执行,是系统进行资源分配和调度的独立单位,他的作用是是程序能够并发执行提高资源利用率和吞吐率。 由于进程是资源分配和调度的基本单位,因为进程的创建、销毁、切换产生大量的时间和空间的开销,进程的数量不能太多,而线程是比进程更小的能独立运行的基本单位,他是进程的一 阅读全文
posted @ 2021-03-06 23:31 华丽D转身 阅读(113) 评论(0) 推荐(0) 编辑
摘要: Spring框架的七大模块 Spring Core:框架的最基础部分,提供 IoC 容器,对 bean 进行管理。 Spring Context:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能。 Spring DAO:提供了JDBC的抽象层,还提供了声明性 阅读全文
posted @ 2021-02-28 17:07 华丽D转身 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题目描述 建立三个线程A、B、C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印。 5种方法 使用synchronized, wait和notifyAll 使用Lock->ReentrantLoc 阅读全文
posted @ 2020-10-17 21:45 华丽D转身 阅读(1127) 评论(0) 推荐(0) 编辑
摘要: 数据类型 keyword和text有什么区别? keyword用于索引结构化内容的字段,例如电子邮件地址,主机名,状态码,邮政编码或标签。通常用于过滤(找到我的所有博客文章,其中 status为published),排序,和聚合。keyword类型的字段只能按其准确值进行搜索。text是用于全文检索 阅读全文
posted @ 2020-03-12 18:40 华丽D转身 阅读(595) 评论(0) 推荐(1) 编辑
摘要: 线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如 jstack、jmap 等工具也是不囿于一个方面的问题的,基本上出问题就是 df、free、top 三连,然后依次 jstack、jmap 伺候,具体问题 阅读全文
posted @ 2020-03-03 17:13 华丽D转身 阅读(477) 评论(1) 推荐(0) 编辑
摘要: 利用java异步编程的操作,将分解的sql异步执行并最终汇总数据。这里用到了CountDownLatch和ExecutorService, // 获取时间段所有天数 List<String> days = MyDateUtils.getDays(requestParams.getStartTime( 阅读全文
posted @ 2020-01-20 14:09 华丽D转身 阅读(3911) 评论(0) 推荐(0) 编辑
摘要: 这篇文章将介绍什么是分布式事务,分布式事务解决什么问题,对分布式事务实现的难点,解决思路,不同场景下方案的选择,通过图解的方式进行梳理、总结和比较。相信耐心看完这篇文章,谈到分布式事务,不再只是有“2PC”、“3PC”、“MQ的消息事务”、“最终一致性”、“TCC”等这些知识碎片,而是能够将知识连成 阅读全文
posted @ 2019-09-03 16:44 华丽D转身 阅读(661) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-31 15:38 华丽D转身 阅读(0) 评论(0) 推荐(0) 编辑
摘要: gradle入门 gradle入门 gradle入门 简介: Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。Gradle是一个基于JVM的构建工具,是 阅读全文
posted @ 2019-08-31 15:31 华丽D转身 阅读(261) 评论(0) 推荐(0) 编辑