Java语言
Java语言作为当下主流开发语言,其面向对象的开发模式以及一次编译多次运行,跨平台运行以及自动的垃圾回收机制可以说是给开发者节省了很大的时间用于逻辑功能的开发,那么在开发过程中或多或少的都会遇到各种各样的问题,这里个人建议是将问题处理在发生之前。
比如说日常开发过程中参考《Java开发手册》规范自己的开发习惯以及代码规范,方便后续问题跟踪排查;同时idea开发工具可以安装Findbugs插件帮助你提前排除掉一些NULL指针、数值转换、运算异常等基础错误,减少线上问题的机会。同时对于线上项目做好异常监控,比如cat监控,当线上发生问题时可以快速定位到问题发生的具体位置,便于快速解决问题。
关于并发
关于并发难题可以说数据库同时写问题,抢购订单问题等,当多个线程同时对相同数据进行更新操作时,数据库的数据往往会比较混乱,这个时候可以加基于redis的分布式锁,当并发操作时都首先去获取锁然后再执行更新操作;对于单应用也可以加synchronized,虽然处理效率比较慢,但是也能解决问题。另外就是对于多次点击重复写入的情况也可以针对数据中心唯一字段设置唯一索引,在数据库层面拦截等,总之处理并发问题的方案比较多,看你更倾向于哪一种。
JVM调优工具
在Java大师课第6课,老师分享的工具中,个人用的比较多或者说常用的就是Java VisualVM,idea安装VisualVM插件,操作可以参考 文章插件安装完成之后还需要配置指定一下
jvisualvm.exe的位置,启动应用程序成功之后就可以看到如下线程页面
整个操作体验很好,全中文,关于JVM相关的主要内容也都有,很方便排查和JVM性能调优,推荐大家可以尝试一下哈,相关的GC也可以直观的看到,很实用的工具。
写在最后
最后再说一句,当你选择了JAVA这个行业的时候,那么恭喜你,你选择了一个终身学习的行业,也就是说在Java这一行,更新换代真的很快,还随时要担心来自ChatGPT 人工智能AI的跨行攻击,唯有不断学习不断了解接触新事物,才是保持技术革新,保持竞争力的唯一法宝,各位Java同学,努力吧。