java知识点3

时间:2022-06-23 07:26:12

高级篇

新技术

Java 8

  • lambda表达式、Stream API、

Java 9

  • Jigsaw、Jshell、Reactive Streams

Java 10

  • 局部变量类型推断、G1的并行Full GC、ThreadLocal握手机制

Spring 5

  • 响应式编程

Spring Boot 2.0

性能优化

  • 使用单例、使用Future模式、使用线程池、选择就绪、减少上下文切换、减少锁粒度、数据压缩、结果缓存

线上问题分析

dump获取

  • 线程Dump、内存Dump、gc情况

dump分析

  • 分析死锁、分析内存泄露

自己编写各种outofmemory,*程序

  • HeapOutOfMemory、 Young OutOfMemory、MethodArea OutOfMemory、ConstantPool OutOfMemory、DirectMemory OutOfMemory、Stack OutOfMemory Stack OverFlow

常见问题解决思路

  • 内存溢出、线程死锁、类加载冲突

使用工具尝试解决以下问题,并写下总结

  • 当一个Java程序响应很慢时如何查找问题、

  • 当一个Java程序频繁FullGC时如何解决问题、

  • 如何查看垃圾回收日志、

  • 当一个Java应用发生OutOfMemory时该如何解决、

  • 如何判断是否出现死锁、

  • 如何判断是否存在内存泄露

编译原理知识

编译与反编译

Java代码的编译与反编译

Java的反编译工具

词法分析,语法分析(LL算法,递归下降算法,LR算法),语义分析,运行时环境,中间代码,代码生成,代码优化

操作系统知识

Linux的常用命令

进程同步

缓冲区溢出

分段和分页

虚拟内存与主存

数据库知识

MySql 执行引擎

MySQL 执行计划

  • 如何查看执行计划,如何根据执行计划进行SQL优化

SQL优化

事务

  • 事务的隔离级别、事务能不能实现锁的功能

数据库锁

  • 行锁、表锁、使用数据库锁实现乐观锁、

数据库主备搭建

binlog

内存数据库

  • h2

常用的nosql数据库

  • redis、memcached

分别使用数据库锁、NoSql实现分布式锁

性能调优

数据结构与算法知识

简单的数据结构

  • 栈、队列、链表、数组、哈希表、

  • 二叉树、字典树、平衡树、排序树、B树、B+树、R树、多路树、红黑树

排序算法

  • 各种排序算法和时间复杂度 深度优先和广度优先搜索 全排列、贪心算法、KMP算法、hash算法、海量数据处理

大数据知识

Zookeeper

  • 基本概念、常见用法

Solr,Lucene,ElasticSearch

  • 在linux上部署solr,solrcloud,,新增、删除、查询索引

Storm,流式计算,了解Spark,S4

  • 在linux上部署storm,用zookeeper做协调,运行storm hello world,local和remote模式运行调试storm topology。

Hadoop,离线计算

  • HDFS、MapReduce

分布式日志收集flume,kafka,logstash

数据挖掘,mahout

网络安全知识

什么是XSS

  • XSS的防御

什么是CSRF

什么是注入攻击

  • SQL注入、XML注入、CRLF注入

什么是文件上传漏洞

加密与解密

  • MD5,SHA1、DES、AES、RSA、DSA

什么是DOS攻击和DDOS攻击

  • memcached为什么可以导致DDos攻击、什么是反射型DDoS

SSL、TLS,HTTPS

如何通过Hash碰撞进行DOS攻击

用openssl签一个证书部署到apache或nginx

http://www.cnblogs.com/lanqie/p/8820638.html