小编pet*_*erk的帖子

有没有办法在GC确定无法访问时回收复杂的java对象

在C++中,我使用引用计数对象来填充"自动"回收对象池

SmartPointer<ObjType> object = pool.getObject(); // hold reference

// ... do stuff with object over time.

object = nullptr; // that is when reference 
                  // count goes to 0
Run Code Online (Sandbox Code Playgroud)

- 现在我在C++对象上有一个"onFinalRelease()"方法,当refcount达到0时会被调用.我可以覆盖它(默认是delete(this))来自动回收对象而不是销毁它们.

问题是我可以使用java引用类型和引用池的某种组合来实现此模式.当然,这对于一种大型复杂的昂贵而言,在有意义的情况下创建对象.那是我想做的:

SomeReference r = referenceQueue.getReference();

pool.recycle(r.takeBackUnusedObjectFromGC()); // ??????????????????????????
Run Code Online (Sandbox Code Playgroud)

这真是太棒了:)

java garbage-collection weak-references phantom-reference soft-references

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

Docker私有注册表是否有默认端口

这使一个人可以使用docker tag image:version docker.mydomain.com/image:version 而不是显式指定端口

docker

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

是否有可能得到ieee:从javascript编号浮起的“位”?

我想从javascript模块中的二进制字节流中写入和读取ieee格式的float / double值。有人知道该怎么做吗?等效于java中的doubleToRawLongBits和longBitsToDouble功能。

javascript math binary

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

在C++中是否有(新的)方法来测试类是否在模板中具有虚拟析构函数而不实例化实例?

我做了一些环顾四周,许多讨论说"不,你不能这样做",但它都在快速发展,我想在模板中测试这个特性,该模板无法访问指向实例的指针宾语.

c++ polymorphism

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

Java - 如何避免使用未修饰或自定义的LookAndFeel窗口覆盖任务栏?

是的一些问题接近:)

Java中存在一个Bug(自2011年以来一直存在并报告,似乎没有努力修复它 - 应该在VM的本机端处理)

也就是说,当你最大化一个"未修饰"的窗口,或者一个带有PLAF外观和感觉的窗口时,它将覆盖windows任务栏.很好 - 当你想要它时,你需要它,但当你想要任务栏最大化的窗口覆盖它时.设置"永远在最顶层"的权利没有任何区别.

是的,可以调整窗口大小但是必须知道任务栏的位置,或者屏幕大小减去任务栏 - 知道如何做到这一点?

并且如果要完成,则需要知道您在没有任务栏的屏幕上最大化.如果在多监视器虚拟桌面上......

有任何想法吗 :)

java swing look-and-feel

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

Ruby中是否有一个标准方法可以在每个字符串数组上添加和/或附加一个字符串?

Ruby中是否有一个标准方法可以在每个字符串数组上添加和/或附加一个字符串?

listOfnames = [ 'john', 'dave', 'joe' ];    
mrNames = prependToAll('Mr. ', list of names);
Run Code Online (Sandbox Code Playgroud)

导致 [ 'Mr. john', 'Mr. dave', 'Mr. joe' ]

是否有适当的版本?

或者是否有一种标准方法可以each在迭代的数组中轻松替换某些数组条目?

ruby

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

可以在其他编译器中使用Microsoft C中的typeded或typename声明构造函数吗?

好吧,它似乎在Microsoft C中工作,但不是我使用的其他编译器.

使用模板时尤其需要.也许我不知道"标准兼容的方式"来做这个,但它真的很有用,我希望代码可以在gcc,clang等上编译.

template<class T, class T1, ... /* messy, verbose */ >
class MyTemplate {
protected:
    typedef MyTemplate<T,T1, ... /* messy, verbose */ > SimplerName;

    // declare a constructor
    SimplerName(int arg) { ... }
};
class SubClass
    : public MyTemplate<x,y... /* messy */ >
{
public:
    SubClass(int arg, blah, blah) : SimplerName(arg) { ... }
}.
Run Code Online (Sandbox Code Playgroud)

我用gcc和emscripten得到严肃的扒窃

In file included from /home/peterk/didi-wasmtest/build/include/artd/Matrix4Base.h:2:
    /home/peterk/didi-wasmtest/build/include/artd/../../../artdlib-cpp/vecmath/Matrix4Base.h:91:21: error: expected member name or ';' after declaration specifiers
    inline Matrix4Base() {
        ~~~~~~~~~~~~~~~~~~ ^
Run Code Online (Sandbox Code Playgroud)

标题中的代码

template<class …
Run Code Online (Sandbox Code Playgroud)

c++ c++14

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

如何在GCC编译中修复const char*构造函数转换链错误

如果我尝试使用iOS4 sdk版本的gcc编译以下内容.
它给了我错误:

请求从'const char [4]'转换为非标量类型'UsesStr'

class strptr {
public:
    strptr(const char * s) : s_(s) {}
    const char *c_str() const { return(s_); }
protected:
    const char *s_;
};


class UsesStr {
public:
    UsesStr(const strptr &sp)
        : p_(sp.c_str())
    {
    }
    const char *p_;
};


static UsesStr ustr = "xxx";
Run Code Online (Sandbox Code Playgroud)

这是一个简单的例子,它是一个问题,当strptr是一个字符串类而不是使用但错误是相同的.


根据下面的答案,我尝试了这似乎工作.希望有一个"通用"字符串arg,它将接受许多类型的字符串,因为它将转换放在构造函数中以分解所有转换,而不需要在仅使用一种类型的事物中完全声明所有可能的字符串类型.

class UsesStr;

class strptr {
public:
    strptr(const char * s) : s_(s) {}
    strptr(UsesStr &s);

    const char *c_str() const { return(s_); }
    operator const char *() const { return(s_); …
Run Code Online (Sandbox Code Playgroud)

c++ gcc compiler-errors compilation

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

测试java代码是否在applet中运行的最佳方法是什么?

我想在java代码中找到一个地方:

if(inAnApplet()) {
    initForApplet();
} else {
    initForApp();
}
Run Code Online (Sandbox Code Playgroud)

java applet

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

如何拦截Java模式对话框外的鼠标事件,

我在Java中有一个模态对话框,想知道用户何时在对话框外点击(在应用程序的另一个窗口上),而不是让它变为"blong"并闪烁边框.对于诸如挑选颜色等等.

java swing dialog modal-dialog awt

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

我如何在 C++11 中实现类似 Java 的“中断异常”行为

在等待事物、时间、IO、信号量等的 java 调用中,当等待操作完成的线程被“中断”时,将抛出“InterruptedException”。

显然,Linux、std::thread 等中 Pthreads 使用的“SIGNAL”机制有点混乱且难以管理。

我基本上想实现一种方法来中止互斥锁和信号量等待,等待连接等从另一个线程对线程的“中断”(杀死或其他)调用,并通过异常或返回值捕获这一事实,这是在线程内完成的被“中断”,而不影响任何其他正在运行的线程。

c++ linux multithreading c++11

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