面试中遇到了这样的问题,JavaEE项目中,你准备如何解决高并发问题?比如1000万人同时登录。
1
.从最基础的地方做起,优化我们写的代码,减少必要的资源浪费。
a、避免频繁的使用new
对象,对于整个应用只需要存在一个实例的类,我们可以使用单例模式。对于String连接操作,使用StringBuffer或StringBuilder,对于工具类可以通过静态方法来访问。
b、避免使用错误的方式,尽量不用
instanceof
做条件判断。使用java中效率高的类,比如ArrayList比Vector性能好。
2.
html静态化
我们通过一个链接地址访问,通过这个链接地址,服务器对应的模块处理这个请求,转到对应的jsp页面,最后生成我们要的数据。但是,如果上千万个请求的话,有太多的高并发请求,那么就会加重服务器的压力,最坏的情况是把服务器down掉。那么如何避免这种情况的出现呢?如果我们把最初对test.
do
的请求结果保存成一个html文件,然后每次用户都去访问这个html文件,这样就不用再去访问服务器了,服务器的压力不就减少了?
那如何自动的生成静态页面,当用户去访问,