JAVA

简介: 简要讲述Java的特性以及相关的Java调优工具

Java语言

Java语言作为当下主流开发语言,其面向对象的开发模式以及一次编译多次运行,跨平台运行以及自动的垃圾回收机制可以说是给开发者节省了很大的时间用于逻辑功能的开发,那么在开发过程中或多或少的都会遇到各种各样的问题,这里个人建议是将问题处理在发生之前。

比如说日常开发过程中参考《Java开发手册》规范自己的开发习惯以及代码规范,方便后续问题跟踪排查;同时idea开发工具可以安装Findbugs插件帮助你提前排除掉一些NULL指针、数值转换、运算异常等基础错误,减少线上问题的机会。同时对于线上项目做好异常监控,比如cat监控,当线上发生问题时可以快速定位到问题发生的具体位置,便于快速解决问题。

关于并发

关于并发难题可以说数据库同时写问题,抢购订单问题等,当多个线程同时对相同数据进行更新操作时,数据库的数据往往会比较混乱,这个时候可以加基于redis的分布式锁,当并发操作时都首先去获取锁然后再执行更新操作;对于单应用也可以加synchronized,虽然处理效率比较慢,但是也能解决问题。另外就是对于多次点击重复写入的情况也可以针对数据中心唯一字段设置唯一索引,在数据库层面拦截等,总之处理并发问题的方案比较多,看你更倾向于哪一种。

JVM调优工具

Java大师课第6课,老师分享的工具中,个人用的比较多或者说常用的就是Java VisualVM,idea安装VisualVM插件,操作可以参考 文章插件安装完成之后还需要配置指定一下

1.pngjvisualvm.exe的位置,启动应用程序成功之后就可以看到如下线程页面

2.png

整个操作体验很好,全中文,关于JVM相关的主要内容也都有,很方便排查和JVM性能调优,推荐大家可以尝试一下哈,相关的GC也可以直观的看到,很实用的工具。

写在最后

最后再说一句,当你选择了JAVA这个行业的时候,那么恭喜你,你选择了一个终身学习的行业,也就是说在Java这一行,更新换代真的很快,还随时要担心来自ChatGPT 人工智能AI的跨行攻击,唯有不断学习不断了解接触新事物,才是保持技术革新,保持竞争力的唯一法宝,各位Java同学,努力吧。

相关文章
|
人工智能 前端开发 Java
Java真过饱和了吗?现在学Java迟了?
Java真过饱和了吗?现在学Java迟了?
118 0
|
小程序 Java 编译器
初识java(下)
初识java(下)
99 0
|
7月前
|
算法 Java 开发者
Java:求正整数分解为质因数Java
Java:求正整数分解为质因数Java
|
7月前
|
Java 程序员 C++
【Java】Java与C++:比较与对比
【Java】Java与C++:比较与对比
121 0
|
存储 Java PHP
【零基础学Java】—初识Java(一)
【零基础学Java】—初识Java(一)
|
Java 编译器
【JAVA】初识Java
一些IDEA 里面的快捷键 JAVA开发环境 操作IDEA的动作分解 以类(class)为基本单位进行组织 数据(data) 基本数据类型 变量 字面量
137 0
|
Cloud Native Oracle Java
一篇文章和你从 Java1 聊到 Java18
002-2022 年的 20 年里 Java 始终保持在前三的水平,其中在 2005 年、2013-2015 年间、2021 年等时间还多次登顶过第一,这么一个已经发布了 27 年的语言在这些年是怎么始终保持在编程语言前三的呢?这么多年 Java 各个版本间又有什么变化?Java 语言在未来还会继续保持成为语言的常青树吗?这篇文章就来和大家回顾一下 Java 的历史。
299 0
一篇文章和你从 Java1 聊到 Java18
|
Oracle IDE Java
从Java8到Java17
背景Java8的前世今生作为一名程序员,笔者从大学开始接触Java这门编程语言,还记得当时的版本是1.4,不过这个版本的寿命还挺长,目前在一些金融行业的存量系统中依然还有1.4版本的影子。从C/C++到Java,Java给我的第一印象,就是这门语言的语法非常之啰嗦,比如内部类,像下面这段排序的代码,在C语言里面可以很方便地通过函数指针来解决,C++可以通过运算符重载来解决,唯独Java语言的写法最
从Java8到Java17