2年内学习计划(更新中)

该学习规划来源一位网上前辈,时间较久,不知道博主叫什么了。本文纯属个人私用,如有冒犯多多包涵。

1、常用设计模式
单例模式:懒汉式、饿汉式、双重校验锁、静态加载,内部类加载、枚举类加载。保证一个类仅有一个实例,并提供一个访问它的全局访问点。
代理模式:动态代理和静态代理,什么时候使用动态代理。
适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
装饰者模式:动态给类加功能。
观察者模式:有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
策略模式:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。
外观模式:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
命令模式:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。
创建者模式:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
2、基础知识
Java基本类型哪些,所占字节和范围
Set、List、Map的区别和联系
什么时候使用Hashmap
什么时候使用Linkedhashmap、Concurrenthashmap、Weakhashmap
哪些集合类是线程安全的
为什么Set、List、map不实现Cloneable和Serializable接口
Concurrenthashmap的实现,1.7和1.8的实现
Arrays.sort的实现
什么时候使用CopyOnArrayList
volatile的使用
synchronied的使用
reentrantlock的实现和Synchronied的区别
CAS的实现原理以及问题
AQS的实现原理
接口和抽象类的区别,什么时候使用
类加载机制的步骤,每一步做了什么,static和final修改的成员变量的加载时机
双亲委派模型
反射机制:反射动态擦除泛型、反射动态调用方法等
动态绑定:父类引用指向子类对象
JVM内存管理机制:有哪些区域,每个区域做了什么
JVM垃圾回收机制:垃圾回收算法 垃圾回收器 垃圾回收策略
jvm参数的设置和jvm调优
什么情况产生年轻代内存溢出、什么情况产生年老代内存溢出
内部类:静态内部类和匿名内部类的使用和区别
Redis和memcached:什么时候选择redis,什么时候选择memcached,内存模型和存储策略是什么样的
MySQL的基本操作 主从数据库一致性维护
mysql的优化策略有哪些
mysql索引的实现 B+树的实现原理
什么情况索引不会命中,会造成全表扫描
java中bio nio aio的区别和联系
为什么bio是阻塞的 nio是非阻塞的 nio是模型是什么样的
Java io的整体架构和使用的设计模式
Reactor模型和Proactor模型
http请求报文结构和内容
http三次握手和四次挥手
rpc相关:如何设计一个rpc框架,从io模型 传输协议 序列化方式综合考虑
Linux命令 统计,排序,前几问题等
StringBuff 和StringBuilder的实现,底层实现是通过byte数据,外加数组的拷贝来实现的
cas操作的使用
内存缓存和数据库的一致性同步实现
微服务的优缺点
线程池的参数问题
ip问题 如何判断ip是否在多个ip段中
判断数组两个中任意两个数之和是否为给定的值
乐观锁和悲观锁的实现
synchronized实现原理
你在项目中遇到的困难和怎么解决的
你在项目中完成的比较出色的亮点
消息队列广播模式和发布/订阅模式的区别
生产者消费者代码实现
死锁代码实现
线程池:参数,每个参数的作用,几种不同线程池的比较,阻塞队列的使用,拒绝策略
Future和ListenableFuture 异步回调相关
算法相关:判断能否从数组中找出两个数字和为给定值,随机生成1~10000不重复并放入数组,求数组的子数组的最大和,二分查找算法的实现及其时间复杂计算
3、其它
算法:常用排序算法,二分查找,链表相关,数组相关,字符串相关,树相关等
常见序列化协议及其优缺点
memcached内存原理,为什么是基于块的存储
搭建一个rpc需要准备什么
如果线上服务器频繁地出现full gc ,如何去排查
如果某一时刻线上机器突然量变得很大,服务扛不住了,怎么解决
LUR算法的实现
LinkedHashMap实现LRU
定义栈的数据结构,请在该类型中实现一个能够找到栈最小元素的min函数
海量数据处理的解决思路
reactor模型的演变
阻塞、非阻塞、同步、异步区别
Collection的子接口
jvm调优相关
zookeeper相关,节点类型,如何实现服务发现和服务注册
nginx负载均衡相关,让你去实现负载均衡,该怎么实现
linux命令,awk、cat、sort、cut、grep、uniq、wc、top等
压力测试相关,怎么分析,单接口压测和多情况下的压测
你觉得你的有点是什么,你的缺点是什么
spring mvc的实现原理
netty底层实现,IO模型,ChannelPipeline的实现和原理
缓存的设计和优化
缓存和数据库一致性同步解决方案
你所在项目的系统架构,谈谈整体实现
消息队列的使用场景
ActiveMQ、RabbitMQ、Kafka的区别

原文地址:https://www.cnblogs.com/Atseas/p/9404145.html

时间: 2024-08-26 20:45:55

2年内学习计划(更新中)的相关文章

C++11 学习 间隔更新中

1.*this 返回执行它的的对象的引用,this返回的是地址,这涉及C++对象模式有可能是对象的首地址,有可能是首地址加上虚表的长度, 一般是*this ,有不同意见的可以提出来讨论 2.初始化列表的应用 主要有:内置类型,自定义类型,初始化列表构造函数,拷贝函数,赋值函数,类,const常量 好处有:初始化多个变量方便,避免隐式转换. 要注意:初始化列表不仅是构造函数有,构造函数的初始化列表相当于把内置的数据显示的列出来初始化,所以构造函数是有参的. 3.const 用法,声明变量 修饰参数

学习计划 nginx 中 php的配置详解

本章只看一个刚下载的nginx是如何支持php的 -- location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } 主要学习这里的配置问题 -- 首先看一下location块,这是一个正则匹配,说明了所有以 .php

Android V7包学习笔记更新中.....

关于V4 V7 V13 VX包介绍转自这里 1, Android Support V4, V7, V13是什么? 本质上就是三个java library. 2, 为什么要有support库? 如果在低版本Android平台上开发一个应用程序,而应用程序又想使用高版本才拥有的功能,就需要使用Support库. 3, 三个Support 库的区别和作用是什么? Android Support v4 是最早(2011年4月份)实现的库.用在Android1.6 (API lever 4)或者更高版本之

linux学习资源(不断更新中)

1.http://www.kernel.org,linux内核(源码)下载 2.http://www.oldlinux.org/index_cn.html,<Linux内核0.11(0.95)完全注释> 3.书籍列表: 101-深入理解Linux内核(第三版 英文版)-1030页.pdf  102-深入分析Linux_内核源代码--550页.pdf  103-Linux下的C编程-438页.pdf  104-linux从入门到精通-372页.pdf  105-Linux菜鸟专用资料-595页.

linux学习资料持续更新中

一.LINUX基础教程 1.老男孩系列免费视频: 1) linux高薪入门实战视频教程(第二部)老男孩linux教程 http://edu.51cto.com/course/course_id-1035-page-1.html 2) 跟着老男孩从0开始一步步实战深入学习linux运维(三) http://edu.51cto.com/lesson/id-11909.html linux学习资料持续更新中,布布扣,bubuko.com

linux网络编程学习笔记之二 -----错误异常处理和各种碎碎(更新中)

errno 在unix系统中对大部分系统调用非正常返回时,通常返回值为-1,并设置全局变量errno(errno.h),如socket(), bind(), accept(), listen().erron存放一个正整数来保存上次出错的错误值. 对线程而言,每个线程都有专用的errno变量,不必考虑同步问题. strerror converts to English (Note: use strerror_r for thread safety) perror is simplified str

资源向导之 JOS 计划 #持续更新中# MIT 6.828

JOS 计划 #持续更新中# 童鞋,上网要科学上网,做lab也要科学的做. 之前我一上来就做实验,很多资料都不知道.现在打算重新来过 方法: 0.xv6源码不要用MIT官网的那份,我的主机是Linux/Ubuntu 14.0各种编译error,我都改的想吐.后来直接用github上别人改好的,直接能跑起来没有编译错误的xv6. 1.按照MIT给出的课程安排表,每一次课的相关lecture必须全部过一遍. 2.要求的课堂作业必须完成,很多时候课程要求的任务是很轻松的,只要修改部分代码就行了.这里我

nodejs学习(持续更新中)

nodejs和express的安装什么的,网上基本都有现成的了,这里有点说下, 在较早点的版本(如3.5.0) npm install -g [email protected] 后,可以直接使用 express helloWorld创建工程, 但最新express4.0版本中将命令工具分家出来了(项目地址:https://github.com/expressjs/generator),所以我们还需要安装一个命令工具,命令如下:npm install -g express-generator ##

计划:怎样学习在图像分割中水平集算法

水平集方法由 Osher 和 Sethian 于 1988 年提出[1],最初应用于流体力学领域,后被广泛应用于各种同曲线演化相关的科学研究和工程领域.1997 年Caselles等人率先将这一理论应用到图像科学领域后,开始了基于水平集方法的图像处理技术的研究. 为了提高分割的稳健性,先后提出了基于边界边缘的几何轮廓线模型.基于区域的几何轮廓线模型.基于先验形状知识的几何轮廓线模型,纹理图像分割模型.运动图像的分割分割模型及这些模型集成化的图像分割模型.多模型成分集成是近年该学术流派发展的重要趋