抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

单例模式

简介单例模式是java23中设计模式之一,也是最常见的一种模式。 使用场景 整个程序运行中只允许有一个类的实例 需要频繁创建然后销毁的对象 创建对象时耗时过多或者耗资源过多,但又经常用到的对象 方便资源相互通信的环境 单例的几种模式线程不安全的懒汉式123456789101112131415161718192021public class Singleton { priva...

java7 try-with-resource

java7之前 在java7版本之前我们使用资源后,都需要把资源关闭,在try-catch-finally中的finally关闭资源。 例子12345678910111213141516171819202122long currentTime = System.currentTimeMillis();BufferedReader bufferedReader = nul...

fail-fast和fail-safe

fail-fast首先啥是fail-fast?下面引用别人的解释: 在系统设计中,快速失效系统一种可以立即报告任何可能表明故障的情况的系统。快速失效系统通常设计用于停止正常操作,而不是试图继续可能存在缺陷的过程。这种设计通常会在操作中的多个点检查系统的状态,因此可以及早检测到任何故障。快速失败模块的职责是检测错误,然后让系统的下一个最高级别处理错误。 他的意思就是写程序先考虑异常情况,如...

spring面试题(一)

Spring中bean的生命周期 如上图我们大致可以将spring生命周期分为12个步骤 通过反射实例化对象。 设置对象的属性。 如果对象实现了BeanNameAware接口,spring将bean的id传递给setBeanName()方法 如果对象实现了BeanFactoryAware接口,spring将BeanFactory容器传给setBeanFactory()方法。 如果对象实...

集合面试题(一)

JDK1.8中HashMap在出现hash碰撞时链表长度超过8一定会变成红黑树? 首先答案是:否,因为实际上转换红黑树有个大前提,就是当前hash table的长度也就是HashMap的capacity(不是size)不能小于64.小于64就只是做个扩容。 HashSet和TreeSet的区别 类 底层数据结构 顺序 存放null值 HashSet 哈希表 无序 能够存放一个nu...

多线程面试题

三个线程顺序执行依次输出ABCABCABCABC…题目描述 三个线程顺序执行依次输出ABCABCABCABC…,让我们如何控制线程的同步访问,使得线程依次输出ABCABCABCABC…的结果。 解题思路 使用最简便最实用的信号量Semaphore,通过控制信号的获取以及释放,承接获取锁来实现线程得顺序执行以及临界资源的同步访问。这里要明白如果信号量(Semaphore)初始化为0的话,调用...

ThreadPoolExecutor线程池详解

ThreadPoolExecutor线程池简介 在阿里的开发手册里,注明了不能在项目中显示创建线程,而是要通过线程池来管理提供。这样做是因为可以减少线程创建和销毁的内存开销,合理控制项目中的线程数。 ThreadPoolExecutor源码初探线程池状态成员字段12345678910111213141516171819202122232425262728293031323334/...

Unix的五种I/O模型

堵塞形I/O模型 上图为堵塞形I/O模型,进程调用recvfrom命令,进程一直等待直到数据报被复制到进程的缓冲区或者发生错误才返回。进程从调用recvfrom开始到它返回的整段时间内是被阻塞的。 非堵塞形I/O模型 多路复用I/O模型 信号驱动I/O模型 异步I/O模型 五种模型异同 上面五种I/O模型中,前四种都是同步I/O模型,因为他们在真的的I/O操作时,都堵塞了进程,在将数据从...

java枚举

枚举简介 枚举是java1.5引入的一个新特性,它继承于java.lang.Enum类。我们使用枚举来替换常量。例如下面是一个B站视频状态的枚举类,以这种方式定义的常量使代码更具可读性,允许进行编译时检查,预先记录可接受值的列表,并避免由于传入无效值而引起的意外行为。 12345678package com.example.item.constant;/** * 创建在 2020...

HTTP协议和HTTPS协议

HTTP协议简介 HTTP协议,即超文本传输协议(Hypertext transfer protocol),它是基于应用层的协议,由request和response构成,是一个标准的客户端浏览器模型,同时它还是无状态协议。HTTP协议作为TCP/IP模型中应用层的协议也不例外。HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。 ...