问题列表 - 第38424页

如何降低GC期间的弱ref处理时间?

目前我遇到的问题是我的应用程序偶尔会显示很长的GC时间,但所有这些只是由弱参考处理引起的.所以线程停止的时间总是接近弱的ref处理时间.所有其他GC循环均为0.0001秒至0.200秒.

从gc.log(重新格式化):

10388.186: [GC[YG occupancy: 206547 K (306688 K)]10388.186: [Rescan (parallel) , 
 0.1095860 secs]10388.295: [weak refs processing, 2.0799570 secs] 
 [1 CMS-remark:  2973838K(3853568K)] 3180386K(4160256K), 2.1899230 secs] 
 [Times: user=2.51 sys=0.00, real=2.18 secs]
Total time for which application threads were stopped: 2.1906890 seconds
Run Code Online (Sandbox Code Playgroud)

目前我已经有了这些设置.尝试更简单的设置,但没有变化.

-Xms4g
-Xmx4g
-XX:NewSize=128m
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:MaxGCPauseMillis=50
-XX:CMSInitiatingOccupancyFraction=50
-XX:ParallelGCThreads=16
-XX:+DisableExplicitGC
Run Code Online (Sandbox Code Playgroud)

如果我打开NewSize,我最终会得到很长的正常GC循环.该机器有8个内核,并没有为应用程序烧掉那么多的CPU.试图尽早和同时运行旧的GC.

是的,我无法摆脱弱参考使用,因为这是第三方库的一部分.

java performance garbage-collection weak-references

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

如果SQL或Access中的逻辑查询

问候,SO人.

我正在开发一个让我使用Access数据库的项目.这是设置:

我有三张桌子:

Tab1 with employee names, ID#s, Manager names and Manager ID#s.
Tab2 with chat info, employee ID#s and employee names.
Tab3 with Manager ID#s, Manager names and team names.
Run Code Online (Sandbox Code Playgroud)

我目前有一个选择以下内容的查询:

tab2.[employee name], tab2.[employee id], tab3.[chat info], tab1.[manager id], tab1.[manager id], tab3.[team name]
where
tab2.[employee id] = tab1.[employee id] and tab2.[manager id] = tab3.[manager id];
Run Code Online (Sandbox Code Playgroud)

我想要完成的是:如果ID在行的某个地方不匹配,我想有办法在"团队"字段中放置"未知".有任何想法吗?

提前致谢!

sql database ms-access

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

MySQL,合并空值的等价物?

我知道coalesce将返回传递给它的第一个非null值.是否有类似的东西将返回第一个非空/非假值?

例:

select FunctionIWant(0,'','banana') as fruit;  //returns banana.
Run Code Online (Sandbox Code Playgroud)

mysql sql

53
推荐指数
2
解决办法
2万
查看次数

当你有密钥时,让Git项目成为开源的

我在私有存储库后面的GitHub上有一个项目.我想公开回购.但是,我的项目使用密钥.

如何在保护这些密钥的"历史"的同时公开项目?我猜我是SOL,应该只是使密钥无效以防止它们被使用.

请注意,这与 如何开源使用API​​密钥的应用程序不同

要么

当您的应用程序使用个人API密钥时,如何处理"开源"?

由于我的项目已经在Git上,因此可以轻松查看整个源历史记录.我想我能做的就是隐藏一个单独的项目,隐藏API密钥,然后公开回购.但是用户会错过整个分支历史,他们可能会对此感到好奇(我知道我会).

git api open-source github secret-key

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

使用python和PIL模块导入PPM图像

编辑: 实际上,我需要一种方法,我可以读取线条,并将像素信息提取到一些结构,所以我可以使用putpixel函数创建基于ppm p3文件的图像.

我已经尝试了这么久,我不能只是做对了.

我正在使用Python Imaging Library(PIL),我想打开一个PPM图像并将其显示为屏幕上的图像.

我怎么能只使用PIL呢?

这是我的ppm图片.它只是我创建的7x1图像.

P3
# size 7x1
7 1
255
0
0
0
201
24
24
24
201
45
24
54
201
201
24
182
24
201
178
104
59
14
Run Code Online (Sandbox Code Playgroud)

python import image ppm python-imaging-library

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

Mustache.js - 你如何挂钩事件?

我正在考虑将Mustache.js用于我正在进行的一个小项目......我还没有看到答案的一件事是 - 哪种方法可以用来挂钩活动?

我是用胡子创建树状菜单的东西,但我不认为哪个是将事件连接到每个节点的最佳或最干净的方法?

mustache

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

循环控制,更有效

下面两种选择中的哪一种更有效?有什么建议可以进一步改进吗?

备选方案A:

for i in BAR_Items:
    if BAR_Items[i] != A and SHAPE[i+"_SHP"] != A: continue
    if i in Selection:
        Selection.remove(i)
        BAR_Items[i].clearActions()
        BAR_Items[i].add(vizact.spinTo(axisAngle=[0,1,0,90],speed=300))
        VFrame.SetStatusText(frame, i + " has been deselected. "+ str(Selection))
    else:
        Selection.append(i)
        BAR_Items[i].add(vizact.spin(0,1,0,90,viz.FOREVER))
        VFrame.SetStatusText(frame, i + " selected. " + str(Selection))
    break
Run Code Online (Sandbox Code Playgroud)

备选方案B:

for i in BAR_Items:
    if BAR_Items[i] == A or SHAPE[i+"_SHP"] == A:
        if i in Selection:
            Selection.remove(i)
            BAR_Items[i].clearActions()
            BAR_Items[i].add(vizact.spinTo(axisAngle=[0,1,0,90],speed=300))
            VFrame.SetStatusText(frame, i + " has been deselected. "+ str(Selection))
        else:
            Selection.append(i)
            BAR_Items[i].add(vizact.spin(0,1,0,90,viz.FOREVER))
            VFrame.SetStatusText(frame, i + " selected. …
Run Code Online (Sandbox Code Playgroud)

python performance loops

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

Haskell中的负双打或浮点数(macports)

当我尝试显示负双精度或浮点数时,为什么会出现分段错误?负整数没有问题.

Prelude> let a = 4
Prelude> :t a
a :: Integer
Prelude> let b = -4
Prelude> b
-4
Prelude> :t b
b :: Integer
Prelude> let c = 5.6
Prelude> :t c
c :: Double
Prelude> let d = -5.6
Prelude> :t d
d :: Double
Prelude> show d
"-Segmentation fault
Run Code Online (Sandbox Code Playgroud)

我尝试了各种方式,似乎正确理解了数字,但没有显示.版本信息:

ghci --version
The Glorious Glasgow Haskell Compilation System, version 6.10.4
Run Code Online (Sandbox Code Playgroud)

haskell macports ghci

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

如何从Perl数组中删除元素?

我有一个非常大的数组,我想从数组中删除第2,第8,第14等元素.我的阵列目前是这样的:

Element1 x A B C
Element 2 y A B C
Element 3 z A B C
Run Code Online (Sandbox Code Playgroud)

从广义上讲,我想删除x,y和z(仅作为示例,我的数组稍微复杂一些).然后拉起剩下的部分.如同,我不希望他们的位置有空白.我想得到:

Element 1 A B C
Element 2 A B C
Element 3 A B C
Run Code Online (Sandbox Code Playgroud)

我尝试用我的数组"todelete"尝试一下:

print "#Before Deleting"; print
$todelete[0]; print "\n"; print
$todelete[2]; print "\n"; print
$todelete[3];

for ($count=2; $count<@todelete;
$count=$count+6) {  delete
$todelete[$count]; }

print "#After Deleting"; print
$todelete[0]; print "\n"; print
$todelete[2]; print "\n"; print
$todelete[3];$todelete[3];
Run Code Online (Sandbox Code Playgroud)

但是,目前,我认为它只是将我的价值统一起来,因为当我打印结果时,它告诉我:

Use of uninitialized value in print 
Run Code Online (Sandbox Code Playgroud)

建议?

arrays perl

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

在Clojure中,何时应该使用记录或向量来表示异构节点类型的树?

哪个是更好的惯用语法练习,用于表示由不同节点类型组成的树:

A.使用deftype或defrecord定义几种不同类型记录中的树构建:

(defrecord node_a [left right])
(defrecord node_b [left right])
(defrecord leaf [])

(def my-tree (node_a. (node_b. (leaf.) (leaf.)) (leaf.)))
Run Code Online (Sandbox Code Playgroud)

B.用向量构建树,用关键字指定类型:

(def my-tree [:node-a [:node-b :leaf :leaf] :leaf])
Run Code Online (Sandbox Code Playgroud)

我看到的大多数clojure代码似乎都支持使用通用数据结构(向量,映射等),而不是数据类型或记录.Hiccup,举一个例子,非常好地使用vector + keyword方法表示html.

什么时候我们应该比另一种更喜欢一种风格?

tree types idioms clojure

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