身为一个java程序员首先你需要是熟练掌握java基础部分的知识以及javaEE企业级架构应用的开发,并且能够熟练掌握常用的几类流行java框架,掌握这些框架的底层原理,并且能够快速搭建框架。也要懂得一些池技术,了解什么是对象池,如何解决高并发问题,数据库连接池,线程多线程的应用问题等。
java写框架的时候还有一个必要的技术,那就是java的反射机制,要熟悉java反射机制的原理,还有java多线程的同步异步各类知识,java集合对象实现原理,不搞清楚这些东西的原理是不会写出高效的代码来的,总体来说还是越基础的东西你就越应该多熟悉熟悉。仅仅会调用api那你离真正会用真的还差得很远。
搞完那些基础性东西你还要学习linux操作系统相关技能,这个就没什么好说的吧,这些属于必备知识。session和cookie生命周期和它们两种之间的关联关系。
还要了解分布式中存储的优缺点,并且能明白他的应用场景。还要了解分布式的缓存相关技术,比如redis缓存,memcached,这些可以增加系统的性能,还有就是工具方面nginx也十分好用。功能也涉及很多方面,还能解决各类问题。
在之后就是数据库学习方面的知识了,数据库各类表的设计方面的能力,尤其是mysql数据库,简单快捷,免费并且还好用。可以对数据库参数方面进行优化,还需要去分析数据库操作的日志,对查询的日志进行分析。
然后还有队列的问题,中间件比如消息推送问题,可以把数据写入数据库,然后将这些数据逐渐推放到队列服务器,并且进行队列的处理,异步的处理,从而缓解服务器方面的压力,并且能够解耦系统。