Java互联网架构师系统进阶课程(三期VIP)
9 a* ?0 p7 t; E├──01JVM性能调优 $ S+ H1 e# Y( _5 v! r
| ├──01 虚拟机的前世今生和Java内存区域(1) .mp4 758.12M
: A* A5 n7 x* j; S; d| ├──02 深入理解Java内存区域(1) .mp4 835.55M
0 f o8 B4 F n- C% ?7 \1 v| ├──03 玩转JVM中的对象及引用(1) .mp4 848.04M! @9 M6 K# L5 ~: Q
| ├──04 分代回收机制及垃圾回收算法(1) .mp4 762.68M5 d1 j* E/ B9 x3 C, A! h) ~" `
| ├──05 JVM面试“核武器”JVM底层细节(1) .mp4 695.74M& B) Q! [5 A# d& }
| ├──06 Class文件结构及深入字节码指令(1) .mp4 942.99M% S$ T1 U& n3 K& n# z/ v% ]
| ├──07 类加载机制与类加载器(1) .mp4 995.21M5 o0 o' M; y2 |; n9 n E. A3 q
| ├──08 方法调用的底层实现(1 .mp4 1.01G, M$ G* Q6 x$ g& U: ?, ]
| ├──09 Java语法糖及实现(1) .mp4 849.83M& S" N$ ~9 t( h; h
| └──10 GC调优基础知识之工具篇(原生+Arthas)(1) .mp4 1.23G
_$ w3 X; H% {& [1 a0 B" h: E/ V1 u├──02 JVM性能调优 $ t6 D" R8 C8 L/ x
| ├──01 GC调优基础知识之工具篇(原生+Arthas)(2) .mp4 1.14G" T s, z# m W8 Q. t. U
| ├──02 JVM调优实战之CPU占用过高(1) .mp4 1.58G' X* [, G, H# s
| ├──03 JVM性能调优之预估调优与问题排查(1) .mp4 1.02G- R7 G$ {7 G6 p; Q: i& j A
| ├──04 玩转MAT,分析内存泄漏(1) .mp4 996.10M
0 B: O: |+ p3 r ?( T| ├──05 直接内存与JVM源码分析(1) .mp4 1.25G
) P: L2 n; m9 ?5 [1 _% ?| └──06 JVM之大结局(1) .mp4 996.79M
. Q: K7 A% @* S' H8 B1 ^3 f├──03 并发编程
; Y' B, _; t2 F) N, y| ├──01 java线程的本质、线程模型(1) .mp4 1.04G
s; l- B/ T/ L* s/ ?# j| ├──02 java线程run方法的本质(1) .mp4 1.19G
% [/ o9 ?. G! F+ O/ n& s, p$ m| ├──03 synchronized关键字得原理分析一(1) .mp4 1.19G/ {2 F! Q4 z8 w1 d! M3 _$ G: g
| ├──04 synchronized关键字原理—锁的膨胀(1) .mp4 1.51G
" M2 Q; r9 O& J% Y+ j4 l% r0 R9 e| ├──05 synchronized关键字原理-锁的膨胀过程(1 .mp4 1.88G
6 z: ?6 ]- ^5 I| ├──06 synchronized关键字原理-锁的膨胀过程二(1) .mp4 1.22G" y* q* l+ J; k4 e F, e
| ├──07 synchronized关键字原理-锁的膨胀过程三(1) .mp4 1.29G
" C( g/ { H* q| ├──08 synchronized关键字的使用和优化(1) .mp4 1.13G7 }1 M" z2 f$ o2 D# l: X, i. c
| └──09 ReentranLock 的基本使用和设计模式(1) .mp4 1.05G4 [5 A5 L- }# o; `+ i2 [( Q
├──04 并发编程
0 Y/ a3 F. e* S- m; N$ E( S# g7 E6 k, g| ├──01 aqs框架的源码分析(1) .mp4 1.28G; i6 P0 q: X, K+ j
| ├──02 ReentrantLock解锁流程和读写锁源码(1) .mp4 1.06G/ M0 q2 [3 h0 i# h
| ├──03 aqs之读写锁原理分析(1) .mp4 1.16G9 a/ e. y* J4 F- O; R
| ├──04 juc工具类的使用和原理(1) .mp4 1.23G
- s7 N3 G: O8 u| ├──05 模拟线程池的原理实现(1) .mp4 1.19G
1 f/ [; h) H& M' M| ├──06 ThreadPoolExecutor线程池(1) .mp4 1.17G* k/ D9 {0 _/ N, A
| ├──07 线程池源码分析(1) .mp4 1.35G
5 g# O7 c# Z! S/ ^! h) q& y- P| ├──08 如何解决JAVA的有序性和可见性(1) .mp4 946.77M0 ^/ B( _. l" k, Q' }
| ├──09 如何理解JAVA的内存模型(1) .mp4 977.11M
: x$ I \: k& J| └──10 currenthashmap源码分析(1) .mp4 1.35G
3 S3 w* y1 D+ I7 R├──05 并发编程网络协议与netty ; E; i2 f3 b. J/ F8 Z
| ├──01 forkjoin线程池得原理和应用(1) .mp4 898.41M2 d. H" ^- f! Y8 C3 ~& N q$ V9 o, m
| ├──02 网络协议和常用网络工具(1) .mp4 1.03G
1 v. y: `% }) ?$ W* a| ├──03 Java原生网络编程(1) .mp4 1.30G7 y) i" J" x* I0 X) O
| ├──04 Java原生网络编程2(1) .mp4 1.76G& P4 E, r ]6 I" ~' T
| ├──05 Java原生网络编程3(1) .mp4 1.65G& I: E: k5 m0 l& Q: `0 F$ p
| └──06 Netty基础入门和应用(1) .mp4 1.78G
% O1 W6 A# J% G├──06 网络协议
' G2 n* L1 O* i1 a- m7 K| ├──01 Netty基础入门和应用2(1) .mp4 1.77G
6 D& G. P x3 a w- M: d| ├──02 Netty基础入门和应用3(1) .mp4 1.57G
- \% ]" d5 ~! c h" y# u# ?9 M| ├──03 Netty基础入门和应用4(1) .mp4 2.27G7 w7 F+ ^& s9 Y1 u: e a+ p
| └──04 Netty进阶和实战(1) .mp4 1.29G! U8 ]/ W* T- I
├──07 网络协议与Netty " V8 b5 F6 J1 H) Y' g
| ├──01 Netty进阶和实战2(1) .mp4 1.64G, @6 f2 w8 p0 A/ k! n t
| ├──02 Netty进阶和实战3(1) .mp4 1.89G8 f1 r) a( `0 Q/ E
| ├──03 Linux和JDK对网络通信的实现(1) .mp4 1.13G
4 [. b. ^, A4 \; E1 y| ├──04 Linux和JDK对网络通信的实现2(1) .mp4 1.67G, z U* k) \$ o! q
| ├──05 Linux和JDK对网络通信的实现3(1) .mp4 1.36G2 ]3 V3 x& f- G5 \
| ├──06 Linux和JDK对网络通信的实现4(1) .mp4 1.91G
+ t( W9 w- d `| └──07 Netty源码解析(1) .mp4 1.96G& f1 Y h$ E, D; d" X
├──08 网络协议与NettySpring源码 % y3 W* p, m8 _2 `7 c% Y1 ], V$ X
| ├──01 Netty源码解析2(1) .mp4 2.03G
- q4 S% S* w+ Z5 @( a# C8 p| ├──02 Netty源码解析3(1) .mp4 1.82G
0 K) F6 S0 O* k$ q( g/ O| ├──03 Netty源码解析4(1) .mp4 1.73G7 F P" `5 I8 B+ J4 F, g8 C
| ├──04 Netty源码解析5(1) .mp4 1.49G, [2 C/ g5 j \6 `2 h
| └──05 spring源码编译和xml解析(1) .mp4 2.00G
$ K7 s1 m' ]+ L8 {$ `1 E+ L: U# c: x├──09 Spring源码
7 D5 H! Y- }8 L, i! s; j3 T8 ?| ├──01 BeanDefinition和默认标签、自定义标签解析(1) .mp4 1.89G) }0 @' \/ W% Z6 P5 \
| ├──02 component-scan标签解析和bean实例化初探(1) .mp4 1.98G; Y8 v1 V% K' C9 {0 a& N9 Z# Y( S
| ├──03 BeanPostProcessor和Bean实例化初探(1) .mp4 2.07G2 ]4 w- i. i4 H2 F) L
| └──04 bean的实例化和注解的收集(1) .mp4 2.11G
- C; H- a4 w9 _( `├──10 Spring源码
7 i4 u ]/ ?1 S1 ]0 O) n% x, @| ├──1 @Autowired@PostConstruct@PreDestroy注解(1) .mp4 1.95G
. K2 v- ?$ }/ z5 Y- s2 L| ├──2 spring中循环依赖详解(1) .mp4 1.90G
; W( U1 u1 M" C& u+ X| └──3 spring中配置文件解析和Environment对象 .mp4 2.11G
4 u$ F. q& Z' ~0 i* j! S├──11 spring源码
+ f% X- y- v& t2 @% v| └──自定义scope和factoryBean接口(1) .mp4 2.08G- L. C$ s- I3 h6 B* ?0 ?
├──12 Spring源码
9 A1 u( d5 @/ F* T- T2 t( C- [| ├──1 ConfigurationClassPostProcessor类源码(1) .mp4 2.07G
9 {2 Y7 r# K+ I- I# _4 ^9 o2 p! q8 J8 t| ├──2 ConfigurationClassPostProcessor类源码2(1) .mp4 2.05G: [" h& o1 }, w) p0 L: m8 J
| ├──3 spring的实战代码案例1及AOP基础 .mp4 2.17G9 a$ K2 z$ Q' v! M! \. M# ]3 p4 j6 P
| ├──4 动态代理和AOP的初见 .mp4 2.05G" A, G: v2 x7 @/ G* f
| └──5 代理的生成和链式调用流程 .mp4 2.34G r, K2 o) Q8 F
├──13 Spring源码
" b# [. I$ h9 T6 q* ?$ Q: }| ├──1 链式调用过程和AOP周边 .mp4 2.37G2 E8 H0 ^2 s% I2 R
| ├──2 spring的实战代码案例2之巩固AOP .mp4 2.39G K2 @( N, W2 z" h) B
| ├──3 spring的事务切面精讲1 .mp4 2.11G7 D3 m- D @% p$ y
| └──4 spring的事务传播属性精讲 .mp4 2.26G
! t: l+ g8 `) O% L7 b: K$ J├──14 Spring源码
9 H# _* c ` j$ o: {| ├──1 spring的事务传播属性精讲 .mp4 2.22G# \1 M, }( Y8 g" P- b/ @
| ├──2 缓存切面和异步切面 .mp4 2.32G
( E0 R; Y! i$ N; ^3 g& W| ├──3 缓存框架和springmvc零配置原理 .mp4 2.35G
4 Z) W' x2 D* f. a [( N| ├──4-1springmvc中请求的调用流程 .mp4 735.32M- I) D; j1 v" H% z2 Q
| ├──4-2 springmvc中请求的调用流程 .mp4 1.42G
; i) q# Y3 p" G- [/ t| └──5 JSON参数解析和视图响应 .mp4 2.08G8 A& R @7 A8 P9 W! T0 ?
├──15 Spring源码mybatis
1 H M0 j* Y2 B: @$ w. ]: P| ├──2 异常处理、拦截器和跨域问题 .mp4 2.43G: d! h l' K" e
| ├──3 springmvc实战、spring总流程归档 .mp4 2.24G
$ P0 ]( W& ~" h9 _% x| ├──4 spring总流程归档 .mp4 2.15G
% j- ]; P1 F9 |# E: \; E| ├──5 MyBatis开发重点知识 .mp4 1.02G
# z( M# d& \1 D- w2 f| ├──6 mybatis缓存使用和xml解析源码 .mp4 2.12G* ?1 Y" ~! b8 [' t: f7 {
| └──7 MyBatis开发重点知识 .mp4 856.80M& s( E4 ]# U1 ?6 r
├──16 MyBatis
: _9 f4 {( R g" D. z+ P Q0 S| ├──1 全局xml解析和mapper中sql的解析 .mp4 2.15G j1 K3 R4 j0 x; ~1 G' D
| ├──2 SQL的执行之Executor组件 .mp4 2.24G) q% a6 P9 Q' ~% k. o& ~* h
| ├──3 StatementHandler和ResultSetHandler组件 .mp4 2.30G3 o8 z7 H1 L: T& t- m5 i7 Z+ b$ v
| ├──4 mybatis中的缓存原理和懒加载原理 .mp4 2.24G
- Z6 O! D ?2 ^1 _7 `* [| ├──5 mybatis的plugin和跟spring的整合 .mp4 2.00G
% o3 r: Q4 \% B$ A| └──6 mybatis跟spring整合自定义分页等插件原理 .mp4 2.17G/ ]) j8 X4 ]& Q9 W# C1 M5 [
├──17 MySQL
7 q' o9 j6 E+ z. t9 H/ P| ├──1 自定义分页等插件及mybatis复习 .mp4 2.20G% h7 d$ _4 m/ U! f. E( d
| ├──2 全盘了解MySQL .mp4 2.36G
9 [9 Q1 ~4 ]+ _, j9 ~: r| ├──3 MySQL中表设计和数据类型优化 .mp4 2.06G
% N$ i2 z7 z i# P' W7 L7 a| └──4 高性能索引(一) .mp4 1.77G
- Z: f I- x- @8 Q0 p4 v├──17 分布式常见场景解决方案实战MongoDB进阶
8 E7 e0 G4 J3 J; @4 F| ├──1 session共享与单点登陆实战 .mp4 2.20G
: g: \" l' b/ Q% Y1 B| ├──2 分布式任务调度实战 .mp4 2.36G' ]' W& l3 o6 r; A
| ├──3 MongoDb综 .mp4 2.06G U0 ~0 N8 q# [- d
| └──4 MongoDb快速入门 .mp4 1.77G& W, I% }- L* ~; O6 D
├──18 MongoDB进阶
* R6 S* e. T3 V! K| ├──1 MongoDb查询进阶- .mp4 2.26G' ~) ]0 m' ^8 q( B/ q7 Q
| └──2 MongoDb操作进阶- .mp4 2.26G
: @0 S) {4 A3 D# a├──18 MySQL ) H7 Q7 D2 W7 |
| ├──1 高性能索引(二) .mp4 651.40M
; Y/ u' R$ s! l) a5 n( U" M6 U4 U| └──2 高性能索引(三) .mp4 2.26G+ t8 b5 i5 U0 s
├──19 MongoDB进阶spring源码分析 n8 _! i$ L; v! J/ _
| └──1 MongoDb高级进阶 .mp4 1.97G
* o1 r9 z/ W% m) V+ F# R├──19 MySQL
/ D; T" C A; d" C Y$ J' R: P| ├──1 MySQL性能优化(一) .mp4 1.97G
, K p$ H3 j6 U4 g| ├──2 MySQL性能优化(二) .mp4 2.15G
- z' \, T+ d/ {% ]) b8 v) G* a| ├──3 MySQL的底层执行原理(一) .mp4 1.92G! Q2 i- H0 }8 A ^
| └──4 MySQL的底层执行原理(二) .mp4 1.81G
$ d1 ?) b+ @3 g) M% w├──20 MySQL , D( h" s6 m4 z! ]
| ├──1 MySQL的底层执行原理(三) .mp4 1.67G+ t4 O) _& y- m& Y" B4 }
| └──2 InnoDB引擎底层解析 .mp4 1.69G+ D: I! o$ a3 ^* C$ _& O9 J
├──21 MySQL / Q1 |$ o1 W. `6 Y
| ├──1 InnoDB引擎底层解析 .mp4 967.41M0 y ^6 V0 `2 f A. Z
| ├──2 事务的原理和MVCC .mp4 806.35M" {8 W" _4 |: X5 U9 s. k
| ├──3 事务的原理和MVCC(二) .mp4 789.24M' L2 H' S# r+ x6 B6 t
| └──4 MySQL中的锁、面试题和实战那些事 .mp4 795.23M
% j" n/ L& u/ e├──21 spring5源码分析
. B! @: \/ m7 D$ |5 I, A| ├──1 循环依赖原理和Bean实例化大流程梳理- .mp4 1.75G3 j5 f$ z7 X' P! X/ `/ F
| └──2 @Bean@Import和bean的多例作用域- .mp4 1.55G @1 `) C0 S: B. f: Z
├──22 MySQLRocketMQ
: |# ^$ Y) i4 \, d' o; `4 m, L! ^| ├──1 MySQL中的锁、面试题和实战那些事(二)- .mp4 2.08G
q/ C6 K7 l; ?9 R+ [+ q9 ~0 n- H( I| ├──2 RocketMQ基础篇(上)- .mp4 1.90G% }% Y8 n: M) \- d L
| ├──3 RocketMQ基础篇(下)- .mp4 2.39G1 W* c! f2 T2 K8 d
| └──4 RocketMQ内部机制-存储设计- .mp4 2.07G
0 P1 W5 S( }* C- {. Z$ c! X1 o├──23 RocketMQ 2 O# \5 m/ W# r1 w0 c
| ├──1 RocketMQ内部机制-高可用机制- .mp4 2.00G6 g0 B8 v# {$ R# R+ |; h. n5 r5 n
| └──2 RocketMQ实战-异步结构与流量削峰- .mp4 2.15G
+ Z3 w0 v$ \( t) j├──24 RocketMQ 6 ?4 A7 l4 x: b* m4 h3 N
| ├──1 RocketMQ实战-限时订单与分布式事务- .mp4 2.24G
1 w; ]3 l" G* E6 G% i* O" X/ g| ├──2 RocketMQ源码分析-整体架构与NameServer- .mp4 2.13G
# d8 D% e- H: O7 f| ├──3 RocketMQ源码分析-Producer与Store- .mp4 2.02G
( W$ ~. p4 e7 T, |( u| └──4 RocketMQ源码分析-Consumer- .mp4 2.05G* ^* M4 j; H/ A8 k: F
├──25 Dubbo
% G; j( p: c) ~* i, e| ├──1 Dubbo源码探析--服务的暴露与消费过程- .mp4 2.02G" i) A3 M8 W& i% r* K% w
| └──2 Dubbo源码探析--服务的发布订阅过程- .mp4 2.02G
! T Q$ |$ a5 }( H( M- o- S6 Q├──回顾
7 M$ E( {6 F' g* v| ├──07 网络协议与Netty
. F9 F- a2 B3 f! X| ├──08 Netty高级进阶
9 G) m# `1 G6 v X; D7 P( k! `| ├──09 Tomcat系统进阶
3 b0 u" R$ p, B9 F| ├──13 Spring源码 : Y: m9 c- d! }! Z$ a& v) J
| ├──14 Spring源码 ' _" j$ Q& D7 t9 k* t
| ├──15 Spring源码2 o/ O; h: B+ K2 e, r+ r
| └──16 Redis高性能缓存数据库分布式常见场景解决方案实战
0 R2 e- {* ?# \├──回顾
# A- D( {3 X( y4 m; q$ I| ├──07 网络协议与Netty 3 U; T5 y f5 N! Q3 M
| | ├──02 深入学习Netty组件(1)- .mp4 623.23M
}; }, O* F( T+ t. W5 j. ~| | ├──03 TCP粘包,半包问题和Netty编解码器框架(1)- .mp4 1.13G
# J5 b, v! ^' b% V* |# t| | ├──04 序列化问题、实现UDP通信(1)- .mp4 1.67G8 M5 G" l$ ]* B L
| | ├──05 服务器推送技术-轮询、SSE和WebSocket(1)- .mp4 1.36G$ l4 T, j* I5 x! @
| | ├──06 基于Netty的WebSocket通信(1)- .mp4 1.91G/ o' z+ }* t; a3 v
| | └──07 基于Netty实现自己的通信框架(1)- .mp4 1.96G
$ n' h: V" M/ ~. S! g/ V, b| ├──08 Netty高级进阶 7 x8 y8 x6 H$ L: s* ^
| | ├──01 BIO和NIO的源码解析(1)- .mp4 2.03G7 P9 Y' }; H% G' Z% W- `' u
| | ├──02 Netty源码解析(一)(1)- .mp4 1.82G6 D2 m! f z m2 T
| | ├──03 Netty源码解析(二)(1)- .mp4 1.73G K- p4 a) L' S9 K! D$ E
| | ├──04 操作系统网络底层原理和源码(一)(1)- .mp4 1.49G
5 B2 \0 L! X( o7 R| | └──05 操作系统网络底层原理和源码(二)(1)- .mp4 2.00G: }% R V, p1 u% q/ U" g* M
| ├──09 Tomcat系统进阶
+ @) Z3 O8 W2 m" R| | ├──01 Tomcat源码解读(1) .mp4 1.98G
8 i2 @0 W: s' \3 m3 A2 l: @7 x| | └──02 Tomcat架构解析(1) .mp4 1.89G
: f S7 z! S9 I& r! s9 l* Y* s| ├──13 Spring源码 2 y8 w" Z7 Z& V) ^, l6 }; Q
| | ├──1 数据库事务和spring如何管理事务(1)- .mp4 2.37G
+ O |5 a: | ~3 V| | ├──2 spring事务的传播属性和隔离级别源码讲解- .mp4 2.39G
6 } `; i) m) z| | ├──3 事务隔离级别 cacheable缓存切面和异步切面- .mp4 2.11G
, E( W; q0 |5 C+ || | └──4 spring的实战代码案例2- .mp4 2.26G7 q% j- U+ E" C" `. B0 y) c( A
| ├──14 Spring源码 : s! t7 Q7 P& m7 K* z* O5 a; b g" W1 F
| | ├──1 零xml配置整合springmvc和嵌入式tomcat- .mp4 2.22G' \( b& ~6 C0 I: j
| | ├──2 springmvc请求响应核心调用流程和过滤器- .mp4 2.32G
. E6 {0 U3 _$ U/ A) a; G/ Y| | ├──3 特殊参数解析返回值解析视图渲染- .mp4 2.35G
2 x1 j. }" J5 c& h$ y8 N) {| | ├──4 spring&springmvc大总结- .mp4 735.32M2 N3 q _7 g5 ]6 K* d4 z
| | └──5 spring&springmvc大总结- .mp4 1.42G
. Y& [* j% p2 C6 s. j* C| ├──15 Spring源码
8 q7 p" v/ _4 g' b4 n" h2 v- u| | ├──1 静态视图、异常处理和拦截器- .mp4 2.23G
% l; f$ c! l8 u8 X, G| | ├──2 搞定RocketMQ消息存储及事务- .mp4 2.43G0 y6 @6 G# j$ D, Z H
| | ├──3 主从同步机制和与Spring整合- .mp4 2.24G
! l4 L0 c- N, e| | ├──4 RocketMQ限时订单实战- .mp4 2.15G
& E& {1 W7 `+ T1 V- \% W( C| | ├──5 RocketMQ源码解析- .mp4 1.02G
% W3 B5 }- B1 D% c2 @* p! w| | ├──6 Redis从入门到狂澜- .mp4 2.12G& ~# F" l9 }) i) N0 `
| | └──7 RocketMQ源码解析- .mp4 856.80M1 c% ~3 g4 [$ _ j7 I& ~
| ├──16 Redis高性能缓存数据库分布式常见场景解决方案实战 & G: v% D7 N8 ]; F
| | └──1 BAT常见Redis场景设计实战- .mp4 2.15G
8 C' M. o9 F$ _- f! Y4 Q: \| ├──3 spring的实战代码案例1(1)- .mp4 2.17G$ B" m( N8 ^* ~4 _) }
| ├──4 aop入口及aop中的各种advice和advisor(1)- .mp4 2.05G* T8 O J8 v% ]0 h/ {0 L
| └──5 AOP链式调用过程和cglib动态代理(1)- .mp4 2.33G
7 S2 y3 r3 j0 w8 g, L) Q& @├──资料
; [5 j' V. r5 G* J( K' r| ├──3.16 .zip 1.74G
" Z6 y; O5 p5 B2 E| ├──5.11 .zip 173.87M
4 D" O, `: a& E9 w. m% s| └──资料(Java-vip) .zip 585.04M
$ L b$ l( C0 }$ p0 k* t├──Java高级进阶面试题目_享学课堂 .pdf 3.93M7 Q$ ^( t8 p+ z$ P: s
├──第三期课程(Java-vip) .zip 1.46G
2 H. O S* s( ?' o: i└──享学首创年薪80W+对标P7岗架构师成长路线V7.0 .png 1.81M
$ j! i! S) F% F8 n* _
v9 ?; i( i5 ?
L, k+ a- @' y0 Z9 j
% H& u9 F" M$ f# o3 I2 q; ?. T2 M永久至尊VIP回复即可下载学习,非至尊VIP暂不支持下载此资源!& U/ A9 Q4 _# Q- ^+ X' g4 D5 Y" `' A8 I
6 Q' j% `/ e+ }, |
; V }, ^, O6 J/ }: y0 F4 R% G* z |