Java互联网架构师系统进阶课程(三期VIP)
4 G( I- V9 P' `2 E/ { c! `├──01JVM性能调优
) W% p7 W5 z0 Y( p6 h8 E| ├──01 虚拟机的前世今生和Java内存区域(1) .mp4 758.12M
7 n: A1 j8 V5 S4 k3 H" j- L| ├──02 深入理解Java内存区域(1) .mp4 835.55M
( w1 Y& o) Q/ J. I| ├──03 玩转JVM中的对象及引用(1) .mp4 848.04M
8 r: }0 ~* g8 |2 h- `% L$ {| ├──04 分代回收机制及垃圾回收算法(1) .mp4 762.68M* O3 ~3 s+ c5 B
| ├──05 JVM面试“核武器”JVM底层细节(1) .mp4 695.74M
) G$ Z- _( y8 B| ├──06 Class文件结构及深入字节码指令(1) .mp4 942.99M- x- B; N( k; c
| ├──07 类加载机制与类加载器(1) .mp4 995.21M; n. _$ c& h2 L, B1 W- m) \
| ├──08 方法调用的底层实现(1 .mp4 1.01G1 \- }9 x) H! L4 i9 f( a
| ├──09 Java语法糖及实现(1) .mp4 849.83M
( }+ C# U) _1 @! B4 L+ K6 v| └──10 GC调优基础知识之工具篇(原生+Arthas)(1) .mp4 1.23G: i+ J: x& |. N# ?* q
├──02 JVM性能调优
# v: [9 d2 ?8 I& y L* C| ├──01 GC调优基础知识之工具篇(原生+Arthas)(2) .mp4 1.14G5 O9 J" n h0 g; T. _4 c( b
| ├──02 JVM调优实战之CPU占用过高(1) .mp4 1.58G1 y3 ~ U/ h8 j" q
| ├──03 JVM性能调优之预估调优与问题排查(1) .mp4 1.02G
9 l, G: u* R5 J+ U' z* ?| ├──04 玩转MAT,分析内存泄漏(1) .mp4 996.10M# N. S' E. D* F7 C* k6 _
| ├──05 直接内存与JVM源码分析(1) .mp4 1.25G
: `+ \! b: A) X% Z7 q3 Q* || └──06 JVM之大结局(1) .mp4 996.79M& J" X$ |' ~% X
├──03 并发编程
q8 f3 F: C% c! a" z% ~| ├──01 java线程的本质、线程模型(1) .mp4 1.04G
4 M0 c$ K( T8 p' v| ├──02 java线程run方法的本质(1) .mp4 1.19G: I: U( _" B4 y |& @& R8 T
| ├──03 synchronized关键字得原理分析一(1) .mp4 1.19G3 R$ z. z8 {$ S4 K
| ├──04 synchronized关键字原理—锁的膨胀(1) .mp4 1.51G
3 l. g2 K+ u/ `| ├──05 synchronized关键字原理-锁的膨胀过程(1 .mp4 1.88G; s) D( q2 N4 V* Q
| ├──06 synchronized关键字原理-锁的膨胀过程二(1) .mp4 1.22G, `+ Z' v2 K: {' {( G. t
| ├──07 synchronized关键字原理-锁的膨胀过程三(1) .mp4 1.29G* [ w* L1 C0 j0 s$ T- J# t5 |
| ├──08 synchronized关键字的使用和优化(1) .mp4 1.13G+ s& }1 i2 i8 a3 z" M1 y" R3 U: Q
| └──09 ReentranLock 的基本使用和设计模式(1) .mp4 1.05G: x3 N7 j+ e0 L5 v$ N1 ?; t: F
├──04 并发编程
8 z- h5 I3 [ B! r) p# b4 P| ├──01 aqs框架的源码分析(1) .mp4 1.28G% H1 q! j2 s$ \+ c
| ├──02 ReentrantLock解锁流程和读写锁源码(1) .mp4 1.06G$ n$ Z( `% }' B) v1 w
| ├──03 aqs之读写锁原理分析(1) .mp4 1.16G4 Y1 Z( J+ y9 N0 b* R) n
| ├──04 juc工具类的使用和原理(1) .mp4 1.23G
& ~9 Y$ J. s, V3 ^" V| ├──05 模拟线程池的原理实现(1) .mp4 1.19G& B! {7 [) r( | S4 b
| ├──06 ThreadPoolExecutor线程池(1) .mp4 1.17G0 H7 l3 t3 v( p: D. s
| ├──07 线程池源码分析(1) .mp4 1.35G D( Q/ ^. t( [2 u4 U O: s& x
| ├──08 如何解决JAVA的有序性和可见性(1) .mp4 946.77M! p% c; d$ a- J8 F' J" @! [
| ├──09 如何理解JAVA的内存模型(1) .mp4 977.11M
; h8 t. B$ {7 @/ F| └──10 currenthashmap源码分析(1) .mp4 1.35G
/ ?8 k/ u" M- Q! ~├──05 并发编程网络协议与netty
' U6 c$ f7 Z( L3 O" a0 |" e: [| ├──01 forkjoin线程池得原理和应用(1) .mp4 898.41M# y& r* s, B8 T! J, M
| ├──02 网络协议和常用网络工具(1) .mp4 1.03G
7 G4 I/ z' ]0 a8 M% Q% D, Q| ├──03 Java原生网络编程(1) .mp4 1.30G
2 N1 D% \ J: U& p p3 || ├──04 Java原生网络编程2(1) .mp4 1.76G
3 p! u# f# [: a d4 k| ├──05 Java原生网络编程3(1) .mp4 1.65G
. v: G/ i; K8 y$ t ?0 K| └──06 Netty基础入门和应用(1) .mp4 1.78G- m2 ~6 F1 s8 C
├──06 网络协议
4 H9 m6 [; k4 R8 z$ w4 J4 B| ├──01 Netty基础入门和应用2(1) .mp4 1.77G
0 x1 l" |% c0 Y- E| ├──02 Netty基础入门和应用3(1) .mp4 1.57G8 I7 b$ Y4 @9 I1 I6 c0 C
| ├──03 Netty基础入门和应用4(1) .mp4 2.27G9 w; v4 K3 D1 w# q
| └──04 Netty进阶和实战(1) .mp4 1.29G
. b9 c% w/ g. w' V( S% @! w├──07 网络协议与Netty
/ z( t- J$ N$ z4 l: J| ├──01 Netty进阶和实战2(1) .mp4 1.64G
7 ]' ?( [( g! @8 ~9 N1 P| ├──02 Netty进阶和实战3(1) .mp4 1.89G
9 \; o1 r( n7 r, B* _| ├──03 Linux和JDK对网络通信的实现(1) .mp4 1.13G
+ J) u, r1 K) T# d3 X% r1 p* E4 o' E| ├──04 Linux和JDK对网络通信的实现2(1) .mp4 1.67G
4 Z* E2 P4 Y, a! s5 T. M| ├──05 Linux和JDK对网络通信的实现3(1) .mp4 1.36G- V" q9 V7 A4 v+ L
| ├──06 Linux和JDK对网络通信的实现4(1) .mp4 1.91G, E# d4 m$ S' W7 y: p
| └──07 Netty源码解析(1) .mp4 1.96G
! w7 B+ }$ a( y$ u" P├──08 网络协议与NettySpring源码
. K! r/ I* ~; j- L. k| ├──01 Netty源码解析2(1) .mp4 2.03G
: @! W( v/ ?% K+ R4 Y0 M| ├──02 Netty源码解析3(1) .mp4 1.82G
+ i2 q) W, h$ V+ n| ├──03 Netty源码解析4(1) .mp4 1.73G
6 i6 X( ]* V; @0 |) Z| ├──04 Netty源码解析5(1) .mp4 1.49G$ A3 a3 i* l" b, t% C* w
| └──05 spring源码编译和xml解析(1) .mp4 2.00G( ~% k8 W. p9 i
├──09 Spring源码
7 P6 |' V1 M2 D2 F8 H| ├──01 BeanDefinition和默认标签、自定义标签解析(1) .mp4 1.89G
/ b U. n' G I+ b( q2 w) V| ├──02 component-scan标签解析和bean实例化初探(1) .mp4 1.98G0 X* G+ _, {& U$ S% ]
| ├──03 BeanPostProcessor和Bean实例化初探(1) .mp4 2.07G
2 S' K/ }8 Q) U8 u; T! b| └──04 bean的实例化和注解的收集(1) .mp4 2.11G. _7 ~) D# ?$ [
├──10 Spring源码 $ y" Q, S+ }9 R0 l: o8 a
| ├──1 @Autowired@PostConstruct@PreDestroy注解(1) .mp4 1.95G$ t" k3 Q" s4 V; p, }- A
| ├──2 spring中循环依赖详解(1) .mp4 1.90G
, H8 O9 Q9 _+ F( ~; H) A| └──3 spring中配置文件解析和Environment对象 .mp4 2.11G
* \, u$ l h- m7 _- r├──11 spring源码
+ M7 T+ ?. g4 H| └──自定义scope和factoryBean接口(1) .mp4 2.08G! v) \+ f! U9 f
├──12 Spring源码 + \( G6 k* f& G+ T3 C! y. l) [
| ├──1 ConfigurationClassPostProcessor类源码(1) .mp4 2.07G# x% p5 w0 l( ~- i3 e# S; }9 l1 }$ G6 O
| ├──2 ConfigurationClassPostProcessor类源码2(1) .mp4 2.05G' x# |( Z x- C" b' W, S% a
| ├──3 spring的实战代码案例1及AOP基础 .mp4 2.17G
. r# W) b# S, k" L| ├──4 动态代理和AOP的初见 .mp4 2.05G
* K$ q8 R9 f( P6 a/ h| └──5 代理的生成和链式调用流程 .mp4 2.34G; N2 K) C3 q+ l) g
├──13 Spring源码
' W' k8 G0 @# N| ├──1 链式调用过程和AOP周边 .mp4 2.37G
; d9 L! _" C0 g| ├──2 spring的实战代码案例2之巩固AOP .mp4 2.39G# c% [! y5 u( A. V1 P
| ├──3 spring的事务切面精讲1 .mp4 2.11G$ _! t+ I2 n- B- Z
| └──4 spring的事务传播属性精讲 .mp4 2.26G. [! O( l! E2 H$ i
├──14 Spring源码 : v, `1 K2 X& F. R1 u2 @2 A, `: T
| ├──1 spring的事务传播属性精讲 .mp4 2.22G' [, _ F& \8 ^# u1 x) j( C2 a
| ├──2 缓存切面和异步切面 .mp4 2.32G
8 @; ^: P/ a4 H! X6 b$ t| ├──3 缓存框架和springmvc零配置原理 .mp4 2.35G
2 ^, ^# B* `) F5 z. r| ├──4-1springmvc中请求的调用流程 .mp4 735.32M
7 L! k- V7 E" ~- Y0 C4 Y5 [& M| ├──4-2 springmvc中请求的调用流程 .mp4 1.42G
0 v9 j$ z+ {) h| └──5 JSON参数解析和视图响应 .mp4 2.08G6 {1 N5 U5 o3 p5 S5 g: H
├──15 Spring源码mybatis 7 N' p4 }5 g+ \* W
| ├──2 异常处理、拦截器和跨域问题 .mp4 2.43G
9 |! k( T8 ]# _ V l/ h2 I| ├──3 springmvc实战、spring总流程归档 .mp4 2.24G) S) `# c# O. ~" r6 O @" O/ T
| ├──4 spring总流程归档 .mp4 2.15G& e' W" w! _# V
| ├──5 MyBatis开发重点知识 .mp4 1.02G" H/ z+ C; J- Q* ^" f0 W
| ├──6 mybatis缓存使用和xml解析源码 .mp4 2.12G
8 o! U* `5 m* H8 |" h+ V| └──7 MyBatis开发重点知识 .mp4 856.80M# O& Q1 Q: B! y* u0 m! o2 O3 O' B Y
├──16 MyBatis
1 n0 Y& Q0 F ~0 r1 p7 U8 F% `| ├──1 全局xml解析和mapper中sql的解析 .mp4 2.15G! {# ?0 J( m7 e" O; U
| ├──2 SQL的执行之Executor组件 .mp4 2.24G G6 o( v i' ?/ r+ `
| ├──3 StatementHandler和ResultSetHandler组件 .mp4 2.30G
. J# b8 F6 E9 M$ k1 y4 L+ G) p| ├──4 mybatis中的缓存原理和懒加载原理 .mp4 2.24G+ x, x* L; ~& }( P& L* Z
| ├──5 mybatis的plugin和跟spring的整合 .mp4 2.00G' ^4 }7 H( p8 b) k
| └──6 mybatis跟spring整合自定义分页等插件原理 .mp4 2.17G5 t/ i; P5 p7 p% f: H6 ?) U
├──17 MySQL
0 w2 Z" ?6 n& h3 K$ |' q0 I| ├──1 自定义分页等插件及mybatis复习 .mp4 2.20G: r# C. |: T& h; {
| ├──2 全盘了解MySQL .mp4 2.36G
! }8 I- T7 c: x! l, _% ]/ ~! d9 A| ├──3 MySQL中表设计和数据类型优化 .mp4 2.06G
' X- L, H2 u- W! k| └──4 高性能索引(一) .mp4 1.77G
: p5 I4 F# d v3 B0 ?├──17 分布式常见场景解决方案实战MongoDB进阶
7 O" t: t/ x; Z| ├──1 session共享与单点登陆实战 .mp4 2.20G; n; T- J) y9 m( b) y
| ├──2 分布式任务调度实战 .mp4 2.36G
" t b A4 ~1 A! Z% K| ├──3 MongoDb综 .mp4 2.06G
- v/ L' O4 c2 ^8 [0 H% R9 @| └──4 MongoDb快速入门 .mp4 1.77G
% u0 N9 r C8 l: J) R% _5 \├──18 MongoDB进阶
- g: d* O3 R0 ^& w# |5 T l2 U9 G3 ~| ├──1 MongoDb查询进阶- .mp4 2.26G
1 \, l. k* `+ N6 J2 {) U- Z; E- ^/ K4 Y| └──2 MongoDb操作进阶- .mp4 2.26G# a5 D0 @2 ^$ _, s
├──18 MySQL
* h" M/ s, d: \ C8 s+ e! F| ├──1 高性能索引(二) .mp4 651.40M/ `+ [8 {+ e3 [9 T; h* _+ |; B
| └──2 高性能索引(三) .mp4 2.26G2 J6 L- y4 m( j, O( ~' V! d: \0 D
├──19 MongoDB进阶spring源码分析 * f1 L1 p6 v8 T' Q6 l
| └──1 MongoDb高级进阶 .mp4 1.97G. G' Q9 S) q7 [" z) y6 w
├──19 MySQL
7 t2 Y9 f2 P8 o! y| ├──1 MySQL性能优化(一) .mp4 1.97G
" b/ v9 D1 Z. \6 n| ├──2 MySQL性能优化(二) .mp4 2.15G8 [3 g8 z3 A& g9 E8 K/ h
| ├──3 MySQL的底层执行原理(一) .mp4 1.92G" Z1 Q2 C) `" z: D
| └──4 MySQL的底层执行原理(二) .mp4 1.81G& r6 `- G6 L* U: V* h: j
├──20 MySQL
6 X' g4 h# s1 h| ├──1 MySQL的底层执行原理(三) .mp4 1.67G9 M' W- P( |' [3 ~: ?
| └──2 InnoDB引擎底层解析 .mp4 1.69G1 T, ^9 f4 k6 q5 t) Y& _9 _( ^& D9 |
├──21 MySQL
- G) G/ h% v. s# I/ l| ├──1 InnoDB引擎底层解析 .mp4 967.41M
* B, E l& I) b5 g2 {4 v| ├──2 事务的原理和MVCC .mp4 806.35M7 Q& f# A* d& B' U' K
| ├──3 事务的原理和MVCC(二) .mp4 789.24M
- ~8 i3 G$ c3 r( [( D| └──4 MySQL中的锁、面试题和实战那些事 .mp4 795.23M
! W5 P2 W! D0 A3 z! Y/ {├──21 spring5源码分析
& X* P* ]% s; d$ s6 _# [$ `" J| ├──1 循环依赖原理和Bean实例化大流程梳理- .mp4 1.75G0 A% K1 R, U6 T& P
| └──2 @Bean@Import和bean的多例作用域- .mp4 1.55G: D7 {0 X0 O) M( A- Y
├──22 MySQLRocketMQ
5 }) c, m8 E+ L- r1 Q9 O| ├──1 MySQL中的锁、面试题和实战那些事(二)- .mp4 2.08G
2 |& h0 G+ y* N+ g0 ^. Z8 Y| ├──2 RocketMQ基础篇(上)- .mp4 1.90G3 K( Z3 }6 T# V' q
| ├──3 RocketMQ基础篇(下)- .mp4 2.39G3 M. k4 g0 [) P: F3 k; n2 w& C. `$ ]
| └──4 RocketMQ内部机制-存储设计- .mp4 2.07G
, M ]- c7 a1 v: g# h├──23 RocketMQ
, M* a- W8 k9 f. b| ├──1 RocketMQ内部机制-高可用机制- .mp4 2.00G
7 L8 H3 g; T) {. l2 Z% J| └──2 RocketMQ实战-异步结构与流量削峰- .mp4 2.15G0 k6 M- S1 Y( p5 ~; N3 R
├──24 RocketMQ
/ z0 n2 Q6 g& E3 _1 \* J| ├──1 RocketMQ实战-限时订单与分布式事务- .mp4 2.24G0 Z9 m; `( h( \/ t2 o2 E. y/ L2 A1 Y
| ├──2 RocketMQ源码分析-整体架构与NameServer- .mp4 2.13G
; z* u% q; x/ Z# x' u| ├──3 RocketMQ源码分析-Producer与Store- .mp4 2.02G
# Z. |+ f8 A# \' M" h| └──4 RocketMQ源码分析-Consumer- .mp4 2.05G A8 Q" Q* t0 d& X
├──25 Dubbo : n+ i. E" v }& U3 n1 I; Y5 B
| ├──1 Dubbo源码探析--服务的暴露与消费过程- .mp4 2.02G
" D5 m1 U6 P% X# O& r| └──2 Dubbo源码探析--服务的发布订阅过程- .mp4 2.02G
1 X; ]4 j5 v0 Y5 }" c├──回顾
1 F0 N* \8 q* j! T9 J2 w/ a| ├──07 网络协议与Netty " a( [ j; s; ~' c" ?$ r
| ├──08 Netty高级进阶 % w- U4 o) h7 `! K
| ├──09 Tomcat系统进阶 * b# S$ b" X9 l! K9 A
| ├──13 Spring源码 + n0 U# a. M: }, I6 i) o- W7 f. _; U
| ├──14 Spring源码
& k* x2 M! J5 J, o! k4 R7 ^' {| ├──15 Spring源码* P) L) }8 f h
| └──16 Redis高性能缓存数据库分布式常见场景解决方案实战. B0 G/ c* C0 W: A5 \
├──回顾+ n3 Q% [( r( z) F0 K. r7 ^7 I. F) S; |/ Z
| ├──07 网络协议与Netty
& ^. u. V& U7 }$ C5 }- ~7 E, j| | ├──02 深入学习Netty组件(1)- .mp4 623.23M
3 w& D6 O! \+ b% a* v' n$ o2 s| | ├──03 TCP粘包,半包问题和Netty编解码器框架(1)- .mp4 1.13G
& s! a6 ?- z6 {5 m| | ├──04 序列化问题、实现UDP通信(1)- .mp4 1.67G, T/ A7 V4 T2 Q
| | ├──05 服务器推送技术-轮询、SSE和WebSocket(1)- .mp4 1.36G, n; S _1 }; R1 {8 i
| | ├──06 基于Netty的WebSocket通信(1)- .mp4 1.91G8 _6 c8 u& l' \
| | └──07 基于Netty实现自己的通信框架(1)- .mp4 1.96G
, ]7 D* d1 b. \1 X| ├──08 Netty高级进阶 " I- r6 F4 A8 q, ^' A
| | ├──01 BIO和NIO的源码解析(1)- .mp4 2.03G
/ W% h3 J$ Q: T| | ├──02 Netty源码解析(一)(1)- .mp4 1.82G
) W3 ^6 P3 u5 y' _0 }| | ├──03 Netty源码解析(二)(1)- .mp4 1.73G
/ D8 P7 H7 B8 `! d| | ├──04 操作系统网络底层原理和源码(一)(1)- .mp4 1.49G4 L m0 ^( b; D
| | └──05 操作系统网络底层原理和源码(二)(1)- .mp4 2.00G
, ]1 ~, K) p! C% o| ├──09 Tomcat系统进阶
1 E8 _) B: ?/ Q) m0 i" d| | ├──01 Tomcat源码解读(1) .mp4 1.98G3 o1 M8 A. O" y1 h1 I# q
| | └──02 Tomcat架构解析(1) .mp4 1.89G
' I/ H1 {7 C0 G| ├──13 Spring源码
- X9 ?' r3 A- Q7 E| | ├──1 数据库事务和spring如何管理事务(1)- .mp4 2.37G
* g! V6 p' P s# j) s| | ├──2 spring事务的传播属性和隔离级别源码讲解- .mp4 2.39G
) j* a7 F: ~% P5 N2 Y/ d# s; s$ || | ├──3 事务隔离级别 cacheable缓存切面和异步切面- .mp4 2.11G- e$ |1 k7 H/ O8 D% ~( O& x
| | └──4 spring的实战代码案例2- .mp4 2.26G
0 S( H; W; h: [5 v& b) U| ├──14 Spring源码 9 I" ]# [+ c; m( y8 U% U
| | ├──1 零xml配置整合springmvc和嵌入式tomcat- .mp4 2.22G1 {$ [% X/ K6 ?# B+ q
| | ├──2 springmvc请求响应核心调用流程和过滤器- .mp4 2.32G
7 n( l9 i" w. ]/ M( v| | ├──3 特殊参数解析返回值解析视图渲染- .mp4 2.35G
8 u6 \9 O8 n- A' G| | ├──4 spring&springmvc大总结- .mp4 735.32M' b+ _3 F0 ~/ a* }
| | └──5 spring&springmvc大总结- .mp4 1.42G
$ I& H+ `6 z: {$ n# f" Q+ E| ├──15 Spring源码
3 o& Q2 o/ }: j$ B1 }+ T! b8 K: \| | ├──1 静态视图、异常处理和拦截器- .mp4 2.23G
) u2 K- L+ u- O8 [( w| | ├──2 搞定RocketMQ消息存储及事务- .mp4 2.43G4 c6 E" j0 [0 y. E8 D; a& ~' _
| | ├──3 主从同步机制和与Spring整合- .mp4 2.24G9 ^/ ?% j B# [+ g' ^( d4 i% r0 [
| | ├──4 RocketMQ限时订单实战- .mp4 2.15G
3 z1 b* s' K3 }9 _4 i- v0 ?3 h7 u4 w| | ├──5 RocketMQ源码解析- .mp4 1.02G
5 ^) k4 R$ ^" W| | ├──6 Redis从入门到狂澜- .mp4 2.12G' y5 b9 J6 v' i' C
| | └──7 RocketMQ源码解析- .mp4 856.80M6 C+ X' {' g8 a1 k
| ├──16 Redis高性能缓存数据库分布式常见场景解决方案实战 9 g' {. [7 v& n' R5 l' Y
| | └──1 BAT常见Redis场景设计实战- .mp4 2.15G) F+ H5 O; I& m' [- S/ d, O) v5 G
| ├──3 spring的实战代码案例1(1)- .mp4 2.17G% M4 z' I% h' t: `( U' s
| ├──4 aop入口及aop中的各种advice和advisor(1)- .mp4 2.05G
2 h k% ]2 d( N( x| └──5 AOP链式调用过程和cglib动态代理(1)- .mp4 2.33G D9 d x' e1 r, W- O# _9 ~
├──资料 q: K* @9 o7 k$ T; l, @3 u
| ├──3.16 .zip 1.74G
# {8 l3 }, u0 N) G* @2 p| ├──5.11 .zip 173.87M, u7 a% o: K/ D9 E
| └──资料(Java-vip) .zip 585.04M
" X; V% B! L, ?├──Java高级进阶面试题目_享学课堂 .pdf 3.93M
& b( l. R0 ?3 ?$ P% r├──第三期课程(Java-vip) .zip 1.46G
! w6 k: p. z$ S" N5 j( k& i5 t└──享学首创年薪80W+对标P7岗架构师成长路线V7.0 .png 1.81M( ^% r L/ X0 V# m6 Z7 [& v* c3 N/ x
! L& G* Q- ^" P$ f, j
& W; P) `' s+ }1 X3 G! M# i. {
3 v J4 h' D: O8 u永久至尊VIP回复即可下载学习,非至尊VIP暂不支持下载此资源!% v6 Y. s% K4 `
, z$ g0 k3 N& G: s$ `: }
0 K7 Y) I# i# f z* t% @ |