推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > Java从零入门系列 > Idea开发中文乱码的坑

Idea开发中文乱码的坑

Java从零入门系列 2018-02-02

1.场景

    在编写Java类的时候,会在字段上或者属性上加上中文注释。比如写个全局的ConfigurationProperties的时候,那么在application.properties里面进行对属性配置。但是会出现在application.properties点出属性的时候,之前在类中的属性注释的中文,点出的是中文乱码的。

2.问题排查

1.首先确定了下该application.properties文件的编码,看了下是UTF-8的。(idea文件右下角查看)

2.确认下Java项目是否使用UTF-8进行编码,也是UTF-8(idea setting-FIle Encodings)

3.确认下Transparent native-to-ascii conversion是否打开,确认已经打开

    经过上面的步骤确认与操作,发现点出的还是乱码,这时候请教下Java大神,经确认需要在idea的虚拟机配置文件idea64.exe.vmoptions加入以下代码。

-Dfile.encoding=UTF-8

3.IntelliJ IDEA设置JVM运行参数

    下面我们来了解下JVM这些参数的含义。

    打开idea默认配置的JVM参数如下:

-Xms128m
-Xmx750m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

    标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;

1.-Xms

    堆设置,初始堆大小,物理内存的1/64(<1GB)

2.-Xmx

    堆设置,最大堆大小,物理内存的1/4(<1GB)

3.-XX:ReservedCodeCacheSize

    用于设置存储已编译方法生成的本地代码的内存大小

4.XX:+UseConcMarkSweepGC

    JVM垃圾回收器使用CMS(Concurrent Mark Sweep) 回收器,这个参数表示对于老年代的回收采用CMS

5.-XX:SoftRefLRUPolicyMSPerMB

    每兆堆空闲空间中SoftReference的存活时间

6.-ea

    可打开断言机制

7.-Djava.net.preferIPv4Stack

8.-XX:+HeapDumpOnOutOfMemoryError

    导出内存溢出的堆信息(hprof文件))

9.XX:-OmitStackTraceInFastThrow

    当大量抛出同样的异常的后,后面的异常输出将不打印堆栈。

写的有不对的地方,欢迎大家留言,多多指教,三人行,必有我师!

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《Idea开发中文乱码的坑》的版权归原作者「Java从零入门系列」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注Java从零入门系列微信公众号

Java从零入门系列微信公众号:gh_11f7f29c769b

Java从零入门系列

手机扫描上方二维码即可关注Java从零入门系列微信公众号

Java从零入门系列最新文章

精品公众号随机推荐