小编Osc*_*Ryz的帖子

scala生成的字节代码如何丢弃已检查的异常?

如果可以为应该抛出已检查异常的方法写入字节代码?

例如,除非方法声明它抛出已检查的异常,否则以下Java类不会编译:

public class CheckedExceptionJava {
  public Class<?> testChecked(String s) throws ClassNotFoundException {
    return Class.forName(s);
  }
}
Run Code Online (Sandbox Code Playgroud)

虽然以下Scala等价物(因为Scala没有检查异常):

class CheckedException { 
    def testChecked( s : String )  = Class.forName( s ) 
}
Run Code Online (Sandbox Code Playgroud)

即使生成的字节码几乎相同:

Compiled from "CheckedExceptionJava.java"
public class CheckedExceptionJava extends java.lang.Object{
public CheckedExceptionJava();
  Code:
   0:   aload_0
   1:   invokespecial   #1; //Method java/lang/Object."<init>":()V
   4:   return

public java.lang.Class testChecked(java.lang.String)   throws java.lang.ClassNotFoundException;
  Code:
   0:   aload_1
   1:   invokestatic    #2; //Method java/lang/Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
   4:   areturn

}

Compiled from "CheckedException.scala"
public class CheckedException extends java.lang.Object implements scala.ScalaObject{
public …
Run Code Online (Sandbox Code Playgroud)

java scala bytecode checked-exceptions

5
推荐指数
1
解决办法
972
查看次数

确定使用了哪个提交按钮?

是否可以确定使用了哪个提交按钮?我有一个带有2个提交按钮的确认表.第一个将确认订单,执行一些数据库任务,然后重定向.第二个是取消按钮,它将只重定向到同一页面,而不执行任何数据库任务.

是否可以在servlet中,最好是通过请求对象,来确定使用了哪个提交按钮?我宁愿不依赖于Javascript,因为这很简单,但如果唯一的可能性,它会诉诸它.

谢谢.

html java forms servlets http

4
推荐指数
2
解决办法
2871
查看次数

计算机类型

我最近读过一些与计算机有关的东西.

阅读与Lisp和Emacs有关,它们更像是图灵机,更符合"建筑"模型.

另一方面,它是C和"其他"建筑模型是以我不记得的名字命名的,但被命名为最成功的计算机类型,因为这是我们现在都使用的(即cpu + ram + hd) +等等).

如果它不是图灵机那种类型的计算机的名称是什么(afaik是抽象模型而不是物理模型)

字节!

architecture theory history computer-science von-neumann

4
推荐指数
1
解决办法
409
查看次数

Linux中的java.lang.UnsatisfiedLinkError

我已经设法进入一台linux机器来尝试这个答案中建议的HotKey库.

我已经编译了示例代码,现在我运行该程序,我得到以下消息:

[oracle@machine jxgrabkey-0.2.1_i386]$ java -classpath lib/JXGrabKey.jar:Example JXGrabKeyTest

Exception in thread "main" **java.lang.UnsatisfiedLinkError:** /home/oracle/javasample/jxgrabkey-0.2.1_i386/lib/libJXGrabKey.so: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /home/oracle/javasample/jxgrabkey-0.2.1_i386/lib/libJXGrabKey.so)
   at java.lang.Runtime._load(libgcj.so.7rh)
   at java.lang.Runtime.load(libgcj.so.7rh)
   at java.lang.System.load(libgcj.so.7rh)
   at JXGrabKeyTest.main(JXGrabKeyTest.java:17)

我知道如何在Windows中处理这个问题(只需将DLL添加到PATH env var),但我对linux不太确定.

我已经阅读了一些关于LD_LIBRARY_PATH和其他一些env vars的内容,但我可以使它工作.

有什么建议?

编辑

在mmyers的支持下识别问题并阅读此线程另一个.

我可以说:

我的系统是:Linux 2.6.18-53.el5

我的GCC版本是(是):

GCC-C++ - 4.1.2-14.el5

GCC-gfortran-4.1.2-14.el5

libgcc中,4.1.2-14.el5

GCC-4.1.2-14.el5

问题是我需要gcc 4.2.0

Aaand显然我的系统没有gcc 4.2.0.

我想我必须等待它来或者作者在以前的版本中重新编译它.

mmyers,非常感谢你的帮助.

java linux java-native-interface native

4
推荐指数
1
解决办法
2万
查看次数

比较javascript日期

我将日期与这样的事情进行比较:

var dt = new Date();    

dt.setDate("17");               
dt.setMonth(06); 
dt.setYear("2009");

var date = new Date();

console.log("dt(%s) == date(%s) == (%s)", dt, date, (dt == date) );

if( now == dt ) {
    ....
}
Run Code Online (Sandbox Code Playgroud)

字符串值当然是动态的.

在日志中我看到:

dt(Fri Jul 17 2009 18:36:56 GMT-0500 (CST)) == date(Fri Jul 17 2009 18:36:56 GMT-0500 (CST) == (false)
Run Code Online (Sandbox Code Playgroud)

我试过.equals()但它没有用(我正在尝试JavaScript的Java部分:P)

如何比较这些日期以便它们返回true?

javascript date-comparison

4
推荐指数
1
解决办法
3774
查看次数

在命令行中指定antialias属性

我记得,不久前,有人发布了一个关于如何指定全局渲染提示以在java中使用反别名的链接.

不幸的是我找不到问题.

如何指定渲染提示在swing中使用反别名?

java swing antialiasing

4
推荐指数
1
解决办法
1201
查看次数

我怎么知道10385274000是否符合:Oracle的NUMBER(10)?

我整个星期都在工作,以解决生产错误.

我终于找到了能够找到导致所有混乱的罪魁祸首的记录.

我有以下错误消息:

java.sql.SQLException: [BEA][Oracle JDBC Driver][Oracle]ORA-01438: value larger than specified precision allows for this column
Run Code Online (Sandbox Code Playgroud)

事件来自所有信息,我认为这可能是错误的数据,系统正试图插入:

10385274000
Run Code Online (Sandbox Code Playgroud)

进入一个数字(10)

我怎么知道这个值是否合适?

谢谢

编辑

根据Michel Todd的建议:

create table xyz( testfield number( 10 ) );

insert into xyz values( 10385274000 )


Error: ORA-01438: value larger than specified precision allowed for this column
Run Code Online (Sandbox Code Playgroud)

感谢你们!!!

谢谢stackoverflow

编辑

给自己的注意事项(不要忘记是什么问题)

我有这个Oracle产品,它在数据库表中存储事件的时间

START_TIME|END_TIME
Run Code Online (Sandbox Code Playgroud)

事实证明,每隔一夜它就会将这些信息备份到另一个表中,但会在此过程中执行转换.它存储为:

TOTALTIME
Run Code Online (Sandbox Code Playgroud)

当通过减去ENDTIME - STARTTIME计算此字段时出现问题.结果编号存储在此列中,定义为:NUMBER(10)

好吧,事实证明,如果END_TIME-START_TIME在时间上太远(大约4个月左右),那么这个值(以毫秒为单位)会很大,它将不适合目标列(我猜它有类似于endTime的东西) .getTime() - 代码中的startTime.getTime())

所有这些听起来太容易而且太傻了,但我花了4天时间才发现,因为这是一个封闭的应用程序,我不知道发生了什么,我唯一得到的就是堆栈跟踪.

我不得不对整个过程进行逆向工程(在OLD意义上,用手,显然是从源头开始)找到这个.

当我这样做时,我的"手动编码迁移器"中出现了同样的错误,并找出解决方法!

java oracle types jdbc maxlength

4
推荐指数
1
解决办法
1万
查看次数

删除用户帐户有什么影响?

我过去使用过的大多数网站(包括此网站)都没有提供删除自己帐户的选项.

我认为主要原因是避免创建项目的孤儿院(或删除这些项目的级联).

现代网站(像这一个)有一个地方,当一个帐户被放弃时这些项目(在SO的情况下,它是用户" 社区 ").

在您看来,不提供"删除我的帐户"功能的理由是什么?

安全?懒惰?无知?错误?还是功能?

我们正在设计一个小型Web应用程序,我们正在讨论这个主题.但是,由于不允许用户删除帐户,我们找不到太多理由.

language-agnostic web-applications user-accounts

4
推荐指数
1
解决办法
266
查看次数

javascript中的三个地图实现.哪一个更好?

我为一些任务写了一个简单的地图实现.然后,出于好奇,我又写了两篇.我喜欢map1,但代码有点难以阅读.如果有人感兴趣,我会很感激简单的代码审查.

哪一个更好?你知道在javascript中实现这个的其他方法吗?

var map = function(arr, func) {
  var newarr = [];
  for (var i = 0; i < arr.length; i++) {
    newarr[i] = func(arr[i]);
  }
  return newarr;
};

var map1 = function(arr, func) {
  if (arr.length === 0) return [];
  return [func(arr[0])].concat(funcmap(arr.slice(1), func));
};

var map2 = function(arr, func) {
  var iter = function(result, i) {
    if (i === arr.length) return result;
    result.push(func(arr[i]));
    return iter(result, i+1);
  };
  return iter([], 0);
};
Run Code Online (Sandbox Code Playgroud)

谢谢!

编辑

我一般都在考虑这种功能.

例如,现在我将使用它来迭代这样:

map(['class1', 'class2', 'class3'], function(cls) …
Run Code Online (Sandbox Code Playgroud)

javascript map

4
推荐指数
2
解决办法
425
查看次数

解析SDK失败

在我的第一篇文章中,我正在使用 Inteliij,但我的项目有问题。我正在Spring Boot中制作项目。在这台计算机上一切正常。今天,当我将这个项目从我的计算机复制到另一台计算机时,当我尝试运行“无法解析 SDK 尝试查找 SDK”的项目时,我遇到了麻烦。当我点击蓝色链接时,它不起作用。

有关问题的信息

我正在检查设置=>构建..=>编译器=>java编译器。java编译器和项目结构=>SDK。SDK看起来都不错。我不知道为什么这不起作用。也许有人有类似的问题,并且您知道如何解决这个问题。

谢谢。

编辑: 门禁

java sdk intellij-idea spring-boot option-type

4
推荐指数
1
解决办法
7032
查看次数