我通常将工作项目放在桌面上的文件夹中.完成后我只需将它们移动到c:\dev\
.问题是我是以一种相当古老的方式做到这一点.
1. move project files
2. delete project on Eclipse
3. create new project on Eclipse on the new location
Run Code Online (Sandbox Code Playgroud)
你们如何移动项目?
如果我可以改变:文件 - >属性 - >资源 - >位置路径,它将变得简单!
示例移动:
c:\user\desktop\project_123
c:\dev\project_123
Run Code Online (Sandbox Code Playgroud) 当你通过php插入文本时,如何在textarea中创建一个新行?
我以为它是\n
在文本区域印刷的.
谢谢
除了重新编译之外,rt.jar
有什么方法可以用currentTimeMillis()
我自己的一个替换呼叫吗?
1#正确的方法是使用Clock
对象和抽象时间.
我知道但我们将运行由无数开发人员开发的代码,这些开发人员尚未实现Clock
或已经实现了自己的实现.
2#使用像JMockit这样的模拟工具来模拟该类.
即使这只适用于禁用Hotspot -Xint
并且我们使用下面的代码成功,但它不会"持久"在外部库上.这意味着你必须在任何地方模拟它,因为代码不受我们的控制,是不可行的.所有代码main()
都返回0 milis(从示例中),但a new DateTime()
将返回实际系统millis.
@MockClass(realClass = System.class)
public class SystemMock extends MockUp<System> {
// returns 1970-01-01
@Mock public static long currentTimeMillis() { return 0; }
}
Run Code Online (Sandbox Code Playgroud)
3#System
使用-Xbootclasspath/p
(编辑) 重新声明启动
尽管可能,虽然您可以创建/更改方法,但有问题的方法被声明为public static native long currentTimeMillis();
.如果不深入研究Sun的专有和原生代码,你就无法改变它的声明,这将使这成为逆向工程和不稳定的方法.所有最近的SUN JVM都崩溃,出现以下错误:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000, pid=4668, tid=5736
Run Code Online (Sandbox Code Playgroud)
4#使用自定义ClassLoader(评论中建议的新测试)
虽然使用-Djava.system.class.loader
JVM 替换系统CL的微不足道实际上加载了使用默认classLoader的自定义classLoader,并且甚至没有通过自定义CL推送System.
public class SimpleClassLoader extends ClassLoader {
public SimpleClassLoader(ClassLoader …
Run Code Online (Sandbox Code Playgroud) 我在Windows 7上运行Java服务,该服务每天在上运行一次SingleThreadScheduledExecutor
。尽管它不是很关键,但我从来没有给过太多,但最近查看了一下数据,发现该服务每天大约漂移15分钟,这听起来实在太多了。
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(() -> {
long drift = (System.currentTimeMillis() - lastTimeStamp - seconds * 1000);
lastTimeStamp = System.currentTimeMillis();
}, 0, 10, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)
这种方法+110ms
每10秒几乎都会漂移一次。如果我每隔1秒运行一次,漂移平均+11ms
。
有趣的是,如果我对一个Timer()
值执行相同操作,则其平均漂移小于一整毫秒。
new Timer().schedule(new TimerTask() {
@Override
public void run() {
long drift = (System.currentTimeMillis() - lastTimeStamp - seconds * 1000);
lastTimeStamp = System.currentTimeMillis();
}
}, 0, seconds * 1000);
Run Code Online (Sandbox Code Playgroud)
Linux:不会漂移(也不与Executor或Timer一起使用)
Windows:不会像Executor那样疯狂地漂移,与Timer无关
经过Java8和Java11测试。
有趣的是,如果您假设每秒11ms的漂移,那么您每天将获得950400ms的漂移,相当于15.84 minutes
每天。因此,这是非常一致的。
问题是:为什么?
为什么使用SingleThreadExecutor而不是使用Timer会发生这种情况。
Update1 :按照Slaw的评论,我尝试了多种不同的硬件。我发现此问题在任何个人硬件上均未发现。仅对公司一。在公司硬件上,它也出现在Win10上,尽管数量少了一个数量级。
我对开发人员的数量感到有些困惑,我看到在类名或方法下面用花括号编写方法和类.他们遵循什么惯例?
Sun 明确表示正确的声明是:
// this declaration follows sun's conventions
class Sample extends Object {
Sample(int i, int j) {
....
}
}
Run Code Online (Sandbox Code Playgroud)
然而,越来越多我认为这被宣称为(甚至在书中):
// this declaration follows a convention I cant identify
class Sample extends Object
{
Sample(int i, int j)
{
....
}
}
Run Code Online (Sandbox Code Playgroud)
我知道一个会议只是一个惯例,只要你遵循一个惯例,一切都很好.我只是在寻找后一个宣言遵循什么惯例的答案?
这是一项学术性的练习(免责声明).
我正在构建一个应用程序,它将尽可能快地获利,因为它将与其他人竞争.
我知道使用反射声明一个类(下面的示例)将遭受巨大的惩罚而不是标准声明.
Class mDefinition = Class.forName("MySpecialClassString");
Constructor mConstructor = mDefinition.getConstructor(new Class[]{MySpecialClass.class});
myClass = (MySpecialClass) mConstructor.newInstance(this);
Run Code Online (Sandbox Code Playgroud)
然而,在宣布myClass
我是否以标准方式使用它之后,myClass.myMethod()
我是否也会遭遇性能损失,或者它是否会像我以标准方式宣布该类一样?
我有一个CMS系统,可以跨表格存储数据,如下所示:
Entries Table
+----+-------+------+--------+--------+
| id | title | text | index1 | index2 |
+----+-------+------+--------+--------+
Entries META Table
+----+----------+-------+-------+
| id | entry_id | value | param |
+----+----------+-------+-------+
Files Table
+----+----------+----------+
| id | entry_id | filename |
+----+----------+----------+
Entries-to-Tags Table
+----+----------+--------+
| id | entry_id | tag_id |
+----+----------+--------+
Tags Table
+----+-----+
| id | tag |
+----+-----+
Run Code Online (Sandbox Code Playgroud)
我正在尝试实施修订系统,有点像SO.如果我只是因为Entries Table
我正在计划在一个单独的表中保留该表的所有更改的副本.因为我必须为至少4个表(TAGS表不需要修改)这样做,这似乎不像一个优雅的解决方案.
你们会怎么做?
请注意,元数据表是以EAV(实体属性值)建模的.
先感谢您.
mysql database version-control revision entity-attribute-value
我正在使用以下代码通过Google的CDN加载jQuery.
我的主要问题是如果用户访问我的网站并且还没有预先缓存jQuery会发生什么.他会下载谷歌版本和我自己的吗?这里的并发是如何工作的?
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
if(typeof jQuery == 'undefined') {
//<![CDATA[
document.write("<script src='/includes/jquery-1.4.2.min.js' type='text/javascript'><\/script>");
//]]>
}
</script>
Run Code Online (Sandbox Code Playgroud)
谢谢.
我遇到一些麻烦阻止mod_deflate跳进这个场景:
问题是Apache总是将内容检测为正在存在php
,因此服务器假定ZIP文件是PHP文件,因此下面的行将不会起作用.
<FilesMatch "\.(xml|txt|html|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
关于我如何让Apache区别于同一index.php
框架文件生成的HTML文件或ZIP文件的任何想法.
编辑:
apache日志
[Mon Jun 20 02:14:19 2011] [debug]
mod_deflate.c(602): [client 192.168.0.5]
Zlib: Compressed 50870209 to 50878224 : URL /index.php,
referer: http://demo.dev/
Run Code Online (Sandbox Code Playgroud)
编辑:
提供zip的CI控制器
header('Content-Type: application/zip');
header('Content-Transfer-Encoding: binary');
header("Content-Length: " . filesize($file_location));
header('Content-Disposition: attachment; filename="' . $file_title . '"');
readfile($file_location);
Run Code Online (Sandbox Code Playgroud) 我有这个.htaccess文件,但我希望它只在我在现场网站时这样做.
有什么办法可以:
// if server_name looks like example.com to this
// else dont run this bit
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Run Code Online (Sandbox Code Playgroud)
我尝试过SetEnvIfNoCase
并且IfDefine
没有成功.真的不知道是否有可能做我想做的事.
先感谢您.
编辑(未来读者的解决方案示例):
// if https is off
RewriteCond %{HTTPS} off
// if server_name like example.com (case insensitive) OR
RewriteCond %{SERVER_NAME} =example.com [NC,OR]
// server_name like www.example.com (case insensitive)...
RewriteCond %{SERVER_NAME} =www.example.com [NC]
RewriteCond …
Run Code Online (Sandbox Code Playgroud) java ×4
apache ×2
php ×2
time ×2
.htaccess ×1
cdn ×1
conventions ×1
curly-braces ×1
database ×1
eclipse ×1
eclipse-pdt ×1
jquery ×1
mod-deflate ×1
mysql ×1
performance ×1
reflection ×1
revision ×1
textarea ×1