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核心的主要内容,如果未能解决你的问题,请参考以下文章