使用GCJ发布服务器端应用程序是否真的可行?WEBAPPS?
我的老板确信将我的(我的)webapp 编译成二进制可执行文件是个好主意.(然后,他再次喜欢用他能理解的眨眼灯光的漂亮,小巧的简单事物.)他本能地认为没有问题,而我只能看到无穷无尽的一系列问题和退化.一旦我开始与他谈论我们平台的复杂性,以及更深入的字节代码,JVM,库,操作系统之间的差异,处理器架构等......嗯......他的眼睛茫然,他微笑着他已经说清楚他认为我是幼稚的抵抗力.
为什么他想要一个魔法可执行文件?他看到了几个"好处":
所以,我已经完成了必须的20分钟谷歌搜索,现在我在这里.
关于我的应用程序的一些背景知识:
它是由什么组成的:
它能做什么
正如你可能会收集到的那样,我对这种"将Java编译为本机代码"的事情持高度怀疑态度.这听起来像是Mono(Linux上的VB)早在2000年.但我是否过于悲观?它可行吗?我是否应该花时间(几天甚至几周)来试试这个?
还有一个类似的线程(用于生成.exe文件的Java编译器选项),但它有点过于简单,链接过时了,并没有真正面向服务器端问题.
亲爱的SOpedians,您的知情意见将受到高度重视!TIA!
我有一个Hibernate域对象,由应用程序的不同部分加载.有时延迟加载每个关联和其他关联是有利的,最好在一个连接中加载整个事物.作为一个充满希望的妥协,我发现:
使用批量提取,如果访问一个代理,Hibernate可以加载几个未初始化的代理.批量提取是延迟选择提取策略的优化.
hibernate.default_batch_fetch_size:
使用批量提取,如果访问一个代理,Hibernate可以加载几个未初始化的代理.批量提取是延迟选择提取策略的优化.
我也看到:
hibernate.jdbc.fetch_size:
非零值确定JDBC获取大小(调用Statement.setFetchSize()).
Hibernate是否足够聪明,可以在进行批量提取时查看二级缓存?即,一次获取初始调用关联,然后下一个X调用命中缓存?这样我就可以拥有我想要的延迟加载,但也经常点击缓存以获得更大量的交易.
如果集合的整个内容已经包含在缓存中,它是否仍然会在访问集合时执行获取查询?
谢谢.
我想制作一个与Apache产生的匹配的etag.apache如何创建它的etags?
我是使用Hibernate和Java的新手.我收到以下异常.我在网上找到关于这个错误的东西似乎没有帮助.有任何想法吗?例外情况:
java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException:
ApplPerfStats is not mapped [select count(c) from ApplPerfStats c]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:601)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:96)
at com.icesoft.icefaces.samples.datatable.jpa.CustomerDAO.findTotalNumberCustomers(CustomerDAO.java:89)
at com.icesoft.icefaces.samples.datatable.ui.SessionBean.getDataPage(SessionBean.java:189)
at com.icesoft.icefaces.samples.datatable.ui.SessionBean.access$0(SessionBean.java:185)
at com.icesoft.icefaces.samples.datatable.ui.SessionBean$LocalDataModel.fetchPage(SessionBean.java:245)
at com.icesoft.icefaces.samples.datatable.ui.PagedListDataModel.getPage(PagedListDataModel.java:121)
at com.icesoft.icefaces.samples.datatable.ui.PagedListDataModel.getRowCount(PagedListDataModel.java:100)
at com.icesoft.faces.component.datapaginator.DataPaginator.isModelResultSet(DataPaginator.java:1091)
at com.icesoft.faces.component.datapaginator.DataPaginatorRenderer.encodeBegin(DataPaginatorRenderer.java:201)
Run Code Online (Sandbox Code Playgroud)
这叫做的地方:
@SuppressWarnings("unchecked")
public Long findTotalNumberCustomers() {
EntityManagerHelper.log("finding number of Customer instances", Level.INFO, null);
try {
String queryString = "select count(c) from ApplPerfStats c";
return (Long) getEntityManager().createQuery(queryString).getSingleResult();
} catch (RuntimeException re) {
EntityManagerHelper.log("find number of Appl_perf_stats failed",
Level.SEVERE, re);
throw re;
}
}
Run Code Online (Sandbox Code Playgroud)
映射到数据库表的类:
package com.icesoft.icefaces.samples.datatable.jpa;
import java.sql.Timestamp;
import …Run Code Online (Sandbox Code Playgroud) 我有点卡在我正在处理的项目中,我想从另一个文件夹中加载文本文件.我正在使用Netbeans,并且出于这个问题的目的,有两个文件夹,一个是我的班级,另一个是资源.
该类在../misc/[ClassName],我想要加载的文本文件../resources/[Name].txt
这听起来简单得令人难以置信,并且已经完成了Java很长一段时间我真的应该知道这一点,我假设加载这个文件而不是仅使用FileReader的最好方法就是使用getResourceAsStream,如图所示:
InputStream is =
this.getClass().getClassLoader().getResourceAsStream(_filename + ".txt");
Run Code Online (Sandbox Code Playgroud)
理想情况下节省我的时间,而不必在文件路径中进行硬编码.现在,我的问题是我不断从上面的代码返回null,实际上我可以放在它上面的任何其他排列.我已经尝试过/resource/filename.txt或resource/filename.txt作为参数,使用.getClass().getResourceAsStream相反getClassLoader(),一切仍然返回相同的结果.
为了避免任何混淆,我已经检查了文件名及其绝对正确和正确的情况等,所以这不是问题.有任何想法吗?我知道我可以FileReader用来实现同样的目标,但现在它是一种原则!
我下载了Apache Tomcat 6.0.2并在Eclipse中创建了一个新服务器
然后我启动服务器并转到http:// localhost:8080 /以查看它是否有效.我收到404错误.
我已经用Google搜索并试图找到解决方案.但这些补救措施似乎都不起作用.
对问题是什么的任何想法?
我有这个需要一些内存调整的webapp.虽然我已经在分析应用程序本身并削减了一些东西,但JVM本身在我们最繁忙的实例上看起来过于臃肿.(较低的卷实例没有此问题.)详细信息:
Linux 2.6.9-78.0.5.ELsmp #1 SMP x86_64)Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode))-d64中startup.sh如果我可以重构64位JVM的需要,并放弃-d64交换机,那会不会使JVM的常驻内存占用更小?换一种说法...
-d64交换机对Sun JVM驻留内存使用有何影响(如果有)?
在Spring Webflow 2.0.x的上下文中......
我处理表单绑定"typemismatches",即尝试将String映射到Integer字段,通过在我的使用中使用以下内容 messages.properties
typeMismatch={0} contains invalid data.
Run Code Online (Sandbox Code Playgroud)
这很好用.
The problem is that if the field that the typeMismatch error occurred on was "required" then I also receive an error for the missing required field, which is logical I guess because the value that was submitted was never bound. ("Required" being defined in a Commons Validation XML file)
So, I dont want to see the "XXX is required field" error message when the field is only missing due to …
我目前正在使用以下代码在Google Android上格式化时间:
DateFormat.getDateTimeInstance().format(millis)
Run Code Online (Sandbox Code Playgroud)
虽然此代码遵循我的时区和区域设置,但它会忽略系统首选项中的"24小时模式"设置,始终在AM/PM返回时间.有没有办法以与状态栏上相同的格式获得时间?
我正在考虑制作一个剧本
但我不知道在运行的JVM上有多昂贵或侵入性的jstack.在正在运行的JVM上执行jstack有多贵?我是否为一个受伤的世界做好准备?