这是一段将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) >>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'
>>> non_null = string1 or string2 or string3
>>> non_null
'Trondheim'
Run Code Online (Sandbox Code Playgroud)
这样,通过此的蟒蛇教程页面,我不明白,2号线.
我对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特定的语法?
如果有任何易于理解的免费在线教程,那会不会很好.谢谢你们!
例如,有一个表:
表: 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,但我希望它们不同.
如何每月重新加载一次servlet?
我们得到的一些数据会每月更改一次,数据是针对servlet的,但是我们不需要将数据保存到DB中,而是我们想让它成为一个配置文件,每月更换一次,怎么能我这样做?
我知道servlet的生命周期策略是由容器控制的,我使用的是websphere 7,但我不知道是否有办法在websphere中配置它.
调用destory()方法会影响servlet的运行实例吗?AFAIK,servlet是多线程的.
在"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()?为什么?
我遇到了一个让我困惑的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已经执行并退出程序,它如何有用?
我刚刚制作了一份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)
显然这两个模块都运行了,为什么?这是默认设置吗?
我正在使用不同的编译器CC.它不像GCC那样有效.
当我使用GCC时,我可以执行"gcc -o exe_filename source_filename",输出将是一个exe文件.
当我使用CC时,我需要2个步骤.首先我编译源文件(假设它涉及.c和.h文件)并创建.lis文件和.obj文件.然后我做了一个创建.exe文件的链接命令.
LIS,OBJ和EXE文件之间有什么关系?我问这个是因为我想知道如果我想在另一台机器上使用exe而不包含不必要的文件,我需要哪些文件.如果LIS和OBJ仅用于编译,我不需要在另一台机器上.
Java被称为"一次写入,随处执行",但我想知道它到处都是吗?
java程序的执行依赖于JVM,我不知道有多少操作系统支持JVM.
我去了一个oracle(以前是sun)网站来检查Java的规范,它只有Windows,Linux和Solaris.这就是全部?我从未听说过人们在VMS系统中执行Java.但是,我不是这个列表,它没有AIX,我相信它可以运行java程序.