摘要: 1、线程安全 Hashtable 是线程安全的,HashMap 不是线程安全的。 为什么说 HashTable 是线程安全的? 来看下 Hashtable 的源码,Hashtable 所有的元素操作都是 synchronized 修饰的,而 HashMap 并没有。 public synchroni 阅读全文
posted @ 2020-05-25 14:30 遇见0817 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 下面是Java异常类的组织结构,红色区域的异常类表示是程序需要显示捕捉或者抛出的。 Throwable Throwable是Java异常的顶级类,所有的异常都继承于这个类。 Error,Exception是异常类的两个大分类。 Error Error是非程序异常,即程序不能捕获的异常,一般是编译或者 阅读全文
posted @ 2020-05-22 15:45 遇见0817 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 作者:Jay_huaxiao https://juejin.im/post/5d214639e51d4550bf1ae8df 1.spring的生命周期 Spring作为当前Java最流行、最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要; 首先容器启动后,对bean进行初始化 按照 阅读全文
posted @ 2020-05-22 10:17 遇见0817 阅读(971) 评论(0) 推荐(0) 编辑
摘要: Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境。 linux不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,如手机、路由器等,Android程序最底层就是运行在linux系统上 阅读全文
posted @ 2020-05-22 09:30 遇见0817 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 一、Java中创建线程主要有三种方式: 1、继承Thread类创建线程类 定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。 创建Thread子类的实例,即创建了线程对象。 调用线程对象的start()方法来启动该线程。 阅读全文
posted @ 2020-05-19 15:22 遇见0817 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 作者认为,代码优化的最重要的作用应该是:避免未知的错误。在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是一个非常小的原因。 然而为了解决这个错误,我们需要先自验证、再打包出待替换的class文件、暂停业务并重启,对于一个成熟的项目而言 阅读全文
posted @ 2020-05-19 10:10 遇见0817 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 如果你没有参与过多线程并发 Java 应用程序的编码,你可能会失败。 如何避免 Java 线程死锁? 如何避免 Java 中的死锁? 这是 Java 面试 的热门问题之一, 也是多线程的编程中的重口味之一, 主要在招高级程序员时容易被问到, 且有很多后续问题。 尽管问题看起来非常基本, 但大多数 J 阅读全文
posted @ 2020-05-16 11:30 遇见0817 阅读(198) 评论(0) 推荐(0) 编辑
摘要: RabbitMQ是基于AMQP协议的,通过使用通用协议就可以做到在不同语言之间传递。 AMQP协议 核心概念 server:又称broker,接受客户端连接,实现AMQP实体服务。 connection:连接和具体broker网络连接。 channel:网络信道,几乎所有操作都在channel中进行 阅读全文
posted @ 2020-05-15 17:20 遇见0817 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 三次握手过程理解 四次挥手过程理解 常见面试题 先来张图! 序列号seq: 占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 确认号a 阅读全文
posted @ 2020-05-13 15:50 遇见0817 阅读(134) 评论(0) 推荐(0) 编辑
摘要: Object中的wait、notify、notifyAll,可以用于线程间的通信,核心原理为借助于监视器的入口集与等待集逻辑 通过这三个方法完成线程在指定锁(监视器)上的等待与唤醒,这三个方法是以锁(监视器)为中心的通信方法 除了他们之外,还有用于线程调度、控制的方法,他们是sleep、yield、 阅读全文
posted @ 2020-05-11 14:03 遇见0817 阅读(343) 评论(0) 推荐(0) 编辑