java核心

Posted 路之石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java核心相关的知识,希望对你有一定的参考价值。

一 jvm

  1.线程

  2.jvm内存区域

    a) 程序计数器 -私有区

    b) 虚拟机栈 -私有区

    c) 本地方法取 --私有区

    d) 堆-线程共享-运行时数据区

    e) 方法区-永久代 线程共享

  3.jvm运行时内存

    a) 新生代:Eden区/ServisionFrom/ServisionTo/

    MinorGC的过程:

      ->复制:Eden.ServisionFrom复制到ServisionTo,年龄+1

      ->清空:清空Eden,ServisionFron

      ->互换:ServionFrom和ServisionTo互换

    b) 老年代:

    c) 永久代:java8与元数据

  4.垃圾回收与算法

  5.java四种引用类型

  6.gc分代垃圾回收/分区垃圾回收

  7.gc垃圾回收器

  8.Java io/nio

  9.jvm类加载

二 java集合

  1.接口集成关系和实现

  2.List

  3.ArrayList 数组

  4.Vector 数组实现 线程同步

  5.LinkList 链表

  6.Set

  7.HashSet hash表

  8.TreeSet 二叉树

三 Java 多线程并发

  1.java并发知识

  2.java线程实现/创建方式

    a) 继承Thread类

    b) 实现runnable接口

    b) 基于线程池的方式

    c) ExecutorService,Callable,Future有返回的线程

  3.4中线程池  

    a)newCachedThreadPool

    b)  newFixedThreadPool

    c)  newScheduledThreadPool

    d)  newSinglerThreadPool

  4.线程生命周期-状态

    a)  new-新建状态

    b)  runnable-就绪

    c)  running-运行

    d)  blocked-阻塞:等待阻塞(wait)/ 同步阻塞 (lock) / 其他阻塞 (sleep)

    e)  dead-死亡:正常结束 / 异常结束 / 调用stop

  5.终止线程的方式

    

  6.sleep/wait区别

  7.start/run 区别

  8.java后台线程

  9.java锁

  10.线程上下文切换

  11.同步锁/死锁

  12.线程池原理

  13.java阻塞队列原理

  14.cyclicbarrier,CountDownLatch,Semaphore用法

  15.volatile关键子的作用,变量可见性,禁止重排序

  16.如何再两个线程中共享数据

三 java基础

  1.java异常分类及处理

  2.java反射

  3.java注解

  4.java内部类

  5.java泛型

  6.java序列化-创建可复用的java对象

  7.java复制

四 spring原理

  1.spring特点

  2.spring核心组件

  3.spring常用的模块

  4.spring主要包

  5.spring常用的注解

  6.spring 第三方结合

  7.spring ioc原理

    a) BeanFactory:

      BeanDefinitionRegistry

      BeanFactory

    b) ApplicationContext 开发应用

    c) WebApplication 体系架构

  8.spring apo原理

  9.spring MVC原理

  10.springbott 原理

  11.jpa原理

  12.Mybatis缓存

  13.Tomcat架构

四 微服务

  1.服务注册

  2.服务发现

  3.配置中心

  4.时间调度 kafka

  5.服务跟踪

  6.服务熔断

  7.Hystix 断路器机制

  8.API管理

五 Netty 与 RPC

  1.Netty原理

  2.netty高性能

    a)  多路复用通讯方式

    b)  异步通讯方式NIO

    c)  零拷贝

    d)  内存池

    e)  reactor线程模型

  3.nettyRpc实现

  4.关键技术

  5.核心流程

  6.消息解编码

  7.通讯过程

  8.RMI实现方式

六 分布式缓存

  1.缓存雪崩

  2.缓存穿透

  3.缓存预热

  4.缓存更新

  5.缓存降级

七 网络

  1.网络七层架构

  2.TCP/IP原理

    a) 网络访问层

    c)  网络层

    c)  传输层

    d)  应用层

  3.TCP三次握手/四次握手

  4.HTTP原理

    a) 传输流程:地址解析 / 封装http数据包 / 封装TCP包建立连接 / 客户端发送请求 / 服务器相应 / 服务器关闭响应

    b) Https: 建立连接获取证书 / 证数验证 / 数据加密和传输

  5.CDN原理

  6.分发器服务器原理

  7.负载均衡系统

  8.管理系统

八 日志

  1.slf4j

  2.log4j

  3.logback

  4.logback有点

  5.ELK

九 Zookeeper

  1.zookeeper概念

  2.zookeeper角色

    a) leader

    b) follower

    c)observer

  3.zookeeper原理-原子广播

  4.znode四种形式的目录节点

十 kafka

  1.kafka概念

  2.kakfa数据存储

    a)partition的数据文件:offset/messageSize/data

       b)  数据文件分段segment:顺序读写,分段命令,二分查找

          c)  数据文件索引:分段索引,稀疏存储

  6.生产者设计

  7.负载均衡-partition会均匀分布到不同的broker上

  8.批量发送

  9.压缩-gzip/snappy

  10.消费者设计

十一 RabbitMQ

  1.rabbitmq概念

  2.rabbitmq架构

    a) message

    b)publisher

    c)exchange:消息路由给队列

    d)binding:消息队列和交互器的关系

    e)queue

    f)connection

    g)channel

    h)consumer

    i)virtualhost

    j)broker

  3.exchange类型

    a)direct健rountingkey 分布

    d)fanout-广播分发

十二 设计模式

  1.设计原则

  2.工厂模式

  3.抽象工厂模式

  4.单利模式

  5.建造者模式  

  6.原型模式

  7.适配器

  8.装饰者模式

  9.代理模式

  10.外观模式

  11.组合模式

  12.策略模式

  13.观察者模式

  14.责任链模式

  15.命令模式

 

 

  

  

以上是关于java核心的主要内容,如果未能解决你的问题,请参考以下文章

Java的核心技术都有哪些?

深入Java核心 Java内存分配原理精讲

Java的核心代码是啥

java多线程编程核心技术怎么样

Java核心技术读书笔记11-3 Java NIO介绍与核心功能概述

《java多线程编程核心技术》和《java并发编程的艺术》两本书的异同