小编bil*_*ute的帖子

System.currentTimeMillis()(Java)错误的时间

我做了一个小程序来测试System.currentTimeMillis().我有一个奇怪的结果.这是我的日志:

1    26-12-09 20:48:21 - [Log] lTime = 1261860501009
2    26-12-09 20:48:21 - [Log] lTime = 1261860501012
3    26-12-09 20:48:21 - [Log] lTime = 1261864899078
4    26-12-09 20:48:21 - [Log] lTime = 1261860501033
5    26-12-09 20:48:21 - [Log] lTime = 1261860501069
Run Code Online (Sandbox Code Playgroud)

如您所见,第3行存在问题.时间磨损是错误的.它应该在1261860501012和1261860501033之间.大约有73毫秒的误差.

有人知道问题来自哪里?

非常感谢

bill0ute

编辑:操作系统:Debian 4.0,Java:6_17.

我的代码:

while (true) 
    setLog (System.currentTimeMillis ());
Run Code Online (Sandbox Code Playgroud)

编辑:程序在基于Linux的VPS上运行

java time

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

在Java中解压缩GZIPed HTTP响应

我正试图通过使用来解压缩GZIPed HTTP响应GZIPInputStream.但是,当我尝试读取流时,我总是有相同的异常:java.util.zip.ZipException: invalid bit length repeat

我的HTTP请求标头:

GET www.myurl.com HTTP/1.0\r\n
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2) Gecko/20100115 Firefox/3.6\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3\r\n
Accept-Encoding: gzip,deflate\r\n
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7\r\n
Keep-Alive: 115\r\n
Connection: keep-alive\r\n
X-Requested-With: XMLHttpRequest\r\n
Cookie: Some Cookies\r\n\r\n
Run Code Online (Sandbox Code Playgroud)

在HTTP响应头的末尾,我得到path=/Content-Encoding: gzip,然后是gziped响应.

我试过2个similars代码来解压缩:

更新:在以下代码中, tBytes = (the string after 'path=/Content-Encoding: gzip').getBytes ();

GZIPInputStream  gzip = new GZIPInputStream (new ByteArrayInputStream (tBytes));

StringBuffer  szBuffer = new StringBuffer ();

byte  tByte [] = new byte [1024];

while (true)
{
    int …
Run Code Online (Sandbox Code Playgroud)

java compression gzip httpresponse

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

在Java中的HTTP请求中添加HEADER

我正在使用以下代码发送简单的HTTP请求:

try
{
    Socket  s = new Socket ();
    s.bind    (new InetSocketAddress (ipFrom, 0));
    s.connect (new InetSocketAddress (ipTo,   80), 1000);

    PrintWriter     writer = new PrintWriter    (s.getOutputStream ());
    BufferedReader  reader = new BufferedReader (new InputStreamReader (s.getInputStream ()));

    writer.print ("GET " + szUrl + " HTTP/1.0\r\n\r\n"); 
    writer.flush ();

    s     .close ();
    reader.close ();
    writer.close ();
}
Run Code Online (Sandbox Code Playgroud)

但是,正如您所看到的,我不发送自定义HEADER.我应该添加什么来发送自定义HEADER?

干杯,

Christophe OLIVIER

java sockets httprequest

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

Java - 在这种情况下授权是一个很好的解决方案吗?

这是我的问题:

我有一个庞大的类(HugeClass),我想把它分成几个小类(LittleClass1,LittleClass2,...).我听说过代表团.这听起来不错,但我认为它不适用于我的情况.实际上,我的小班需要HugeClass的一些属性:

public class  HugeClass
{
    // Attributes
    private Object object1;
    private Object object2;
    private Object object3;
    ...
    private Object objectN;

    // Delegation 1
    private LittleClass1  little1 = new LittleClass1 ();

    // Function delegated in the LittleClass1
    public void  delegated1 ()
    {
        little1.delegated1 ();
    }

}
Run Code Online (Sandbox Code Playgroud)

这是一个Delegation类的示例:

public class  LittleClass1
{
    public LittleClass1 ()
    {

    }

    public void  delegated1 ()
    {
        // Here, I need object1, object3, and more to work !
    }

}
Run Code Online (Sandbox Code Playgroud)

delegated1函数所需的属性数量可能很大.所以我认为使用LittleClass1的构造函数不是很方便.

因为LittleClass1只覆盖了HugeClass的一个方法,所以我认为LittleClass1不应该扩展HugeClass.

你有解决方案的想法吗?使用其他模式?

谢谢 !

更新 …

java architecture overriding design-patterns delegation

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