有一张桌子,有200行.但是显示那里的实时元组的数量超过了(大约60K).
select count(*) from subscriber_offset_manager;
count
-------
200
(1 row)
SELECT schemaname,relname,n_live_tup,n_dead_tup FROM pg_stat_user_tables where relname='subscriber_offset_manager' ORDER BY n_dead_tup
;
schemaname | relname | n_live_tup | n_dead_tup
------------+---------------------------+------------+------------
public | subscriber_offset_manager | 61453 | 5
(1 row)
Run Code Online (Sandbox Code Playgroud)
但是从pg_stat_activity和pg_locks可以看出,我们无法跟踪任何打开的连接.
SELECT query, state,locktype,mode
FROM pg_locks
JOIN pg_stat_activity
USING (pid)
WHERE relation::regclass = 'subscriber_offset_manager'::regclass
;
query | state | locktype | mode
-------+-------+----------+------
(0 rows)
Run Code Online (Sandbox Code Playgroud)
我也试过这张桌子上的全真空,下面是结果:
这是输出.
vacuum FULL VERBOSE ANALYZE subscriber_offset_manager;
INFO: vacuuming "public.subscriber_offset_manager"
INFO: "subscriber_offset_manager": found 0 removable, 67920 …
Run Code Online (Sandbox Code Playgroud) 我是Java8的新手,我有一个场景,我需要从Map中检索与对象匹配的所有键.
想知道是否有办法获取所有密钥而不再从列表中重复它们.
Person.java
private String firstName;
private String lastName;
//setters and getters & constructor
MAIN Class.
String inputCriteriaFirstName = "john";
Map<String, Person> inputMap = new HashMap<>();
Collection<Person> personCollection = inputMap.values();
List<Person> personList = new ArrayList<>(personCollection);
List<Person> personOutputList = personList.stream()
.filter(p -> p.getFirstName().contains(inputCriteriaFirstName ))
.collect(Collectors.toList());
//IS There a BETTER way to DO Below ??
Set<String> keys = new HashSet<>();
for(Person person : personOutputList) {
keys.addAll(inputMap.entrySet().stream().filter(entry -> Objects.equals(entry.getValue(), person))
.map(Map.Entry::getKey).collect(Collectors.toSet()));
}
Run Code Online (Sandbox Code Playgroud) 我已阅读了很多文章,并找到了一些批处理方法
其中一个是使用flush和clear,以下是代码
long t1 = System.currentTimeMillis();
Session session = getSession();
Transaction transaction = session.beginTransaction();
try {
Query query = session.createQuery("FROM PersonEntity WHERE id > " + lastMaxId + " ORDER BY id");
query.setMaxResults(1000);
rows = query.list();
int count = 0;
if (rows == null || rows.size() == 0) {
return;
}
LOGGER.info("fetched {} rows from db", rows.size());
for (Object row : rows) {
PersonEntity personEntity = (PersonEntity) row;
personEntity.setName(randomAlphaNumeric(30));
lastMaxId = personEntity.getId();
session.saveOrUpdate(personEntity);
if (++count % 50 == 0) { …
Run Code Online (Sandbox Code Playgroud) 我正在使用HTML5音频播放器如下:
<audio controls>
<source src="<url>" type="audio/mp3">
</audio>
Run Code Online (Sandbox Code Playgroud)
现在,我想保护我的应用程序,所以我想在http请求中的Header参数中传递一些sessionId.
我找不到任何办法,如果有人知道解决方案,请帮忙.
要么
有没有其他玩家提供这种支持???
我在 gwt 中制作了一个网络应用程序,CSP Mitigator 说,我加载了许多 eval 语句和 js 中的 javascript uri,所以我的项目不是 Strict CSP Compatible 。
但就我而言,问题是,我用 java 编写代码,gwwt 为我制作 js。
我还询问了 gwt 社区,但他们说在 gwt 的下一个版本中,将涵盖 csp 合规性。
但在那之前,有谁知道,我该如何解决这个漏洞。
我很好奇,如何在java8流中总结多个变量.
Integer wCPU = 0;
Double wnetwork = 0.0;
Double wMem = 0.0;
this.slaContractList.forEach(sla -> {
wCPU += sla.getNumberOfCPUs();
wnetwork += sla.getNetworkBandwith();
wMem += sla.getMemory();
});
Run Code Online (Sandbox Code Playgroud)
但是,这不会编译,因为lambda表达式中的变量应该是final.
我们正在使用java 1.8.144_b_01.我们遇到一个问题,G1GC系统的使用突然出现例如:1到113,140,这比用户空间cpu的使用率非常高.
那时对象复制时间变得非常高〜正常的10倍,我经常看到以下日志:
2018-03-09T14:55:30.111 + 0530:45966.639:[GC暂停(G1撤离暂停)(年轻)(空间耗尽),2.1706858秒]
在此之后负载平均.开始飙升> 100,当我看到顶部时,我看到所有的cpu都是由sys空间占用的,而且大多数都显示100%.
所有这些突然发生〜每天在AWS上固定一段时间.有时应用程序运行10天没有问题,有时我们每天都会看到问题.使用模式每天都保持完全相同.
我接下来该怎么办?
[Eden: 2656.0M(13.5G)->0.0B(13.7G) Survivors: 440.0M->592.0M Heap: 14.2G(23.2G)->2547.0M(23.8G)]
[Times: user=0.00 sys=0.00, real=1.76 secs]
2018-03-09T14:55:26.647+0530: 45963.175: [GC pause (GCLocker Initiated GC) (young) (initial-mark), 0.1116088 secs]
[Parallel Time: 97.9 ms, GC Workers: 16]
[GC Worker Start (ms): Min: 45963178.4, Avg: 45963178.6, Max: 45963178.8, Diff: 0.4]
[Ext Root Scanning (ms): Min: 5.7, Avg: 6.6, Max: 12.7, Diff: 7.0, Sum: 104.9]
[Update RS (ms): Min: 40.7, Avg: 47.1, Max: 47.7, Diff: 7.0, Sum: 753.2] …
Run Code Online (Sandbox Code Playgroud) 最近,如果您使用的是Hibernate 5.2或更高版本,则该Query::list()
方法已被弃用.
现在,使用这两种方法有什么区别?
如果有人知道,请举例说明.
java ×7
hibernate ×3
java-8 ×2
java-stream ×2
postgresql ×2
collections ×1
g1gc ×1
gwt ×1
html5 ×1
html5-audio ×1
java-ee ×1
javascript ×1
jdbc ×1
jquery ×1
lambda ×1
load ×1
performance ×1
security ×1
sum ×1