Java知识点总结

一、java基础
(一)数据结构
1.算法分析:数学基础、复杂度分析
2.逻辑结构:表、栈、队列、优先队列(堆)、树、散列
3.排序:冒泡排序、插入排序、快速排序、直接选择排序、希尔排序、堆排序、归并排序、桶式排序、外部排序
4.查找:顺序查找、二分查找、二叉排序树查找
5.算法设计与技巧:递推、递归、迭代、穷举、贪婪、分治、动态规划、随机化算法、回溯
(二)高级语法
1.语法基础:static、final、super、this、transient、volatile、native
2.面向对象:封装、继承、多态、反射、引用类型、内部类、Object类、包装类、字符串类、日期工具类、异常处理
(三)集合框架
1.Collection:ArrayList、LinkedList、Vector、Stack、HashSet、LinkedHashSet、TreeSet
2.Map:HashMap、LinkedHashMap、TreeMap
(四)文件操作
1.进制:十进制与二进制的由来、进制的转换、位运算、JDK内置的进制转换、java中的进制
2.编码:几种常见的编码格式、Java中需要编码的场景、Java中如何编解码、Java Web涉及的编解码、JS涉及的编解码、常见的编码问题
3.I/O:字节流、字符流、字节流和字符流的转换、Java I/O涉及的设计模式(适配器、装饰器)
4.文件访问:几种访问文件的方式、java访问磁盘文件、java序列化技术、File类、RandomAccessFile类
5.XML:xml文件的四种读和写以及对比
(五)并发编程
1.Java内存模型
    1)主内存和工作内存的交互
    2)原子性(竞态条件、复合操作)、可见性、有序性
    3)valatile变量
    4)非原子的64位操作(long和double类型)
    5)先行发生原则
2.线程:
    1)线程的实现
    2)java线程的调度
    3)状态转换
    4)线程池
3.线程安全
    1)java语言中的线程安全
    2)线程安全的实现方法
    3)锁机制(重入内置锁、显式锁、死锁的诊断和避免)
    4)锁优化(自旋、锁消除、锁粗化、轻量级锁、偏向锁)
    5)原子变量与非阻塞同步机制
4.基础构建模块
    1)同步容器类:Vector、Stack、Hashtable、Collections类中提供的静态工厂方法创建的类
    2)并发容器类:ConcurrentHashMap、CopyOnWriteArrayList、额外的原子Map操作
    3)阻塞队列和生产者-消费者模式:BlockingQueue
    4)同步工具类:闭锁、FutureTask、信号量、栅栏
    5)java.util.concurrent同步器类中的AQS(注意是同步器类不是同步容器类)
(六)设计模式
1.创建型模式:原型、单例、工厂方法、抽象工厂、建造者
2.结构型模式:适配器、装饰、代理、组合、门面、桥模式、享元
3.行为型模式:策略、观察者、模板、职责链、命令、迭代器、中介者、解释器、访问者、状态、备忘录
(七)JVM
1.自动内存管理机制
    1)JVM内存模型
    2)怎么判断对象已死
    3)new是一个怎么样的过程
    4)JVM内存运行区域中的OutOfmemoryError
    5)垃圾回收算法
    6)垃圾收集器
    7)内存回收与分配策略
2.虚拟机执行子系统
    1)类文件结构
    2)虚拟机类加载机制
    3)虚拟机类加载案例分析
(八)NIO
1.NIO的工作机制、Buffer的工作方式、NIO的数据访问方式
2.Channel:FileChannel、DatagramChannel、SocketChannel、ServerSocketChannel
3.Buffer:ByteBuffer、MappedByteBuffer
4.Selector:单线程处理多个Channel
(九)WEB开发
1.基础:Html、CSS、JS
2.进阶:Servlet、JSP、Filter和Listener、Session和Cookie、身份验证和单点登录原理及实现
3.前端框架和插件:JQuery、AngularJS、Node.js、日期插件、表格插件
(十)常用代码
1.分页、异步、定时任务、线程池、工作流
2.文件/视频上传与下载、配置文件加载
3.JSON解析、字符串处理
4.邮件、短信、APP消息推送
二、框架
1.底层框架:EJB、Spring、Play、PAFA
2.MVC框架:SpringMVC、Struts2
3.服务框架:Spring Boot与Spring cloud、Dubbo(阿里)、Service Mech、Tars(腾讯)
4.持久层框架:Hibernate、MyBatis(iBatis)
5.其他框架:Quartz(调度)、Executor(异步执行)、Mina(NIO)、Netty(NIO)
三、数据库
1.数据库类型:MySQL、Oralce、MongoDB
2.数据库操作
    1)SQL分类、运算符、常用函数
    2)表类型(存储引擎)、数据类型、字符集、索引
    3)语句块、视图、存储过程、自定义函数、触发器
    4)事物控制和锁定语句、SQL安全、SQL Mode

3.数据库优化
    1)表结构的设计
    2)结构良好的SQL和有效且合适的索引
    3)对系统配置优化
    4)选择适合数据库的CPU

四、中间件
1.服务器(容器):Tomcat、Jetty、WebLogic、Nginx、Apache、Jboss、Docker
2.服务注册:Zookeeper
3.消息队列:RabbitMq、kafka
4.缓存机制:Redis、Memcached、Ehcache
五、系统与工具
1.工具:Svn、Ant、Maven、Git、PowerDesgin、Visio
2.系统:Linux
六、软件工程课程
1.算法基础
    1)算法设计及其复杂性分析
    2)数据结构与算法(1/2)
    3)离散数学
2.理论基础
    1)软件理论基础(1) 
    2)网络系统(1) 
    3)计算机系统软件(1/2)
    4)计算机与网络体系结构(1/2)
    5)软件工程(1/2/3)
3.课程实践
    1)程序设计实践
    2)程序设计实训
    3)专业专题训练
    4)软件系统建模与验证(1/2)  
七、JAVA书单
1.基础
    1)《计算机网络》
    2)《数据结构与算法Java版》
    3)《Java编程思想》
    4)《Effective Java中文版(第2版)》
    5)《Head First设计模式》
    6)《鸟哥的Liunx私房菜》
2.进阶
    1)《深入理解Java虚拟机:JVM高级特性与最佳实践》
    2)《并发编程与实战》
    3)《深入分析Java Web技术内幕》
    4)《Spring实战4》
    5)《Spring源码深度解析》
3.数据库与缓存
    1)《MySQL5.6从零开始学》
    2)《Oracle从入门到精通》
    3)《Redis实战》
4.阿里书籍:
    1)《大型网站系统与Java中间件实践》
    2)《大型网站技术架构核心原理与案例分析》
    3)《从Paxos到Zookeeper:分布式一致性原理与实践》
    4)《大型分布式网站架构设计与实践》
    5)《阿里巴巴Java开发手册》
    6)《阿里技术参考图册》            
5.项目管理
    1)《人月神话》
    2)《人件》


遗憾丛生才叫生活,瑕疵偶现才算真实。




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值