我的愿望非常简单和基本。但是,我找不到任何有效/明确的答案:D
我想知道如何删除 Google Cloud 存储中文件夹内的文件。
如果假设我有一个存储桶名称xxxx.appspot.com,并且里面有一个名为 的文件夹images,并且该文件夹中有一个图像(例如123.jpg),我想删除它。
这是我写的代码,但它没有删除它:
String bucketName = "xxxx.appspot.com";
GcsService gcsService = GcsServiceFactory.createGcsService();
gcsService.delete(new GcsFilename(bucketName,"images/123.jpg"));
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
提前致谢!
我正在使用Java和MySql在后端API中工作,我正在尝试在JPA 2.1中使用@SqlResultSetMapping将ONE-TO-MANY本机查询结果映射到POJO类,这是本机查询:
@NamedNativeQuery(name = "User.getAll”, query = "SELECT DISTINCT t1.ID, t1.RELIGION_ID t1.gender,t1.NAME,t1.CITY_ID , t2.question_id, t2.answer_id FROM user_table t1 inner join user_answer_table t2 on t1.ID = t2.User_ID“,resultSetMapping="userMapping")
Run Code Online (Sandbox Code Playgroud)
而且,这是我的结果SQL映射:
@SqlResultSetMapping(
name = "userMapping",
classes = {
@ConstructorResult(
targetClass = MiniUser.class,
columns = {
@ColumnResult(name = "id"),
@ColumnResult(name = "religion_id"),
@ColumnResult(name = "gender"),
@ColumnResult(name = "answers"),
@ColumnResult(name = "name"),
@ColumnResult(name = "city_id")
}
),
@ConstructorResult(
targetClass = MiniUserAnswer.class,
columns = {
@ColumnResult(name = "question_id"),
@ColumnResult(name = "answer_id")
}
)
})
Run Code Online (Sandbox Code Playgroud)
而且,这是POJO类的实现:(我刚刚删除了构造函数和getter/setter)
MiniUser类
public …Run Code Online (Sandbox Code Playgroud) 我已经Worte一个简单的多线程java应用程序,主要方法只创建5k个线程,每个线程将循环遍历一个有5M记录的列表来处理.
我的机器规格:
我的jar现在正在运行,而且我使用hTop监视我的应用程序,这是我在运行时可以看到的
这就是我构造一个Thread的方式:
ExecutorService executor = Executors.newCachedThreadPool();
Future<MatchResult> future = executor.submit(() -> {
Match match = new Match();
return match.find(this);
});
Run Code Online (Sandbox Code Playgroud)
Match.class
find(Main main){
// looping over a list of 5M
// process this values and doing some calculations
// send the result back to the caller
// this function has no problem and it just takes a long time to run (~160 min)
}
Run Code Online (Sandbox Code Playgroud)
现在我有一些问题:
1-基于我的理解,如果我有一个多线程进程,它将完全利用我的所有核心,直到任务完成,那么为什么工作负载只有0.5左右(只使用了一半核心)?
2-为什么我的Java应用程序状态是"S"(休眠),而它实际运行并填满日志文件?
3-为什么我只能看到5k中的2037个线程正在运行(这个数字实际上小于这个并随着时间的推移而增加)
我的目标:利用所有内核并尽可能快地完成所有这5k + :)
我在 bit-bucket 帐户下有一个存储库,该存储库有这 4 个分支:
- master
- API
- Admin
- Web
Run Code Online (Sandbox Code Playgroud)
我只有bitbucket-pipelines.yml下面的一个master branch,就像这样:
image: maven:3.5.0-jdk-7
pipelines:
branches:
API:
- step:
caches:
- maven
script:
- mvn install
Run Code Online (Sandbox Code Playgroud)
所以我希望每当 API 分支发生任何推送时都会触发这个管道,事实上除非推送到 master 分支,否则它不会发生,唯一的出路是将这个相同的文件也放在 API 分支下,虽然文档说它只有一个位于 repo root 下的副本master branch,那么我怎样才能实现这一目标呢?
如果我需要在所有分支中放置相同的管道文件,我认为它完全是嘲笑,那么任何人都可以澄清这一点吗?提前致谢!