我需要一个非常了解Java的人和内存问题的建议.我有一个大文件(类似1.5GB),我需要在许多(例如100个小文件)较小的文件中剪切此文件.
我一般都知道怎么做(使用a BufferedReader),但我想知道你是否有关于内存的任何建议,或者提示如何更快地完成它.
我的文件包含文本,它不是二进制文件,每行大约有20个字符.
如果索引存在,你如何删除索引?
看起来很简单,但我确实在网上找到了什么.这个想法只有在它存在时才删除它,因为如果不存在,我将会出错并且我的进程停止.
我发现这是为了查找索引是否存在:
select index_name
from user_indexes
where table_name = 'myTable'
and index_name='myIndexName'
Run Code Online (Sandbox Code Playgroud)
但我不知道怎么把它放在一起
DROP INDEX myIndexName
Run Code Online (Sandbox Code Playgroud) 我正在处理一个查询(一个SELECT),我需要在表中插入这个结果.在进行插入之前,我有一些检查要做,如果所有列都有效,我将进行插入.
检查在存储过程中完成.在其他地方也使用相同的程序.所以我在考虑使用相同的程序进行检查.
该程序执行检查并插入值即可.
我试图在我的SELECT中调用该过程,但它不起作用.
SELECT field1, field2, myproc(field1, field2)
from MYTABLE.
Run Code Online (Sandbox Code Playgroud)
这种代码不起作用.
我认为可以使用游标完成,但我想避免使用游标.我正在寻找最简单的解决方案.
任何人,任何想法?
我正在开发一个包含大约400个输入文件和大约40个输出文件的程序.它很简单:它读取每个输入文件,并生成一个新文件但更大(基于算法).
我正在使用BufferedReader中的read()方法:
String encoding ="ISO-8859-1";
FileInputStream fis = new FileInputStream(nextFile);
BufferedReader reader = new BufferedReader(new InputStreamReader(fis, encoding));
char[] buffer = new char[8192] ;
Run Code Online (Sandbox Code Playgroud)
要读取我正在使用的输入文件:
private String getNextBlock() throws IOException{
boolean isNewFile = false;
int n = reader.read(buffer, 0, buffer.length);
if(n == -1) {
return null;
} else {
return new String(buffer,0,n);
}
}
Run Code Online (Sandbox Code Playgroud)
对于每个块,我正在进行一些检查(比如在块中查找一些字符串),然后我将其写入文件:
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("fileName"), encoding));
writer.write(textToWrite);
Run Code Online (Sandbox Code Playgroud)
问题是大约需要12分钟.我想要更快地找到别的东西.谁有更好的想法?
谢谢.
我需要在表的一列中存储(大)SQL查询,我想使用一个BLOB字段.要清楚,我想存储查询,而不是结果.
什么是最好用的:BLOB或者VARCHAR?或者别的什么呢?
我正在编写一段 Java 代码,但遇到转储问题。我正在进行一些调试,由于某种原因,当我尝试评估(观察或检查)方法内声明的某些变量时,它显示以下错误:
errors during the evaluation.
Run Code Online (Sandbox Code Playgroud)
我不明白。我正在使用 Eclipse 3.7。
例如,它甚至对方法参数也执行相同的操作(在方法执行结束之前应该可用)。
我的eclipse.ini文件是:
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
1024M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx1024M
Run Code Online (Sandbox Code Playgroud) 我需要一些帮助来解决以下问题。
我有一个spring boot应用程序,我想fluentd使用logback.
我创建了一个名为logback.xmlmy的文件,src/main/resources内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date - %level - [%thread] - %logger - [%file:%line] - %msg%n</pattern>
</encoder>
</appender>
<appender name="FLUENT_TEXT" class="ch.qos.logback.more.appenders.DataFluentAppender">
<tag>dab</tag>
<label>normal</label>
<remoteHost>localhost</remoteHost>
<port>24224</port>
<maxQueueSize>20</maxQueueSize>
</appender>
<logger name="org.com" level="DEBUG"/>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
<appender-ref ref="FLUENT_TEXT" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在我的build.gradle我有:
compile 'org.fluentd:fluent-logger:0.3.1'
compile 'com.sndyuk:logback-more-appenders:1.1.0'
Run Code Online (Sandbox Code Playgroud)
当我使用 gradle bootRun 启动应用程序时,我收到以下消息:
10:56:33,020 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - Attempted to append to non started …Run Code Online (Sandbox Code Playgroud) 我已经在互联网上搜索了几天,我没有找到我要找的东西。我正在开发一个 iOS 游戏,我想移动一些精灵usingSpringWithDamping(在移动我的精灵时有一些橡胶效果)。
我为 UIViews 找到了很多解决方案,但对于 SKSpriteNode 却一无所获。
我想使用阻尼效果将 SKSpriteNode 从位置 1 移动到位置 2。
你能给我一些想法吗?谢谢。
抄送
我正在为我的问题寻找解决方案,也许有人可以给我一些想法。我有一个API Gateway连接到aws lambdaA. 我必须处理这样的情况:
APi Gateway.所以,我的问题是如何链接这些 lambda,因为我不想拥有一个巨大的 lambda。起初,我考虑过使用,Step Functions除了它在异步模式下工作,所以对我的情况没有好处。我知道我可以做一个 lambda 来调用 step 函数并等待结果,但我不喜欢这个解决方案。
有什么好的解决方案的想法吗?
谢谢。
抄送
lambda amazon-web-services aws-api-gateway aws-step-functions
我想使用 OpenCV python 库调整图像大小。它有效,但图像质量很差。
我必须说,我想将这些图像用于照片共享网站,因此质量是必须的。
这是我目前的代码:
[...]
_image = image
height, width, channels = _image.shape
target_height = 1000
scale = height/target_height
_image = cv2.resize(image, (int(width/scale), int(height/scale)), interpolation = cv2.INTER_AREA)
cv2.imwrite(local_output_temp_file,image, (cv2.IMWRITE_JPEG_QUALITY, 100))
[...]
Run Code Online (Sandbox Code Playgroud)
不知道有没有其他参数可以用来指定图像的质量。
谢谢。