`
xiangxingchina
  • 浏览: 520004 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA知识图谱

 
阅读更多

1 JAVA 基础

1.1 算法

  直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序

  二叉查找树、红黑树、B树、B+树、LSM树

  BitSet、LRU、LFU、KMP

 

1.2 基础

  字符串常量池的迁移

  string的intern方法的内部细节,jdk1.6和jdk1.7的变化

  equals和hashcode

  泛型、异常、反射

  hash冲突的解决办法

  foreach循环的原理

  static、final、transient等关键字的作用 

  volatile关键字的底层实现原理

  Collections.sort方法使用的是哪种排序方法

  Future接口,常见的线程池中的FutureTask实现等 

 

1.3 设计模式与设计原则

  单例模式

  工厂模式

  装饰者模式

  观察者设计模式

  ThreadLocal设计模式

   

1.4 正则表达式

  捕获组和非捕获组

  贪婪,勉强,独占模式

 

1.5 java内存模型以及垃圾回收算法

  类加载机制,也就是双亲委派模型

  java内存分配模型(默认HotSpot)

    线程共享的:堆区、永久区 线程独享的:虚拟机栈、本地方法栈、程序计数器

  内存分配机制:年轻代(Eden区、两个Survivor区)、年老代、永久代以及他们的分配过程

  happens-before规则

  指令重排序、内存栅栏

  Java 8的内存分代改进

  垃圾回收算法(标记-清除\复制算法\标记整理)

  常用垃圾收集器(新生代\老年代)

  常用gc的参数

  常用工具(jps、jstat、jmap、jstack、图形工具jConsole、Visual VM、MAT、jprofiler)

 

1.6 锁以及并发容器的源码

  synchronized和volatile理解

  Unsafe类的原理,使用它来实现CAS。因此诞生了AtomicInteger系列等

  CAS可能产生的ABA问题的解决,如加入修改次数、版本号

  同步器AQS的实现原理

  独占锁、共享锁;可重入的独占锁ReentrantLock、共享锁 实现原理

  公平锁和非公平锁

  读写锁 ReentrantReadWriteLock的实现原理

  LockSupport工具

  Condition接口及其实现原理

  HashMap、HashSet、ArrayList、LinkedList、HashTable、ConcurrentHashMap、TreeMap的实现原理

  HashMap的并发问题

  ConcurrentLinkedQueue的实现原理

  Fork/Join框架

  CountDownLatch和CyclicBarrier

 

1.7 线程池源码

  内部执行原理

  各种线程池的区别

 

2 web方面

2.1  SpringMVC的架构设计

   SpringMVC对请求的整体处理流程

   DispatcherServlet、容器、组件三者之间的关系

   SpringBoot

 

2.2 SpringAOP源码

   AOP的实现分类

   AOP实现方式(AOP联盟、aspectj、jboss AOP、Spring自身实现的AOP、Spring嵌入aspectj)

   SpringAOP的调用流程

   SpringAOP自定义实现(ProxyFactoryBean\aspectj)

 

2.3 Spring事务及分布式事务Jotm Atomikos

  jdbc事务存在的问题

  事务的挂起和恢复的原理

  事务的传播属性

  

  Spring如何定义事务体系的接口 以及如何融合jdbc事务和Hibernate事务的

  Spring事务拦截器TransactionInterceptor全景

  事务代码同业务代码分离的实现(AOP+ThreadLocal)

  

   X/Open DTP模型,两阶段提交,JTA接口定义

   Jotm、Atomikos的实现原理

   

   PROPAGATION_REQUIRES_NEW、PROPAGATION_NESTED的实现原理以及区别

   事务模型

 

2.4 数据库隔离级别

   读未提交、读已提交、可重复读、串行化

 

2.5 数据库

   数据库性能的优化

   死锁(Record Locks、Gap Locks、Next-Key Locks)

   insert into select语句的加锁情况 

   事务的ACID特性概念

   innodb的MVCC理解

   undo redo binlog

 

2.6 ORM框架: mybatis

   

2.7 SpringSecurity、shiro、SSO

 

2.8 datasource

    (c3p0\druid\jdbcTemplate) 

 

2.9 http协议&https实现原理

    http 三次握手与四次挥手

    http状态码  301 302 405 

    https实现原理

 

 

3 分布式方面

3.1  ZooKeeper

  客户端架构

  服务器端单机版和集群版,对应的请求处理器

  集群版session的建立和激活过程

  Leader选举过程及实现

  ZAB协议实现一致性原理

  实现分布式锁、分布式ID分发器 

  事务日志和快照文件的详细解析

 

3.2 序列化和反序列化框架

  Avro研究

  Thrift研究

  Protobuf研究

  Protostuff研究

  Hessian

 

3.3 RPC框架dubbo源码

  dubbo扩展机制的实现(对比SPI机制)

  服务的发布过程

  服务的订阅过程

  RPC通信的设计

 

3.4 NIO模块(Netty和Mina、thrift源码)

  TCP握手和断开及有限状态机

  backlog

  BIO NIO

  阻塞/非阻塞的区别、同步/异步的区别

  阻塞IO、非阻塞IO、多路复用IO、异步IO

  Reactor线程模型

  jdk的poll、epoll与底层poll、epoll的对接实现

  Netty自己的epoll实现

  内核层poll、epoll的大致实现

  epoll的边缘触发和水平触发

  Netty的EventLoopGroup设计

  Netty的ByteBuf设计

  Netty的ChannelHandler

  Netty的零拷贝

  Netty的线程模型

 

3.5 消息队列kafka、RocketMQ、Notify、Hermes、flume

  kafka的文件存储设计

  kafka的副本复制过程

  kafka副本的leader选举过程

  kafka的消息丢失问题

  kafka的消息顺序性问题

  kafka的isr设计和过半对比

  

  Notify、RocketMQ的事务设计

  基于文件的kafka、RocketMQ和基于数据库的Notify和Hermes

  设计一个消息系统要考虑哪些方面

  丢失消息、消息重复、高可用等话题  

 

3.6 数据库的分库分表mycat

 

3.7 NoSql数据库mongodb

 

3.8 缓存系统memcached redis

  memcached redis 的区别

 

  redis对客户端的维护和管理,读写缓冲区

  redis事务的实现

  Jedis客户端的实现

  JedisPool以及ShardedJedisPool的实现

  redis epoll实现,循环中的文件事件和时间事件

  redis的RDB持久化,save和bgsave

  redis AOF命令追加、文件写入、文件同步到磁盘

  redis AOF重写,为了减少阻塞时间采取的措施

  redis的LRU内存回收算法

  redis的master slave复制

  redis的sentinel高可用方案

  redis的cluster分片方案

 

3.9 web服务器tomcat、ngnix的设计原理

  tomcat的整体架构设计

  tomcat对通信的并发控制

  http请求到达tomcat的整个处理流程

 

3.10  ELK日志实时处理查询系统(Elasticsearch、Logstash、Kibana)

 

3.11 服务化方面

  SOA与微服务

  服务的合并部署、多版本自动快速切换和回滚

  服务的治理:限流、降级

  服务的线性扩展(Redis的扩展:一致性hash,迁移工具)

  服务链路监控和报警:CAT、Dapper、Pinpoint

 

3.12 Spring Cloud

  Spring Cloud Zookeeper:用于服务注册和发现

  Spring Cloud Config:分布式配置

  Spring Cloud Netflix Eureka:用于rest服务的注册和发现

  Spring Cloud Netflix Hystrix:服务的隔离、熔断和降级

  Spring Cloud Netflix Zuul:动态路由,API Gateway

 

3.13 分布式事务

  JTA分布式事务接口定义,对此与Spring事务体系的整合

  TCC分布式事务概念

  TCC分布式事务实现框架案例1:tcc-transaction

  TCC分布式事务实现框架案例2:ByteTCC

 

3.14 一致性算法

  raft

  ZooKeeper

  paxos

 

--------------------------------------------------------------------------------

 一致性算法

 paxos算法

 Raft算法

 CAP原理

 FLP原理

 ACID原则

 hash一致

 ZAB协议

 

 共识算法

拜占庭算法

PoW 

BFT

  PoS

 

 安全算法

  hash算法

  加密算法

  数字签名

  数字证书

  merkle树

  零和证明

 

 

--------------------------------------------------------------------------------

1 java基础

2 jvm虚拟机

3 架构

4 网络协议

5 liunx 网络性能优化实战

6 nginx 原理系列

--------------------------------------------------------------------------------

转自

https://maimai.cn/article/detail?fid=103467612 

分享到:
评论

相关推荐

    java知识图谱.rar

    Java知识图谱是Java开发人员深入理解和提升技能的重要资源,涵盖了广泛的Java技术领域。这个压缩包"java知识图谱.rar"包含了一系列与Java相关的主题,旨在帮助开发者构建一个全面的Java知识体系。以下是对其中各个...

    java知识图谱

    java知识图谱

    【Java知识图谱】(高清、超详细)含Java的全部基础、Java高端开发,Java开发框架以及Java web开发数据库的知识点汇总,高并发,分布式服务

    本资源是【Java 知识图谱】(高清、超详细),包含Java的全部基础知识点、Java高端开发知识点,Java常用开发框架(Spring、Springboot、SpringMVC、Mybatis等)以及Java web开发及相关数据库的知识点汇总,高并发、...

    基于Java的知识图谱构建平台设计源码

    知识图谱构建平台:基于Java开发,包含407个文件,包括187个Vue组件文件、116个JavaScript文件、50个PNG图像文件、14个LESS样式文件、13个Markdown文档、6个JSX文件、3个JSON配置文件、3个HTML文件和3个SVG图像文件...

    Java知识图谱-自己总结

    Java知识图谱是一种系统性的学习和理解Java编程语言的方式,它涵盖了从基础语法到高级特性的各个层面。这个知识图谱是由个人总结而来,并且欢迎社区的反馈和建议,以便不断扩展和完善。以下是对Java知识图谱的一些...

    基于 java知识图谱的航天数据可视化系统

    【作品名称】:基于 java知识图谱的航天数据可视化系统 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 基于知识图谱的航天数据可视...

    Java知识图谱.xmind

    Java知识图谱,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。构建自己的技术体系,碎片组合。

    Java知识图谱-架构师课程系列

    在"Java知识图谱-架构师课程系列"中,我们可以看到一系列关于Java学习和技术发展的重要领域,这将有助于深入理解并提升Java开发能力,特别是对于志在成为架构师的从业者。以下是对每个压缩包子文件所代表知识点的...

    基于Java+MySQL进行技服务知识图谱构建与管理工具开发【100012504】

    科技服务知识图谱构建与管理工具,科技服务业是推动经济从低端向中高端水平迈进不可缺少的一环,以提供技术支持和专业知识咨询为主要特点。科技服务知识图谱构建和开发工具,是一个面向科技服务领域研究人员,方便...

    基于java知识图谱的科技政策管理系统源码+运行说明.zip

    《基于Java知识图谱的科技政策管理系统源码详解与运行指南》 在信息化时代,科技政策的管理和应用已经成为提升国家科技创新能力的关键环节。基于Java的知识图谱技术为科技政策的系统化、智能化管理提供了可能。本...

    Java开发基于知识图谱的航天数据可视化系统源码+项目使用说明.zip

    Java开发基于知识图谱的航天数据可视化系统源码+项目使用说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、...

    JAVA实现基于知识图谱的古诗词智能问答

    JAVA实现基于知识图谱的古诗词智能问答 使用java+ssm+springboot+maven+react+mysql 1、前端接收问句,发送至后端(涉及CSS、ajax通信) 2、对问句进行分词,每个单词标注词性(涉及用户字典) 3、对问句进行抽象...

    基于java知识图谱的农业病虫害数据查询系统(附数据爬虫)源码+全部资料(毕业设计).zip

    基于java知识图谱的农业病虫害数据查询系统(附数据爬虫)源码+全部资料(毕业设计).zip基于java知识图谱的农业病虫害数据查询系统(附数据爬虫)源码+全部资料(毕业设计).zip 【备注】 1、该资源内项目代码都经过...

    JAVA知识图谱:JVM、JMM、JUC、NIO、Netty、IOC、AOP、Jav-JavaKnowledge.zip

    这个"JAVA知识图谱"涵盖了Java开发中的核心概念和技术,包括JVM(Java虚拟机)、JMM(Java内存模型)、JUC(Java并发工具包)、NIO(非阻塞I/O)、Netty(高性能网络应用框架)、IOC( inversion of control,控制...

    Java技能图谱.zip

    有代表性的有:Java知识图谱记录(相对较详细的笔记,推荐!),java核心知识图谱。 Java技术学习图谱-持续更新,幅面巨大,故另提供图片。图片有放缩幅面的问题,图谱最好还是用目录树表达,效果是相同的。 图片中...

    毕业设计基于Java知识图谱的古诗词问答系统源码+数据库(含前端源码).zip

    毕业设计基于Java知识图谱的古诗词问答系统源码+数据库(含前端源码).zip个人大四的毕业设计、经导师指导并认可通过的高分设计项目,评审分96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的...

    JAVA高级工程师知识图谱_JAVA工程师知识图谱_java图谱_知识图谱_

    **JAVA高级工程师知识图谱详解** 在信息技术领域,JAVA作为一种广泛应用的编程语言,对于成为一名优秀的JAVA高级工程师,需要掌握的知识点广泛且深入。本知识图谱涵盖了JAVA开发的关键概念、技术框架、工具库以及...

    JAVA服务端研发知识图谱_源码.rar

    这个知识图谱源码的提供,旨在帮助开发者系统地理解和掌握Java在服务端开发中的核心技术和实践。以下是一些关键知识点的详细阐述: 1. **Java基础**:Java是一种跨平台的面向对象的编程语言,它的强类型、垃圾回收...

Global site tag (gtag.js) - Google Analytics