标签:ons github tps 内存模型 hash 练习 集群 net param
补充些网站:
———————————以下原文———————————
可以参考从这几方面来看Java:
JVM
Java JVM:总结 · Issue #63 · pzxwhc/MineKnowContainer
垃圾算法和垃圾收集器相关
内存相关
多线程
记忆方法:产生的原因(内存模型)--> 解决的办法(synchronized,Lock,Condition,volatile,ThreadLoad,AtomicInteger,CAS)--> 优化(生产者消费者模式(从源头分析),Condition)
集合
记忆方法:Collection系列(当你分析他们的原理 ArrayList,LinkedList,Vector 作为一类记比较好),Map系列(HashMap,HashTable,ConcurrentHashMap作为一类记)
IO
记忆方法:重点理解 IO模型(阻塞式IO,非阻塞式IO,IO复用,信号驱动IO,异步IO)理解了这些,会有助于理解 NIO,AIO。另外,需要知道 设计模式中的装饰器模式,会比较好理解Java的IO包。
小知识点
个人觉得 Java 大体上可以切分为上面4个大部分。但其实还会有很多小知识点。比如说
==============
看书
这些书 都是 Java 领域比较有名的书了,分别再从 虚拟机,多线程,一些小的要注意点等方面进一步提高自己的Java能力。
==============
看框架代码
Spring 系列的一些:
SpringMVC 系列的一些:
还有:
==============
最后,结合工作
本人工作经验是比较欠缺的,这部分估计得老师傅带路了。
我个人理解的是:
如果没有工作,那么可以:
如果有工作:
List<Account> accounts = accountRepo.findAccountsByEntityCode(entityCode); if(accounts != null) { //如果不是叶子节点,那么重新计算 accounts .parallelStream() .filter(param -> { AccountType accountType = accountTypeService.findAccountTypeById(param.getAcctCode()); if(StringUtils.isEmpty(accountType.getIsLeaf())){ if("0".equals(accountType.getIsLeaf())){ return true; } else { return false; } } else { return true; } }) .forEach(param -> getAccount0(param)); }
定义 ArrayList 的时候,就不要这样子了:
List<Object> list = new ArrayList<>();
而是先估算容量大小,这样子(估算不出那就算了):
List<Object> list1 = new ArrayList<>(10);
==============
最后,问老师傅一个问题:公司项目不足的情况下(也就是项目不咋地),如果不考虑跳槽,该怎么更好的提升自己的经验(而不是纸上谈兵)?(此处有一可怜的表情...)
知乎:https://www.zhihu.com/question/19851109
https://github.com/waylau/essential-java
标签:ons github tps 内存模型 hash 练习 集群 net param
原文地址:http://www.cnblogs.com/wicub/p/6416848.html