UML类图
https://my.oschina.net/jackieyeah/blog/224265
HSF原理
https://blog.csdn.net/qq_16681169/article/details/72512819
https://blog.csdn.net/loongshawn/article/details/73903709 (为啥不用HTTP实现RPC)
RPC框架原理
https://www.jianshu.com/p/362880b635f0
metaq
https://my.oschina.net/fileoptions/blog/885874
https://kgyhkgyh.gitbooks.io/rocketmq/content/
https://www.cnblogs.com/wxd0108/p/6054817.html
https://zhuanlan.zhihu.com/p/25069846
scala
https://www.jianshu.com/p/d527bd8e5472
https://www.jianshu.com/p/92a9877996ed
https://github.com/pengfen/learn/blob/master/scala/%E3%80%8A%E5%BF%AB%E5%AD%A6Scala%E3%80%8B%E5%AE%8C%E6%95%B4%E7%89%88%E4%B9%A6%E7%B1%8D.pdf
Haskell
http://learnyouahaskell.com/chapters
orclae sql性能查询:
http://happyqing.iteye.com/blog/1937009
--查看占io较大的正在运行的session
SELECT * from v$session s
JOIN
(
SELECT se.sid,se.serial#,pr.SPID,se.username,se.status,
se.terminal,se.program,se.MODULE,se.sql_address,st.event,st.p1text,si.physical_reads,
si.block_changes FROM v$session se,v$session_wait st, v$sess_io si,v$process pr WHERE st.sid=se.sid
AND st.sid=si.sid AND se.PADDR=pr.ADDR AND se.sid>6 AND st.wait_time=0 AND st.event NOT LIKE '%SQL%' ORDER BY physical_reads DESC
) t
on s.sid = t.sid
and s.machine = 'xxxx.center.et2'
--查询阻塞sql
SELECT * FROM v$session si
JOIN v$session_wait st
on st.sid=si.sid
and machine = 'xxxxx.center.et2'
join v$sqlarea sa on sa.ADDRESS = si.SQL_ADDRESS
--历史阻塞sql查询
SELECT * FROM v$active_session_history his
join v$sqlarea sa
on sa.sql_id = his.sql_id
and his.sample_time > TO_DATE('2018-05-24 09:49:00','yyyy-MM-dd HH24:mi:ss')
and his.sample_time < TO_DATE('2018-05-24 09:50:00','yyyy-MM-dd HH24:mi:ss')
and his.machine = 'xxxxx.center.eu13'
LEFT JOIN v$session_wait st on st.sid = his.session_id
ORDER BY his.sample_time desc
注解实现策略模式(牛逼的方式)
https://blog.csdn.net/u012124438/article/details/70039943
redis事务
https://www.cnblogs.com/jabnih/p/7118254.html
ZooKeeper
Znode:
https://blog.csdn.net/lihao21/article/details/51810395
分布式锁:
https://blog.csdn.net/xiaoliuliu2050/article/details/51226237
watch机制:
https://blog.csdn.net/qianshangding0708/article/details/50084155
https://qinzhaokun.github.io/2017/07/12/zookeeperWatch%E6%9C%BA%E5%88%B6/
netty
https://blog.csdn.net/excellentyuxiao/article/details/53390408
http://www.infoq.com/cn/articles/netty-threading-model
java10
http://www.infoq.com/cn/news/2018/03/Java-10-new-features
java8: lambda,stream流处理
java9: HTTP/2
java10: var
### 重量级锁、自旋锁、轻量级锁和偏向锁,自旋锁、轻量级锁与偏向锁属于乐观锁
https://blog.csdn.net/zqz_zqz/article/details/70233767
自旋锁: 尽可能的减少线程的阻塞,这对于锁的竞争不激烈,且占用锁时间非常短的代码块来说性能能大幅度的提升,因为自旋的消耗会小于线程阻塞挂起再唤醒的操作的消耗,这些操作会导致线程发生两次上下文切换!
重量级锁: Synchronized,非公平锁
偏向锁: 只有遇到其他线程尝试竞争偏向锁时,持有偏向锁的线程才会释放锁恢复到轻量级锁,线程不会主动去释放偏向锁。
轻量级锁: 是由偏向所升级来的,偏向锁运行在一个线程进入同步块的情况下,当第二个线程加入锁争用的时候,偏向锁就会升级为轻量级锁
网友评论