只是初步看了可以看到的几个章节,感受到了特别有深度。地址在这里:https://time.geekbang.org/column/intro/82
非常推荐各位搞Java的都学习一下~ 说个简单的例子,字符串的拼接,String s = "aa" + "bb" + "cc";JDK是1.8, 编译后会优化为String s = "aabbcc",通过反编译class文件看到的,如果不去深究里面的细节,肯定不会知道。
我以前一直觉得能干好工作就行了,不要太注重细节,也从来没有深入学习过Java,对于java底层的知识还停留在听说的阶段。听说JVM有几代,tomcat多分点内存,有不会的百度下就好了,肯定有人遇到过,并且把答案以博客的形式放在那里......
所以,心态一直是和尚敲钟过一天算一天的态度,靠着这种心态行走江湖,换了几份工作,前两次还涨点,后面真之工作不好找~~~,7月份换工作,遇到了各种有深度的面试,已经感受到了中年危机带来的痛苦~30就已经中年危机了。。。中年危机这四个字从面试者的嘴里说出来的时候,我真的好难过,这么几年的时间,都在干嘛。
我从2012年开始到现在也有6年的Java开发经验了,去面试,都是按照技术专家的要求来面试的。这么多年一直在完成工作,没有深入的学习,真是一年经验用了六年。被面的很惭愧。。。
囧事:
1、一上来就问线上出现了JVM异常,该怎么处理?what?应用死了,重启下不就完事儿了。
2、MySQL慢了怎么解决?索引的原理,怎么判断索引加的好不好?what?我哪知道,反正每次只要出现查询慢了的情况,就加索引,加完不就完成工作了,至于有没有效果,好像都没去验证过,领导问起来,就说索引已经加了。
3、你们系统每天pv、uv有多少,有多大qps,支持多大并发?啥,不知道,不清楚呢,我功能完成了就结束了,多少qps和并发都是测试和运维在搞。。。
4、面试官问:你都做过啥比较有特点的功能,说一说?答:xxx管理功能、xxx管理功能。。。面试官:哦,都是CRUD是吧? 答:嗯嗯,基本上算是的吧。。。但xx功能我用到了线程池,就是那个Executors,很好用的。 面试官:哦哦,那你说一下都有哪几种线程池? 答:我网上复制的代码,反正很好用的。。。
。。。。。。
加油~