摘要: 0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁盘中,而排 阅读全文
posted @ 2019-08-31 14:41 菜ME鸟 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 并行相关概念 同步和异步 同步和异步通常来形容一次方法的调用。同步方法一旦开始,调用者必须等到方法结束才能执行后续动作;异步方法则是在调用该方法后不必等到该方法执行完就能执行后面的代码,该方法会在另一个线程异步执行,异步方法总是伴随着回调,通过回调来获得异步方法的执行结果。 并发和并行 很多人都将并 阅读全文
posted @ 2019-08-31 11:47 菜ME鸟 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 我们要知道StringBuilder和StringBuffer的内部实现跟String类一样,都是通过一个char数组存储字符串的,不同的是String类里面的char数组是final修饰的,是不可变的,而StringBuilder和StringBuffer的char数组是可变的。 首先通过一段代码 阅读全文
posted @ 2019-08-31 09:00 菜ME鸟 阅读(4047) 评论(3) 推荐(4) 编辑
摘要: 关于Java序列化的10个面试问题 大多数商业项目使用数据库或内存映射文件或只是普通文件, 来满足持久性要求, 只有很少的项目依赖于 Java 中的序列化过程。无论如何,这篇文章不是 Java 序列化教程或如何序列化在 Java 的对象, 但有关序列化机制和序列化 API 的面试问题, 这是值得去任 阅读全文
posted @ 2019-08-27 16:03 菜ME鸟 阅读(2442) 评论(0) 推荐(0) 编辑
摘要: 1.为什么等待和通知是在 Object 类而不是 Thread 中声明的? 一个棘手的 Java 问题,如果 Java编程语言不是你设计的,你怎么能回答这个问题呢。Java编程的常识和深入了解有助于回答这种棘手的 Java 核心方面的面试问题。 为什么 wait,notify 和 notifyAll 阅读全文
posted @ 2019-08-27 15:59 菜ME鸟 阅读(4006) 评论(1) 推荐(1) 编辑
摘要: 官方文档:@EqualsAndHashCode 原文中提到的大致有以下几点: 1. 此注解会生成equals(Object other) 和 hashCode()方法。 2. 它默认使用非静态,非瞬态的属性 3. 可通过参数exclude排除一些属性 4. 可通过参数of指定仅使用哪些属性 5. 它 阅读全文
posted @ 2019-04-29 11:23 菜ME鸟 阅读(3986) 评论(0) 推荐(0) 编辑
摘要: 1、内存泄漏memory leak :是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。 2、内存溢出 out of memory :指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你 阅读全文
posted @ 2019-04-15 21:21 菜ME鸟 阅读(982) 评论(0) 推荐(0) 编辑
摘要: 为什么要使用 RabbitMQ?他解决了什么问题? 消息队列基础知识 阅读全文
posted @ 2019-04-06 14:38 菜ME鸟 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 一、RabbitMQ 原理图 二、Rabbit 交换器讲解 1 Direct 交换器(发布与订阅 完全匹配) 1.2搭建环境 1.2.1创建项目 1.2.2修改全局配置文件 修改 Consumer 的配置文件 修改 Provider 的配置文件 1.3编写 Consumer 1.4编写 Provid 阅读全文
posted @ 2019-04-06 01:53 菜ME鸟 阅读(1989) 评论(0) 推荐(0) 编辑
摘要: 关于消息队列的使用 一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 二、消息队列应用场 阅读全文
posted @ 2019-04-05 22:30 菜ME鸟 阅读(314) 评论(0) 推荐(0) 编辑