Java学习需要掌握的一些知识

Java学习需要掌握的一些知识:


《一》1.Jvm 部分
Jvm 内存模型、Jvm 内存结构、Jvm 参数调优、Java 垃圾回收
《二》Java 基础部分
1.必须会使用 List,Map,Stack,Queue,Set。
2.熟悉 Java 排序工具类使用 java.uti.Arrays.sort() java.util.Collections.sort()
3.常用集合框架源码分析,Arraylist、Linkelist、Hasmap、Concurrenthashmap 、TreeSet 等实现原理。
4.常用类源码分析,String、Inteager、Stringbuffer、Stringbuilder、ClassLoade、URLClassLoader 等实现原理
5.熟悉 IO、NIO 及 NIO 实现原理
6.熟悉 java 序列化及反序列化
7.虚引用,弱引用,软引用
8.熟悉 jms、jmx、注解的实现原理
《三》多线程部分
1.怎么创建线程、线程安全、线程之间同步、java 内存模型、线程池、线程池实现原理
《四》java 并发编程
1. 熟悉 java 常用并发包
2.阅读 javaRunnable 、Callable、ReentrantLock、ReentrantReadWriteLock 源码。
3.锁种类有那些?锁的实现原理?synchronized 和 lock 区别
4.什么是守护线程,守护线程和非守护线程区别
5.volatile 关键字的理解
《四》java 底层知识
1.了解字节码、class 文件格式、手动实现 javap
《五》常用算法
冒泡、选择、递归、二叉树、红黑树等
《六》设计模式
1.aop 底层实现
2.模板方法、策略设计、单例、工厂等
《七》网络通讯
1. http、rmi、socket、httpclient、webservice、rpc、mina
2.ftp、smtp 协议
《八》常用框架源码
1. spring、springmvc、ibatis 实现原理
2.服务器优化知识、tomcat、jetty 优化
《九》关系型数据库
mysql 怎么分表分库、怎么查询执行计划、怎么做读写分离、怎么优化 sql、怎么建立索引、索引分类、索引实现原理、怎么做主从复制
《十》NOSQL
redis 数据类型、redis 实现原理、zset 与 set 区别?redis 如何实现集群?
《十一》高并发与网站架构
1.MQ 有那些?MQ 应用场景?MQ 实现原理?MQ 协议有那些?
2.熟悉 nginx 常用配置、例如负载均衡、反向代理、高可用
3.集群下 session 共享解决方案,及共享解决方案实现原理
4.高并发解决方案
5.动静分离、负载均衡、CDN、微服务、dubbo 协议、zap 实现原理
6.分布式架构、分布式锁、分布式事务处理解决方案
《十二》云计算与大数据
Solr、Lucene、ElasticSearch、Storm、了解 Spark、Hadoop、分布式日志收集 flume,kafka,logstash、数据挖掘,mahout

猜你喜欢

转载自www.cnblogs.com/xiaohouye/p/10834139.html