我有一些执行长动作的游戏工作(例如10秒).
他们所做的一些事情需要数据库事务,有些则不需要.
由于整个作业是单个事务,我将长时间打开db事务,这不是一个好习惯.
将工作划分为多个交易的最佳方法是什么?我应该使用JPAPlugin closeTx然后使用startTx吗?
这个问题是我之前提出的问题答案的结果.
我被要求使用Eclipse MAT来调查吃掉堆的东西.以下是我的观察(热门消费者):
class sun.awt.SunToolkit 333.7 MB
com.tennisearth.service.impl.CacheManagerServiceImpl 136 MB
org.apache.jasper.servlet.JspServlet 91.5 MB
Run Code Online (Sandbox Code Playgroud)
我已经解决了这个问题CacheManageServiceImpl,但需要帮助SunToolkit.
下面是创建Image对象的代码(内部使用SunToolkit.imgCache)
Image img = new ImageIcon(imagePath).getImage();
int imageWidth = img.getWidth(null);
int imageHeight = img.getHeight(null);
Run Code Online (Sandbox Code Playgroud)
Plz注意,仅创建Image对象以获取图像的宽度/高度,稍后在某些逻辑中需要该宽度/高度.
有没有办法禁用SunToolkit图像缓存?更好的是,有没有办法清除这个缓存?或者有更好的方法可以检索这些信息吗?
BTW供您参考,我使用下面的命令来运行jboss(请注意堆大小参数):
java -Dprogram.name=run.sh -server -Xms256m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=256m -verbose:gc -Xloggc:/data1/logs/jboss/GC.log -XX:+HeapDumpOnOutOfMemoryError -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=false -Djava.net.preferIPv4Stack=true -Djava.library.path=/usr/local/java/jboss-4.2.2.GA/bin/native -Djava.endorsed.dirs=/usr/local/java/jboss-4.2.2.GA/lib/endorsed -classpath /usr/local/java/jboss-4.2.2.GA/bin/run.jar:/usr/local/java/jdk1.6.0_06/lib/tools.jar org.jboss.Main -c default -b <IP_ADDRESS> -Djboss.messaging.ServerPeerID=1
Run Code Online (Sandbox Code Playgroud)
萨米特
我知道这个问题已被问过很多次,但我不是问如何从列表中删除重复的元素,我也想删除重复的元素.
例如,如果我有一个列表:
x = [1, 2, 5, 3, 4, 1, 5]
Run Code Online (Sandbox Code Playgroud)
我希望列表是:
x = [2, 3, 4] # removed 1 and 5 since they were repeated
Run Code Online (Sandbox Code Playgroud)
我不能使用set,因为那将包括1和5.
我应该用Counter吗?有没有更好的办法?
我有一个Windows注册ID,并且还支付了99美元的年度开发者订阅费.目前我正在使用HTC HD7测试我的应用程序.是否可以使用相同的注册ID为Samsung Focus或任何其他Windows Phone 7?或者我将不得不再次支付99美元使用其他设备?
我正在解析如下的CVS文件:
"07555555555",25.70,18/11/2010,01/03/2011,N,133,0,36,,896,537,547,,Mr,John,Doe,,
"07555555555",10.15,26/01/2011,01/03/2011,N,16,0,100,,896,537,547,,Mrs,Jane,Doe,,jane@doe.com
Run Code Online (Sandbox Code Playgroud)
问题是当使用这样的脚本时:
file.eachLine{ line ->
items = line.split(",")
println items.length
}
Run Code Online (Sandbox Code Playgroud)
结果如下:
16
18
Run Code Online (Sandbox Code Playgroud)
这让我觉得split函数删除了最终值.我需要它才能拥有所有物品,即使它们是空的.任何的想法?
当我使用下面的代码警告空值时?这是为什么?
HTML
<body onload="initialize()">
<div id="map_canvas" style="width: 320px; height: 480px;"></div>
<div>
<input id="address" type="textbox" value="Sydney, NSW">
<input type="button" value="Encode" onclick="display()">
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
JavaScript的
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function codeAddress() {
var address = document.getElementById("address").value;
var loc=[];
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
loc[0]=results[0].geometry.location.lat();
loc[1]=results[0].geometry.location.lng(); …Run Code Online (Sandbox Code Playgroud) 为什么第一个示例不输出警告?
#!/usr/bin/env perl
use warnings;
use 5.012;
my $c = "9\n";
say $c * 2;
my $d = "6a";
say $d * 2;
# 18
# Argument "6a" isn't numeric in multiplication (*) at ./perl8.pl line 9.
# 12
Run Code Online (Sandbox Code Playgroud) 我在 C# 应用程序中有一个 ToolStrip,我将其背景颜色设置为透明。这显示了底层表单的颜色,但不幸的是 ToolStrip 边框仍然可见。
我已经实现了一个自定义渲染器并重写了 DrawBoarder 方法以不绘制任何内容,但这似乎也适用于所有包含的按钮(即下拉按钮上的菜单也绘制为没有边框)。
所以我被困住了。将整个 ToolStrip 绘制透明但不保留按钮的最佳方法是什么?
在我开始我想讲清楚,我不想回答我的家庭作业的问题,我只是想,如果有人能真正解释正是我的教练在这种分配(最好是简单化版)要求,也许一个有用的推动正确的方向.我在这个话题上遇到了很多麻烦,每当我问导师时,我发现他比我更困惑我.
所以,这是作业:
1.添加一个新函数insertN(struct list*x,int num,int pos,int n),它将在pos位置插入n个整数num的副本,如果可能的话(如果pos太大,采取适当的行动) .我在这里感到困惑的主要是他所说的位置pos.
这是我正在使用的代码 - 由我的老师编写,我必须修改它.
#include<stdio.h>
#include<stdlib.h>
struct list {
int data;
struct list * next;
};
struct list *slist;
/*adds a node at the end of the linked list*/
void insert(struct list *x,int num){
/*if the list is empty*/
if(x==NULL){
/*create first node*/
slist=malloc(sizeof(struct list));
slist->data=num;
slist->next=NULL;
}
else{
/*go to the last node*/
while(x->next!=NULL) x=x->next;
/*add node at the end*/
x->next=malloc(sizeof(struct list));
x->next->data=num;
x->next->next=NULL;
}
}
void display(struct list *x){
/*traverse the …Run Code Online (Sandbox Code Playgroud) 我想将两个文件夹相互同步.它应该有两种方式,始终保持文件夹最新(我使用常规cronjob).但是,首先我没有让双向文件传输工作(它只是从ftp下载而不是相反).
其次,它下载从ftp的全部内容,即使登录信息已经建立的FTP,这样的访问只限于特定的文件夹.为什么??
这是代码(提前谢谢!):
#!/bin/bash
#get username and password
USER=username
PASS=password
HOST="myftpserver.com/users/user1/" #here I have tried with only specifying server name as well as including whole path
LCD="~/Desktop/localfolder/"
RCD="users/user1/"
lftp -c "set ftp:list-options -a;
open ftp://$USER:$PASS@$HOST;
lcd $LCD;
mirror -c --reverse --verbose $LCD $RCD" #I have tried a few different options w/o result
Run Code Online (Sandbox Code Playgroud)