Java程序员或者说服务端程序员需要理解或了解的一些知识点,抽空整理下,不喜勿喷,觉得不错的也给个关注呵~
如果你掌握了这其中的80%的知识点,那么你在职场上遇到技术上的探讨,应该也能由浅入深,侃侃而谈了。
操作系统
IPC、进程线程管理、进程地址空间、调度、内存(基于页式和段式内存管理)、链接(动态链接、静态链接)、linux系统、MakeFile
计算机网络
数据链路层、网络层、传输层、相关应用层、tcp有限状态机、MSS、MTU、数据包协议等
常用协议TCP/IP、HTTP/HTTPS、SSL、UDP、WebSocket、MQTT、RTP、ICMP、RCP
数据结构与算法
堆栈、队列、二叉树、红黑树、B树、B+树、trie树、败者树、AC自动机、哈希表、图、二分法查找快速排序、冒泡排序、堆排序、归并排序、倒排序、外排序、递归、KMP、布隆过滤器海量数据处理算法、分而治之、动态规划、哈希函数(murmurHash3等)、一致性Hash算法、paxos、murmurHash3
多线程:
线程调度、线程上下文切换、并发同步,锁(重入锁、互斥锁、读写锁)、Synchronized原理、volatile实现原理、CPU缓存一致性、内存模型、内存对齐、CPU缓存、底层原子操作的实现、JAVA线程模型、Hapends-Before关系,内存屏障、Disruptor指令重排序、互斥量、信号量、Lock-free、wait-free、线程中断。CAS实现原理、AQS同步队列实现原理、Condition(await、signal原理、等待队列)、原子操作类、锁实现原理:ReentrantLock,ReentrantReadWriteLock、Fork/Join并行处理框架(实现原理)。JAVA线程安全工具类实现原理:ConcurrentHashMap、ConcurrentLinkedQueue、CopyOnWriteArrayList等JAVA线程同步原理:CountDownLatch、CyclictBarrier、Semaphore、Exchanger、线程中断、线程阻塞、线程状态、生产者-消费者模型、线程间通信、ThreadLocal、线程池、JAVA线程池种类、实现原理、线程池饱和策略、Execurtor框架。
网络编程
Netty、Netty内存管理、Netty线程模型、ByteBuf、私有协议、网络字节序、大小端判断、心跳包、ACK确认、流量控制、ProtoBuffer、Thrill、NAT路由、APNS推送、WebSocketJava NIO、高性能IO模型、select/poll和epoll区别和原理、Socket、Socket选项。Reactor和Proactor模型、协议数据包格式、操作系统协议栈、c10K问题。
JAVA基础:
JAVA序列化实现原理、IO(RandomAccessFile)、NIO(Channel、Buffer、内存映射文件)、ArrayList、HashMap实现原理、HashSet实现原理、LinkedHashMap、LinkedHashSet、SortedMap、TreeMap、SortSet、TreeSet、fail-fast机制、泛型(语法糖)、异常处理、Annotation、反射、JDBC、常用设计模式、加解密、Java8、Java9
MySQL数据库:
MySQL存储引擎、SQL优化、Innodb存储引擎、存储过程、子查询优化、联合查询、外连接、内连接、Explain结果、Join原理、MySQL主从复制架构、gtid、bin-log、relay-log、redo log、undo log、Innodb内存池、CheckPoint、double write、insert buffer、IO Thread、表空间文件格式、索引种类、索引优化、索引原理、B+树,磁盘加载原理、表分区、锁机制、锁类型、MVCC、事务隔离级别、XA分布式事务、ICP、 MRR、BAK、SQL执行过程分析、Innodb行记录格式、页结构。
JVM:
类加载与初始化、垃圾收集算法、垃圾收集器原理、相关调优参数、jvm运行时内存布局、java对象内存布局(对象头、实例数据、对象填充)、对象创建方式、内存分配和回收策略、虚拟机监控(jps、jmap、jstack、jinfo、jconsole)dump文件、java core文件类文件结构、JIT即时编译、编译优化、运行时栈桢结构、jvm相关字节码指令、jvm虚拟机规范。
分布式相关:
集群基础、集群种类、集群配置、负载均衡、负载均衡算法、双机热备、主从复制、Replicate、Sharding、CAP定理、CDN、BASE、LVS原理、Nginx原理及配置、Haproy配置、QPS、TPS性能指标。分布式事务(XA、2pc、3pc)、高可用Keepalived(VRRP)、
HeartBeat(脑裂、爆头-->共享资源争夺)、分布式服务(Zookeeper、Dubbo)、消息队列(ActiveMQ、Kafka、RabbitMQ)、分布式缓存(Memcached、Redis)、Mongodb、MyCat、TDDL、分库分表、垂直切分、水平切分、搜索(Lucence、Solr、ES)、雪崩效应
Linux相关
iptables、tcpdump、SeLinux、init启动流程、磁盘阵列、/dev/shm、源代码安装、rpm、awk、shell、vmstat、NFS、rsyslog、DNS(递归/迭代)、常用命令、Docker、git。
Java ee相关
Jsp/Servlet、RMI、JNDI、LDAP、JMS、JMX、tomcat配置、struts2、hibernate/mybatis、Jfinal、spring(事务管理、AOP、IOC、启动加载流程)SpringMVC、Spring Security、SpringJDBC、Spring Boot、Spring Cloud、WebService、SOAP协议。
微信公众号开发、电商课题
大数据相关:
Hadoop(Map Reduce、HBase、Hive、HDFS)、Spark、yarn、storm、实时计算(Drill、Impala)
Web相关
JavaScript、css(css2/css3)、html(html4/html5)、Boostrap、AngularJS、Node.js、Session、Cokies、Ajax、Jquery、JSON、Xml、vue、reactJS、Angualar.js
其它语言:
Python、C/C++、golang、PHP、NodeJs、Android、iOS(Objective-c,swift)。