【Java:空终结器也会对性能产生影响吗?】教程文章相关的互联网学习教程文章

Java-JAX-WS Web服务线程安全和性能问题

我从其他几篇文章中了解到,并且我对JAX-WS Web服务的了解不是线程安全的.我的Web服务将被100个客户调用,我们需要能够处理大约200个事务/秒. 我的Web服务将与数据库进行交互以执行其工作,如果我在访问数据库的代码周围引入了synced关键字,那么我实质上将确保一次只能有一个线程访问数据库,我想知道是否仍然能够在这种情况下达到所需的吞吐量.在此先感谢您的帮助. 有人告诉我实际上将数据库访问工作移到另一个类中,并在方法级别实例化...

Java应用性能调优之详解System的gc垃圾回收方法【代码】【图】

一、什么是System.gc()? System.gc()是用Java,C#和许多其他流行的高级编程语言提供的API。当它被调用时,它将尽最大努力从内存中清除垃圾(即未被引用的对象)。名词解释:GC,Garbage Collection,垃圾回收,下文会经常使用。 二、谁可以调用System.gc()? System.gc() 可以从应用程序堆栈的各个部分调用:您自己开发的应用程序可以显式的调用 System.gc() 方法。 System.gc() 也可以由您的第三方库,框架触发。 可以由外部工...

java-多线程性能

我正在编写一个在UDP上侦听传入消息的应用程序.我的主线程收到来自网络的消息后消息,并将它们中的每个传递给新线程以使用执行程序进行处理. 每个处理线程都会对其负责的消息进行所需的处理,并将其添加到所有处理线程之间共享的LinkedBlockingQueue. 然后,我有一个数据库工作线程,该线程按10000条消息块排空队列,并将消息块插入数据库. 由于消息的到达率可能很高(每秒超过20000条消息),所以我认为使用LOAD DATA INFILE会更高效.因此...

Java客户端和Java“后端”之间的高性能消息传递

我有一个基本的Java Messaging应用程序,可将JAVA对象发送到远程服务器进行处理.我在两边都利用了Spring支持,并使用ActiveMQ作为我的JMS提供者.它运作良好-我们没有遇到10个同时发送消息的客户端的实际问题. 但是,我们现在确实想要扩展.客户数量可能会增加到约500个.另外,每个客户端使用的带宽比最初声明的更多. 我想知道是否有人认为ActiveMQ是完成这项工作的正确工具-还是基于套接字的TCP / UDP是否可以帮助我们更好地扩展.我们对...

C#或Java(在Android上的性能)

这个问题已经在这里有了答案: > Does anyone have benchmarks (code & results) comparing performance of Android apps written in Xamarin C# and Java? [closed] 7个因此,这可能会以“基于观点”的形式结束,但是无论如何我都会提出这个问题,因为我在浪费时间考虑这一点. 我的主要目标实际上是在android上开发应用/游戏.我知道,Java将是最好的选择,但是我快速浏览了这...

java-Protobuf getAllFields()性能【代码】

我们使用protobuf作为消息传递,每条消息都循环遍历set字段,并对其进行处理. 我们使用for ( final Map.Entry<Descriptors.FieldDescriptor, Object> entry : msg.getAllFields().entrySet()) {FieldDescriptor field = entry.getKey();Object value = entry.getValue();在事件探查器下,我们发现此GetAllFields大部分时间都在使用,并且我进行了一些研究,似乎没有其他方法. 我知道我们可以使用以下方法:for ( final FieldDescriptor ...

Java BigDecimal奇怪的性能行为【代码】

今天,我遇到了BigDecimal的一种奇怪的性能行为.简而言之,以下两段试图做同一件事的代码之间存在显着差异int hash = foo(); BigDecimal number = new BigDecimal(hash);与BigDecimal number = new BigDecimal(foo());为了证明这一点,我在下面的课程中展示了差异.我的Java是1.7.0_75-b13,64位,mac.在我的环境中,第一个循环耗时2s,第二个循环耗时5s.import java.math.BigDecimal;public class Crazy {public static void main(String[...

java性能优化之java web项目性能优化

1、概述对于比较大的java web工程,如果出现内存溢出,操作响应时间较长,可以看一下我的教程,这是我自己的思路和想法,大家一起学习。接下来就会列举出关于性能上常常出现的问题和解决思路和方法2、问题及解决思路2.1 内存溢出:项目比较大的时候,我们操作一定时间就会报内存溢出的问题,这是常见的问题。遇到这个问题,我觉得,首先是看代码时候有错误或者死循环的,如果项目比较大并且开发完成的差不多了,显然这个方法是很费...

软件一定存在修改的余地——《大话Java性能优化》

Java是典型的面向对象语言,去掉了指针让开发更加简便,却无法直接指向内存;似乎穿上了铠甲却多了软肋,因此Java性能优化是非常必要的。 面对客户的咄咄逼人的需求修改和即刻变更需求上线压力,程序员作为弱势群体,往往会考虑时间优先原则,导致软件质量大幅下降。尤其在某些外包公司里,三个分别来自达内、北大青鸟和新华电脑专修学院的速成程序员开发了一个常量在三个类里分别声明、变量分别用GreenDAO、ORMLite和原生SQLi...

java-从桌面客户端应用程序收集性能分析统计信息【代码】

我有一些桌面应用程序的众多客户端实例.此应用程序的某些用户在使用某些特定的复制步骤及其私有执行上下文时(例如,假设使用他们不想与任何人共享的一些私人小猫照片)遇到性能问题. 我想尽量减少与用户的交流,并在我的开发环境中成功再现他们的问题.由于法律原因,我无法使用它们的执行上下文. 因此,我在这里看到的唯一选择是收集应用程序使用情况的统计信息(即方法调用,CPU负载系数).理想情况下,我想简化用户的工作,只是要求他们在看...

Java性能分析神器--VisualVM Launcher[1]【代码】【图】

Java性能分析神器1--VisualVM Launcher VisualVM 当你日复一日敲代码的时候,当你把各种各样的框架集成到一起的时候,看着大功告成成功运行的日志,有没有那么一丝丝迷茫和惆怅:这TM起的是什么玩意?每一行日志背后代表的是什么东西??他为什么就能跑起来了呢???? 这种时候不要慌,给大家推荐一款功能强大的插件:VisualVM Launcher。(eclipse就叫 VisualVM)。这个插件需要和客户端配合使用 VisualVM。 VisualVM是集成了命令...

高性能 Java RPC 框架 Dubbo【代码】

简介: 高性能Java RPC框架 (官网:http://dubbo.apache.org/zh-cn GitHub:https://github.com/apache/dubbo) Apache Dubbo |?d?b??| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。它最大的特点时按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(这最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单...

java-RSA签名性能【代码】

当我使用由KeyPairGenerator生成的密钥在计算机上运行以下代码时,我大约需要31毫秒.import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.Signature;public class Crypto {public static void main(String[] args){final String PROVIDER_NAME = "SunRsaSign";final String SIGNATURE_ALGORITHM_NAME = "SHA1withRSA";try {byte[] bytesToSign = "TEST".getBytes();KeyPairGenerator kp...

就Java流的性能而言,有什么更好的方法:合并过滤器或合并环境?【代码】

这个问题已经在这里有了答案: > Java 8 Streams: multiple filters vs. complex condition 4个需要过滤适合其字段的某些情况的所有对象.假设对象具有多个字段:class Price { int first; int second; String third; }和价格流:Stream<Price> streamPrices; 最佳选择是什么: 1.streamPrices.parallel().filter(p0->p0.first> 10).filter(p1->p1.second <30).filter(...

java-继承会影响应用程序的性能吗?

我想知道是否可以通过使用更多的超类来提高应用程序的性能.我的问题是关于Kotlin,但我认为答案与Java相同. 假设您具有此继承架构(右侧的类是其左侧的类的子类):< B < C < D < E < F < G < ...依此类推,直到Z.说您不需要所有子类中定义的所有东西,而只需要A类的属性和功能.由于晦涩的原因,您的代码仅使用Z类.我的问题很简单:如果将代码更改为仅使用A类而不是Z类,代码会提高性能吗?预先感谢您的回答.解决方法:如果“change ...