做网站可以用什么数据库,青岛九二网络科技有限公司,wordpress前后登录,电子商务平台包括哪些类型总览 Java中有许多实践使我感到困惑。 这里只是一些。 使用-Xmx和-Xms 选项-Xmx广泛用于设置最大内存大小。 如Java HotSpot VM Options中所述#xff0c;以-X开头的选项是非标准的#xff08;不保证在所有VM实现中均受支持#xff09;#xff0c;并且在以后的JDK发行版中… 总览 Java中有许多实践使我感到困惑。 这里只是一些。 使用-Xmx和-Xms 选项-Xmx广泛用于设置最大内存大小。 如Java HotSpot VM Options中所述以-X开头的选项是非标准的不保证在所有VM实现中均受支持并且在以后的JDK发行版中如有更改恕不另行通知。 因此您会认为这种广泛使用的选项将不再是非标准的。 实际上有一个标准选项-mx和类似的-ms。 我不知道为什么这些标准选项没有得到更广泛的使用甚至没有记载。 仅将NIO用于非阻塞IO 非阻塞IO是用于套接字的NIO的新功能。 但是NIO套接字的默认行为是阻止。 文件仅在NIO中被阻止。 NIO2提供了一个异步接口但是通过将您的请求传递给ExecutorService来实现这实际上是在作弊因为它什么也做不了您已经做不到的事情 我个人更喜欢阻止NIO。 它仅在二进制连接数较少时才适用但是按恕我直言这是一种选择不多的选项。 使用32位JVM节省内存 使用32位JVM保存的内存量远远少于您的想象。 现代64位JVM默认情况下最多使用32位引用最大堆大小为32 GB。 您不太可能希望拥有更大的堆大小如果只是为了避免很长的完整GC时间 与64位JVM相比32位JVM的对象标头仍然较小但是差别很小。 64位JVM可以使用更多更大的寄存器在AMD / Intel x64系统上并且可以使用更大的地址空间从而减少内存限制。 使用线程使一切更快 使用多个线程可以提高CPU利用率并减少IO延迟的影响。 它不能解决所有性能问题。 它不会使磁盘运行得更快不会增加网络带宽不会增加L3缓存的大小不会增加CPU到主内存带宽的速度也不会大大提高数据库的速度。 同样使所有内容并发也不会有太大区别。 当您只有8个核心时是否需要1000个并发集合 不管您有多少个线程一次都只能运行8个线程如果您有1000个集合则很有可能两个线程将使用同一集合。 对关键资源有选择地使用并发。 否则您不仅有增加开销和降低应用程序速度的风险而且还带来引入的复杂性增加的风险。 参考来自Vanilla Java博客的JCG合作伙伴 Peter Lawrey在Java上的奇怪实践 。 翻译自: https://www.javacodegeeks.com/2012/06/odd-practices-in-java.html
相关文章: