摘要:
单例模式是最常见的设计模式,也是项目中或者框架中应用比较广泛的设计模式,今天一起复习的一下单例模式的几种写法。 单例模式优点: 1.保证只有一个实例,所以可以节省内存和计算。 2.有些场景下,可以保证结果正确。 3.方便管理。 使用场景: 1.无状态的工具类,例如日期工具类,字符串工具类等。 2.全 阅读全文
摘要:
分享一道多线程面试题,只是拿来练手的,这里通过两种方式去实现0-100交替打印,大家无聊的话,可以瞅两眼。 一、Synchronized实现: public class PrintNumberIncrInSynchronized { private static int number; privat 阅读全文
摘要:
1、线程id和name 线程id是线程的唯一标识,不可修改,而线程名称是可以修改的。 public static void main(String[] args) { Thread thread = new Thread(); System.out.println("主线程ID为:"+Thread. 阅读全文
摘要:
wait、notify、notifyAll 这三个方法都是属于Object的,Java中的类默认继承Object,所以在任何方法中都可以直接调用wait(),notifyAll(),notify(),static方法也一样,new一个对象再调用。这三个方法必须是在获取到monitor锁的前提下使用, 阅读全文
摘要:
线程的生命周期或者说状态其实不复杂,但是很多人的理解可能有错误,一个典型的误区,线程运行时的状态是Runnable,而不是Running,因为线程没有Running状态。 线程的状态 1、New:已创建,没启动。还没有执行start() 2、Runnable:调用start()之后就处于Runnab 阅读全文
摘要:
启动线程: 从一个最基本的面试题开始,启动线程到底是start()还是run()? Runnable runnable = () -> System.out.println(Thread.currentThread().getName()); Thread thread = new Thread(r 阅读全文
摘要:
多线程这个概念,离我们很近,是因为面试的时候无论是笔试还是面试肯定会问到,只是深浅的区别。而工作中只有一些特殊的场景我们才会用到多线程的内容(当然互联网等公司除外)甚至有些开发人员从来没有用过多线程,所以可能又离得很远。但是我们总能在一些大厂包括很普通的公司的面试要求中看到IO、多线程、并发等概念, 阅读全文
摘要:
设计一个关系型数据库,也就是设计RDBMS(Relational Database Management System),这个问题考验的是对RDBMS各个模块的划分, 以及对数据库结构的了解。只要讲述基本模块设计思路就可以了,当然如果你能讲的比较细更好。 基本机构: 文件存储系统: 对数据库对重要的 阅读全文
摘要:
本文基于ES6.4版本,我也是出于学习阶段,对学习内容做个记录,如果文中有错误,请指出。 实验数据: index:book type:novel mappings: { "mappings": { "novel": { "dynamic": "false", "properties": { "wor 阅读全文
摘要:
Elasticsearch基于Lucene构建的开源搜索引擎,Java编写,提供restful API,支持横向拓展,能够完成海量数据处理。 应用场景: 1、海量数据分析引擎 2、站内搜索引擎 3、数据仓库 维基百科、GitHub、百度实时日志监控平台等互联网公司都在使用Elasticsearch 阅读全文