小编rog*_*ack的帖子

为什么基于java的编辑器通常会变慢,因为据说在预热阶段之后java会很快?

好吧,我知道大多数人都说"这些日子java速度不慢,只是启动阶段很慢",但没有人能看到我的眼睛并且告诉我使用netbeans或eclipse或jedit就像说的那样响应,视觉工作室或文字,即使经过几个小时的"热身"时间.哦,启动时间肯定是一个问题(咳嗽日食)我会承认,但我在这里谈论一般的反应.例如,当您调整窗口大小时,Jedit会有一个明显的滞后.

我认为,合理的苹果与苹果的比较将是jedit(或任何基于Java的文本编辑器)与TextMate,SciTE.

它真正归结为的问题是"如果netbeans/eclipse完全用C语言重写,具有相同的功能集,你会期望它具有与目前相同的性能特征."

有任何想法吗?

还有一些观察:

这个简单的基于回转的编辑器[1]在调整窗口大小时有很奇怪的滞后,但滚动感觉非常敏感.此外,使用netbeans,当你开始调整大小时,直到你"停止"调整窗口的大小,它会画出一个丑陋的黑色背景[4].也许swing在窗口被拖动时拒绝刷新?

这是一个简单的swt简单文本编辑器[2].它对拖动和滚动都非常敏感.

这是另一个简单的(jface)swt编辑器[3].它调整得很糟糕我认为它一定是一个糟糕的侥幸.我希望.

我还注意到记事本和视觉工作室在刷新时往往会显示临时白色"blips"(例如:当通过非常长的文档使用页面时).swt和swing应用程序似乎没有那些额外的白色blip,所以我想知道他们是否有一些额外的内部缓冲或其他东西.这可能导致小幅放缓,明智

[5]是一个相关但不完全相同的问题.

我目前的猜测,基于现有的答案/评论:

  • Netbeans刚刚变得臃肿.也许有一些关于编辑java的东西让编辑器创建者过分了?也许他们出于某种原因没有优化他们的编辑器?
  • Java编辑器使用大量的RAM可能会使事情远离L2缓存?
  • Java编辑器中编辑Java,所以也许他们必须继续不断地呼唤,说,javac的,其每次唱完即被启动慢的处罚一次?
  • SWT是原生小部件的抽象层,可能会减慢速度.
  • Swing有一个糟糕的调整大小刷新策略,这使它"显得"缓慢.
  • Netbeans使用客户端虚拟机,所以可能只是没有调整速度?(见[6]它包含一个答案是参数的转换,你可以通过使用NetBeans,试图加快它链接到另外一个问题).
  • 在滚动期间,Swing/SWT似乎比本机Windows应用程序具有更少的工件.也许这意味着他们有缓冲"助手"来帮助避免伪影,导致感知缓慢,因为它不会立即刷新.
  • 也许Java没有巨石基准,所以也许它没有针对那种类型的负载进行优化?也许存在一些隐藏的低效率.
  • 相关地,也许java可以"变得"快,但不知何故,编辑创建者没有有效地使用它("核心库将节省我速度!").
  • 也许它只是"感觉"慢,因为(至少netbeans)必须经常调用新的java实例来运行调试器等,每个实例都需要自己的慢启动时间.

谢谢!-roger-

[1] http://www.picksourcecode.com/articles/explan.php?id=6c9882bbac1c7093bd25041881277658&ems=9a0fa83125d48ab7258eab27754dd23e&lg=10

[2] https://gist.github.com/972234

[3] http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/BasicEditor.htm编译/运行它像java -cp.; swt\win32.jar; jface/*BasicEditor

[4] http://twitpic.com/4xi8ov

[5] Java真的很慢吗?

[6] 有没有办法使netbeans使用热点服务器vm

java performance editor

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

检测服务器端的视网膜(HD)显示

我发现了许多关于Retina Display的问题,但没有一个答案是在服务器端.

我想根据屏幕提供不同的图像,ex(在PHP中):

if( $is_retina)
    $thumbnail = get_image( $item_photo, 'thumbnail_retina' ) ;
else
    $thumbnail = get_image( $item_photo, 'thumbnail' ) ;
Run Code Online (Sandbox Code Playgroud)

你能看到解决这个问题的方法吗?

我只能想象在JavaScript中进行测试,设置Cookie.然而,这需要初始交换来设置它.谁有更好的解决方案?

Cookie设置代码:

(function(){
  if( document.cookie.indexOf('device_pixel_ratio') == -1
      && 'devicePixelRatio' in window
      && window.devicePixelRatio == 2 ){

    document.cookie = 'device_pixel_ratio=' + window.devicePixelRatio + ';';
    window.location.reload();
  }
})();
Run Code Online (Sandbox Code Playgroud)

php retina-display

20
推荐指数
2
解决办法
9881
查看次数

如何通过SSH远程将命令自动运行到多个服务器并行?

我已经搜索过类似的问题,但除了运行一个命令或者一些命令,例如:

ssh user@host -t sudo su -
Run Code Online (Sandbox Code Playgroud)

但是,如果我基本上需要同时运行一个脚本(比方说)15个服务器.这在bash中是可行的吗?在完美的世界中,我需要尽可能避免安装应用程序.为了论证,让我们说我需要在10个主机上执行以下操作:

  1. 部署新的Tomcat容器
  2. 在容器中部署应用程序并进行配置
  3. 配置Apache vhost
  4. 重新加载Apache

我有一个完成所有这些操作的脚本,但它依赖于我登录所有服务器,从repo中删除脚本,然后运行它.如果这在bash中不可行,你建议用什么替代方案?我是否需要更大的锤子,例如Perl(Python可能是首选,因为我可以保证在RHEL环境中的所有盒子上都有Python,这要归功于yum/up2date)?如果有人能够向我指出任何有用的信息,我将不胜感激,特别是如果它在bash中可行的话.我会满足于Perl或Python,但我只是不知道那些(继续).谢谢!

sysadmin ssh bash command

19
推荐指数
5
解决办法
5万
查看次数

执行postgreql函数时提交事务

我有Postgresql函数,它必须将大约150万个数据插入表中.我想要的是我希望看到每个记录插入填充表格.目前当我尝试使用大约1000条记录时会发生什么,只有在完成函数执行后才会填充get.如果我在中途停止功能,则不会填充任何数据.即使在插入了一定数量的记录后停止,我怎样才能提交记录?

postgresql function commit

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

如何使用generate_series和random生成Postgresql的大数据样本?

我想生成大数据样本(差不多100万条记录)来研究postgresql中的tuplesort.c的多相合并,我希望模式如下:

CREATE TABLE Departments (code VARCHAR(4), UNIQUE (code));
CREATE TABLE Towns (
  id SERIAL UNIQUE NOT NULL,
  code VARCHAR(10) NOT NULL, -- not unique
  article TEXT,
  name TEXT NOT NULL, -- not unique
  department VARCHAR(4) NOT NULL REFERENCES Departments (code),
  UNIQUE (code, department)
);
Run Code Online (Sandbox Code Playgroud)

如何使用generate_series和随机来做呢?非常感谢!

postgresql

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

如何在每个Slave节点的Jenkins中配置Maven安装?

症状

如果我在Jenkins(New Item => Maven项目)中使用所有默认值创建Maven作业并运行它,我会收到此错误:

Started by user anonymous
Building on master in workspace /var/lib/jenkins/jobs/job_name/workspace
ERROR: A Maven installation needs to be available for this project to be built.Either your server has no Maven installations defined, or the requested Maven version does not exist.
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)

Maven从命令行运行完美mvn.

不可接受的解决方法

Maven安装有一个系统范围的Jenkins配置:Manage Jenkins => Configure System => Maven/Maven安装.如果我使用此Web UI添加Maven安装(通过在MAVEN_HOMEas中提供预安装的路径/usr/share/maven),则作业运行成功.

问题:为什么它是全局Jenkins配置而不是特定于Slave的配置?

全局Jenkins配置没有意义:Maven是按Slave运行的,而不是每个Jenkins运行的.

Jenkins运行作业的奴隶动物园可能包含具有各种平台,操作系统的奴隶,以及在不同位置安装不同版本的Maven的环境.

问题:如何为每个Slave节点配置Maven安装?

在Slave节点上为整个系统设置环境变量MAVEN_HOMEM2_HOME相同路径的环境变量不起作用.

版本

Jenkins Master和Slave都是Linux主机.詹金斯版本: …

java maven jenkins

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

如何在DBeaver上运行任意SQL?

好吧,所以这可能看起来像一个愚蠢的问题,但我正在与DBeaver战斗,到目前为止,它已经赢了,谷歌拒绝选择一方.

我已经研究了如何探索数据库,查看表的结构,我甚至可以查看表的数据并对其进行过滤.

但是,如果我只想运行任意SQL语句,我该怎么做?

dbeaver

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

用于Windows开发的GStreamer或DirectShow?

我正在为当地一所大学实施一个讲座捕捉项目.多个视频流将到达一台PC:演示者的桌面幻灯片,演示者自己的摄像机图像以及可选的数字白板捕获.这些传入流将由桌面应用程序管理,该应用程序显示,转码/混合并最终将它们保存到磁盘.将有一些配置选项,因为材料可以以各种方式分发:作为DVD上的Flash应用程序,作为在线Flash应用程序或作为Windows Media Player的视频点播流.

此应用程序应在Windows上运行.可选地,它可以支持其他平台,但它似乎不是高优先级.

GStreamer和DirectShow似乎都能够提供底层技术.我对Linux上的GStreamer有一点经验,我喜欢它的设计,所以我倾向于将它用于这个项目.但是,我不知道它在Windows上的支持程度如何.我找不到关于如何在Windows上构建GStreamer的最新文档.所以我担心在这个过程中我会陷入困境.

DirectShow似乎是一个更安全的选择,因为它使用得更广泛,并且在互联网上有更多可用的文档.

这里有没有人有在Windows上使用GStreamer的经验?它运作良好吗?我应该注意哪些问题?

编辑
我发现了GStreamer OSSBuilds网站,并能够快速实现一个简单的视频播放器(基于'playbin'元素).所以我想我会更进一步追求GStreamer路径.

c++ windows directshow gstreamer

16
推荐指数
3
解决办法
7206
查看次数

你如何强制java swt程序"移动到前台"?

目前有了swt,我有时想要一个程序随意地走到前台(就像闹钟一样).

通常以下作品(jruby):

@shell.setMinimized(false)
@shell.forceActive
Run Code Online (Sandbox Code Playgroud)

如果它被最小化,它会将壳体带到前面.

随时创建一个新shell也会将(新shell)带到前面.

到目前为止,如果shell 没有最小化,上面的代码只是闪烁(闪烁)任务栏中的应用程序图标.实际上,当你第一次运行它时,它会把它带到前面.之后,它只是在任务栏中闪烁.那是窗户.在Linux上,它似乎只在任务栏中闪烁(默认为ubuntu).

有人知道一个跨平台的方式让应用程序来到前面,在swt?

似乎没有任何forceActive的setActive setMinimized(false)setFocus forceFocus和setVisible都可以完成这件事.

我很确定它是可能的(至少在Windows中),就像E文本编辑器那样.嗯,这不是swt,但至少其他一些应用程序已经知道这样做.

我想也许这是swt bug 192036

非常感谢.

有关:

java shell user-interface swt foreground

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

更改主音量级别

如何更改主音量?使用此代码

[DllImport ("winmm.dll")]
public static extern int waveOutSetVolume (IntPtr hwo, uint dwVolume);

waveOutSetVolume (IntPtr.Zero, (((uint)uint.MaxValue & 0x0000ffff) | ((uint)uint.MaxValue << 16)));
Run Code Online (Sandbox Code Playgroud)

我可以设置波形音量,但如果主音量太低,则不会产生任何影响.

谢谢你的帮助.

c# winapi volume

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