我正在寻找一个Java代码分析器,我可以用它来分析我的应用程序(它是一个在后端运行的服务)生产(所以意味着低头,它不能减慢我的应用程序).主要是我想调用树分析,也就是说a()调用b()然后b()调用c(),然后a()b()和c()花了多少时间,包括和包含.
见过jvisualvm
和jprofiler
,但这不是我所期待的,因为我不能配合我的生产应用程序到他们,因为它会造成重大的性能问题.
此外,我确实通过了metrics
(https://github.com/dropwizard/metrics),但它没有给我一个功能来分析调用树.
Callgrind
(http://valgrind.org/docs/manual/cl-manual.html)类型库是我需要的,因为它提供了调用树分析功能和高级选项,如避免调用循环(递归).但是我不确定Callgrind是否可以用于生产,因为它会在程序终止时转储数据.
任何人都可以建议用于java的好的调用树分析器,可以在不影响性能的情况下用于生产吗?
我在我的java项目中使用spring和hibernate,它由maven管理.我使用以下命令创建了一个程序集(带有依赖项的jar)mvn install assembly:assembly
现在,当我尝试使用命令运行我的主类时:java -cp xyz-1.0-SNAPSHOT-jar-with-dependencies.jar com.xyz.class
然后我收到以下错误:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/data/jpa]**
Offending resource: class path resource [xyz-component-scans-config.xml]
at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:271)
.
.
Run Code Online (Sandbox Code Playgroud)
我不明白为什么它无法找到NamespaceHandler?因为我已经在pom中有以下依赖项.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.1.0.RELEASE</version
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.0.2.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.0.RELEASE</version>
<scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我确实尝试了以下主题中的建议,但它对我不起作用. 无法找到XML架构命名空间的Spring NamespaceHandler [http://www.springframework.org/schema/data/jpa]
org.springframework.beans.factory.parsing.BeanDefinitionParsingException的源代码
我想检查我的主从设置的复制类型,无论是基于行还是基于语句..我该怎么做?我使用的是mysql 5.6
我正在寻找一个解决方案,我将能够在asp.net按钮中添加图像和文本.
<asp:Button ID="Button1" runat="server" Text="Button"/>
Run Code Online (Sandbox Code Playgroud)
我只能为按钮指定文本,但是如何添加图像呢?
我有2个列表:list1
和list2
(都是int类型)
现在我想删除的内容list2
从list1
.我怎么能在C#中做到这一点?
PS:不要使用循环.
我在将 JSON 转换为 C# 中的对象时遇到问题。我想知道我的 json 或对象结构有什么问题?为什么它失败了?
我的 JSON 是:
[ { "added_on" : "10-03-2014",
"country" : "INDIA",
"crew" : "{\"Actor1\": \"Kangana\", \"Actor2\":\"Lisa Haydon\"}\r\n",
"fb_link" : "https://www.facebook.com/Queenthefilm",
"genre" : "DRAMA",
"id" : 1,
"image_first_url" : "",
"image_main_url" : "133avk38CcBfNHsqwr0nzqOa8Db.jpg",
"image_second_url" : "",
"name" : "Queen",
"ratings" : "[{\"type\": \"IMDB\", \"value\": \"9.3\"}, {\"type\": \"TOI\", \"value\": \"4\"}, {\"type\": \"NDTV\", \"value\": \"3\"}]",
"release_date" : "07-03-2014",
"release_year" : 2014,
"storyline" : "A Delhi girl from a traditional family sets out on a solo honeymoon …
Run Code Online (Sandbox Code Playgroud) 我GZIPOutputStream
在Java程序中使用它来压缩大字符串,最后将其存储在数据库中。
我看到在压缩英文文本时,我实现了1/4到1/10的压缩比(取决于字符串值)。例如,假设我的原始英文文本为100kb,那么平均压缩文本大约为30kb。
但是当我压缩unicode字符时,压缩的字符串实际上比原始字符串占用更多的字节。举例来说,我的原始unicode字符串为100kb,然后压缩版本为200kb。
Unicode字符串示例: "?????????????for.Hi???"
谁能建议我也如何实现unicode文本的压缩?为什么压缩版本实际上比原始版本大?
我在Java中的压缩代码:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
GZIPOutputStream zos = new GZIPOutputStream(baos);
zos.write(text.getBytes("UTF-8"));
zos.finish();
zos.flush();
byte[] udpBuffer = baos.toByteArray();
Run Code Online (Sandbox Code Playgroud) 我在html文件中有以下代码:
<html>
<head>
<title>My Great Website</title>
</head>
<body>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js">
</script>
<script>
FB.init({
appId:'156154681125939', cookie:true,
status:true, xfbml:true
});
FB.ui({ method: 'apprequests',
message: 'Here is a new Requests dialog...'});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我正在使用此代码发送我的应用程序的apprequests(参考:http://developers.facebook.com/blog/post/464/)
问题:我能够通过上面的代码加载请求对话,并显示我的朋友列表.我也可以发送邀请.假设我将邀请发送给朋友"X"(提供"X"尚未使用我的应用程序).然后在X的FB帐户中,apprequest书签计数增加1.但是当X试图查看应用程序邀请时,他实际上看不到我的应用程序收到的任何应用程序邀请.我已经尝试过至少5个用户,在我向他们发送邀请后,他们的apprequest书籍增加了1,但是当他们看到邀请时,实际上没有邀请.
任何人都可以建议我这是什么问题?
注意:我的应用程序是网站(而不是画布应用程序),我也在我的服务器上托管了上面的演示代码,网址为http://www.gmarjil.com/a.html
facebook facebook-graph-api facebook-social-plugins x-facebook-platform
我在pom.xml中添加了以下代码段,但是在eclipse中,执行部分错误提示:
Plugin execution not covered by lifecycle configuration: com.mysema.maven:maven-apt-plugin:1.0.3:process (execution: default, phase: generate-sources)
Run Code Online (Sandbox Code Playgroud)
虽然当我从命令行运行mvn clean install时,它仍然可以正常工作。
<build>
<plugins>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-apt-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<outputDirectory>${project.basedir}/target/generated-sources/java</outputDirectory>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
<processors>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
</processors>
<showWarnings>true</showWarnings>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
从命令行运行后,它会生成查询dsl类(QClasses),但是从eclipse中不会生成它们。
另外,当我从eclipse运行我的应用程序时,它给出以下错误:
Caused by: java.lang.ClassNotFoundException: xxx.QClass
Run Code Online (Sandbox Code Playgroud)
Eclipse Maven插件有问题吗?我该如何解决?
我试图从C#中的字符串替换特定的子字符串.
我的字符串是: This is a car.
我试图用这段代码用字符串中的string.Empty替换'a':
data = data.Replace("a", string.Empty);
Run Code Online (Sandbox Code Playgroud)
但我的输出是:
This is c r.
Run Code Online (Sandbox Code Playgroud)
我只想删除'a'的孤立出现,而不是在其他单词(如汽车)中使用此char/word时.
我想要一个类似的输出: This is car.
我怎么能在C#中做到这一点?
我在我的项目中使用NHibernate和Net Persistence API与C#和MySql db,我有UI层(ASP.NET),业务层和数据访问层(DAL).对于日志记录,我使用的是log4net.
我的UI层中有web.config文件,在那里我放了以下代码行来禁用NHibernate INFO级别日志记录:
<log4net debug="true">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Log.txt"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="dd-MM-yyyy"/>
<maxSizeRollBackups value="20"/>
<maximumFileSize value="50MB"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n"/>
</layout>
</appender>
<root>
<logger name="NHibernate" additivity="false">
<level value="WARN"/>
<appender-ref ref="RollingFileAppender"/>
</logger>
<level value="INFO"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
Run Code Online (Sandbox Code Playgroud)
但它不起作用!我仍然可以看到INFO级日志,日志中的一些行是:
INFO 2013-01-09 01:15:06,383 6993ms Environment lambda_method - NHibernate 3.2.0.4000 (3.2.0.4000)
INFO 2013-01-09 01:15:06,386 6996ms Environment lambda_method - hibernate-configuration section not found in application configuration file
INFO 2013-01-09 …
Run Code Online (Sandbox Code Playgroud)