我试图找出如何使用Caliper在Eclipse中进行基准测试,我无处可去.我尝试按照此处的26分钟教程进行操作:https://code.google.com/p/caliper/但我很快就迷路了.我已经下载了Caliper jar文件,但我不确定它应该是什么文件夹.我还下载了Maven for Eclipse插件,但我甚至不确定是否有必要.是否可以从Eclipse的"帮助"菜单中的"安装新软件.."选项安装Caliper?我只想对我为数据结构和算法类创建的一些算法进行非常简单的速度测试.
我有一个名为GreenhouseControls的课程,有一堆
内置的类如:
public class ThermostatNight extends Event {
public ThermostatNight(long delayTime) {
super(delayTime);
}
public void action() {
// hardware control code here.
thermostat = "Night";
}
public String toString() {
return "Thermostat on night setting";
}
}
Run Code Online (Sandbox Code Playgroud)
我从文本文件中提取值以获取诸如"ThermostatNight"之类的事件名称和诸如"2000"之类的时间值.为了使用这些值实例化一个新对象,我构建了一个EventFactory,它接受值作为参数.
这是我为从文本文件值创建新事件对象而构建的类:
public class EventFactory{
public static Event createSpecificEvent(String eventName, long delayTime) {
Event event = null;
switch(eventName) {
case "ThermostatNight":
event = new ThermostatNight(delayTime); // Compiler error
break;
case "ThermostatDay":
event = new ThermostatDay(delayTime);
break;
case "LightOn":
event = new LightOn(delayTime); …Run Code Online (Sandbox Code Playgroud) 每当我切换场景然后在编辑器中按下播放时,我的游戏就会崩溃.我正在使用此代码切换场景:

...

我已经尝试禁用游戏中的大多数脚本来调试问题,但每次都会冻结.我也尝试在没有协同例程的情况下加载级别,但这没有帮助.只要我不使用编辑器控件,我就可以继续玩游戏,但事情变得相当不稳定,性能变得非常糟糕.
我像这样序列化了一个名为GreenhouseControls的类:
public class GreenhouseControls extends Controller implements Serializable{
......
public void saveState() {
try{
// Serialize data object to a file
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("dump.out"));
out.writeObject(GreenhouseControls.this);
System.out.println(GreenhouseControls.errorcode); // Prints 1
out.close();
} catch (IOException e) {
}
}
......
}
Run Code Online (Sandbox Code Playgroud)
当GreenhouseControls对象被序列化时,全局静态变量'errorcode'被设置为1.
然后,我将GreenhouseControls类反序列化为:
public class GreenhouseControls extends Controller implements Serializable{
......
public class Restore extends Event {
.....
@Override
public void action() {
try {
FileInputStream fis = new FileInputStream(eventsFile);
ObjectInputStream ois = new ObjectInputStream(fis);
GreenhouseControls gc = (GreenhouseControls) …Run Code Online (Sandbox Code Playgroud) 我有一个开始按钮和一个弹出菜单选项,可以做同样的事情.是否可以在同一个if语句中测试两个按钮,或者我是否必须为它们编写两个单独的if语句?
我想做这样的事情:
public void actionPerformed(ActionEvent e){
// The start button and the popup start menu option
if (e.getSource() == start)||(e.getSource() == startPopup){
new Thread() {
@Override
public void run() {
GreenhouseControls.startMeUp();
}
}.start();
Run Code Online (Sandbox Code Playgroud) 我试图在更新功能中调用拍摄动画,然后在产生激光镜头之前等待0.5秒.以下代码对我不起作用.我该怎么做才能达到预期的效果?
void Update()
{
if (Input.GetMouseButtonDown (0))
{
animator.SetTrigger("Shoot"); // Start animation
WaitAndShoot();
}
}
IEnumerator WaitAndShoot()
{
yield return new WaitForSeconds(0.5f);
Instantiate (shot, shotSpawn.transform.position,shotSpawn.transform.rotation);
}
Run Code Online (Sandbox Code Playgroud)