小编lam*_*988的帖子

有更快的方法输出PDF文件吗?

这是一段将PDF文件输出到浏览器的代码,它可以更快吗?
这是在Java servlet中实现的.

private ByteArrayOutputStream getByteArrayOutputStreamFromFile(File file) throws Exception {
        BufferedInputStream bis = null;
        ByteArrayOutputStream bos = null;
        try {
            bis = new BufferedInputStream(new FileInputStream(file));
            bos = new ByteArrayOutputStream();
            byte[] byteContent = new byte[1024 * 1024];
            int len = 0;
            while ((len = bis.read(byteContent)) != -1) {
                bos.write(byteContent, 0, len);
            }
            return bos;
        } catch (Exception ex) {
            throw ex;
        } finally {
            if (bis != null) {
                bis.close();
            }
            if (bos != null) {
                bos.close();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

java servlets

3
推荐指数
2
解决办法
1240
查看次数

这段代码在做什么?

>>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'
>>> non_null = string1 or string2 or string3
>>> non_null
'Trondheim'
Run Code Online (Sandbox Code Playgroud)

这样,通过此的蟒蛇教程页面,我不明白,2号线.

python

3
推荐指数
1
解决办法
286
查看次数

OpenVMS中的DCL符号语法

我对OpenVMS的DCL中的一些语法感到困惑.例如,这些是困扰我的一些线路:

$    wo = "write sys$output"
Run Code Online (Sandbox Code Playgroud)

它是否wo为write sys $输出创建了一个符号?

$ billing_run_number   == p1
Run Code Online (Sandbox Code Playgroud)

是否p1在执行时将参数传递给.com文件?它可以提供多少个参数?

$ wo "BILLING_RUN_NUMBER   = ''billing_run_number'"
Run Code Online (Sandbox Code Playgroud)

'abc'是否被符号abc的内容替换?为什么它''abc'而不是'abc'?我们可以使用""吗?

$ if ((status .nes. "P") .and. (status .nes. "M")) .or. (ftp_status .nes. "Y")
Run Code Online (Sandbox Code Playgroud)

什么.nes.意思?等于?我也见过.ne.,.eqs.太.他们有什么不同?

为什么"和"和"或"被两个点包围?DCL特定的语法?

如果有任何易于理解的免费在线教程,那会不会很好.谢谢你们!

dcl openvms

3
推荐指数
2
解决办法
3356
查看次数

如何根据旧记录插入新记录并使它们不同?

例如,有一个表:

表: PATIENT_DETAIL

PATIENT_NAME(varchar), 
DISEASE(varchar), 
SICK_DEGREE(number), 
START_TIME(date), 
END_TIME(date)
Run Code Online (Sandbox Code Playgroud)

表中有1000名患者,每个患者可能有不同的疾病.有些患有疾病A,有些患有疾病B,有些患有疾病C.

现在我想为每个患者插入一个他们患有新疾病D的记录,但我希望他们有不同程度的疾病.数字可以是1到1000.

我想这样做,但他们都有一定程度的:

INSERT INTO PATIENT_DETAIL
SELECT PATIENT_NAME, 
'DISEASE D', 
(select dbms_random.value(1,1000) num from dual), 
sysdate, 
sysdate
Run Code Online (Sandbox Code Playgroud)

插入1000行.

如果代码(从双重中选择dbms_random.value(1,1000)num)生成500,那么所有患者的疾病程度将为500,但我希望它们不同.

sql oracle oracle-sqldeveloper

3
推荐指数
1
解决办法
461
查看次数

每月重新加载一次servlet

如何每月重新加载一次servlet?

我们得到的一些数据会每月更改一次,数据是针对servlet的,但是我们不需要将数据保存到DB中,而是我们想让它成为一个配置文件,每月更换一次,怎么能我这样做?

我知道servlet的生命周期策略是由容器控制的,我使用的是websphere 7,但我不知道是否有办法在websphere中配置它.

调用destory()方法会影响servlet的运行实例吗?AFAIK,servlet是多线程的.

java websphere servlets reload

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

关于关键字super的问题

在"Java in a Nutshell"一书中,第3章,第3.5节"子类和继承"中,有一段关于super用于访问overriden方法的用法:

请注意,super关键字调用方法的最立即重写版本.假设类A有一个子类B,它有一个子类C,并且所有三个类都定义了相同的方法f().方法Cf()可以使用super.f()调用它直接覆盖的方法Bf().但是Cf()没有办法直接调用Af():super.super.f()不是合法的Java语法.当然,如果Cf()调用Bf(),则假设Bf()也可以调用Af()是合理的.在使用重写方法时,这种链接相对常见:它是一种在不完全替换方法的情况下增强方法行为的方法.我们在本章前面所示的示例finalize()方法中看到了这种技术:该方法调用了super.finalize()来运行它的超类终结方法.

这是什么意思?C类实例无法调用A类的f()?为什么?

java

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

这个程序的流程是什么?

我遇到了一个让我困惑的cobol程序,是包含代码的页面,它试图证明ALTER有多糟糕,但同时我不理解程序流程.

     PERFORM 2100-PROCESS-RECORD THRU 2199-EXIT.
...
 2100-PROCESS-RECORD. 
     GO TO 2110-PROCESS-HEADER.
*
 2110-PROCESS-HEADER.
* code to process a file header
     ALTER 2100-PROCESS-RECORD TO 2120-PROCESS-DETAIL.
     GO TO 2199-EXIT.
*
 2120-PROCESS-DETAIL.
* code to process a detail record 
     GO TO 2199-EXIT.
...
*
 2199-EXIT.
     EXIT.
Run Code Online (Sandbox Code Playgroud)

在我看来,流程是这样的:

     PERFORM 2100-PROCESS-RECORD THRU 2199-EXIT.
...
 2100-PROCESS-RECORD. 
     GO TO 2110-PROCESS-HEADER.
*
 2110-PROCESS-HEADER.
* code to process a file header
     ALTER 2100-PROCESS-RECORD TO 2120-PROCESS-DETAIL.
     GO TO 2199-EXIT.

 2199-EXIT.
     EXIT.
Run Code Online (Sandbox Code Playgroud)

如果ALTER要更改GO-TO的目的地,如果GO-TO已经执行并退出程序,它如何有用?

cobol

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

为什么所有模块一起运行?

我刚刚制作了一份eclipse的新副本并安装了pydev.

在我第一次尝试使用eclipse中的pydev时,我在src包下创建了2个模块(默认的一个)

FirstModule.py:

'''
Created on 18.06.2009

@author: Lars Vogel
'''
def add(a,b):
    return a+b

def addFixedValue(a):
    y = 5
    return y +a

print "123"
Run Code Online (Sandbox Code Playgroud)

run.py:

'''
Created on Jun 20, 2011

@author: Raymond.Yeung
'''
from FirstModule import add

print add(1,2)
print "Helloword"
Run Code Online (Sandbox Code Playgroud)

当我拉出运行按钮的下拉菜单,然后单击"ProjectName run.py"时,结果如下:

123
3
Helloword
Run Code Online (Sandbox Code Playgroud)

显然这两个模块都运行了,为什么?这是默认设置吗?

python eclipse pydev

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

LIS,OBJ和EXE文件之间有什么关系?

我正在使用不同的编译器CC.它不像GCC那样有效.

当我使用GCC时,我可以执行"gcc -o exe_filename source_filename",输出将是一个exe文件.

当我使用CC时,我需要2个步骤.首先我编译源文件(假设它涉及.c和.h文件)并创建.lis文件和.obj文件.然后我做了一个创建.exe文件的链接命令.

LIS,OBJ和EXE文件之间有什么关系?我问这个是因为我想知道如果我想在另一台机器上使用exe而不包含不必要的文件,我需要哪些文件.如果LIS和OBJ仅用于编译,我不需要在另一台机器上.

c openvms

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

支持JVM的平台

Java被称为"一次写入,随处执行",但我想知道它到处都是吗?

java程序的执行依赖于JVM,我不知道有多少操作系统支持JVM.

我去了一个oracle(以前是sun)网站来检查Java的规范,它只有Windows,Linux和Solaris.这就是全部?我从未听说过人们在VMS系统中执行Java.但是,我不是这个列表,它没有AIX,我相信它可以运行java程序.

java jvm

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

标签 统计

java ×4

openvms ×2

python ×2

servlets ×2

c ×1

cobol ×1

dcl ×1

eclipse ×1

jvm ×1

oracle ×1

oracle-sqldeveloper ×1

pydev ×1

reload ×1

sql ×1

websphere ×1