我正在编写一个shell脚本,需要知道系统中可用(免费+可回收)内存的总量.为此,我正在解析free命令的输出.典型输出free如下:
$ free -m
total used free shared buffers cached
Mem: 2488 965 1523 0 83 517
-/+ buffers/cache: 363 2124
Swap: 1565 0 1565
Run Code Online (Sandbox Code Playgroud)
通常认为由缓冲区和缓存校正的"空闲"列表示可以自由或可回收的内存,因此可用于应用程序.因此,在上面的示例中,我们将有大约2124 MB可用.
但是,如果正在使用tmpfs,这是不正确的,因为tmpfs使用的任何内存都包含在"缓存"中,但此内存不可回收(本文中有更多信息)
那么我们怎样才能找出实际可用的内存量?
在Web应用程序中,我需要禁用移动浏览器在触摸目标(例如<img>或链接)上触摸并按住("长按")时显示的默认标注.
我已经在使用-webkit-touch-callout: noneiPhone和iPad了.我试过-ms-touch-action:none和touch-action:noneIE,但这似乎不起作用(在IE11,Windows Phone 8上测试).
来自W3邮件列表的这篇文章建议在Javascript和调用中为"contextmenu"事件添加一个监听器e.preventDefault().这似乎也不起作用.
有什么建议?
我正在使用IAR C编译器来构建嵌入式微应用程序(特别是瑞萨的uPD78F0537).在这个应用程序中,我使用两个嵌套的for循环来初始化一些数据,如下面的MCVE所示:
#include <stdio.h>
#define NUM_OF_OBJS 254
#define MAX_OBJ_SIZE 4
unsigned char objs[NUM_OF_OBJS][MAX_OBJ_SIZE];
unsigned char srcData[NUM_OF_OBJS][MAX_OBJ_SIZE];
void main(void)
{
srcData[161][2] = 10;
int x, y;
for (x = 0; x < NUM_OF_OBJS; x++)
{
for (y = 0; y < MAX_OBJ_SIZE; y++)
{
objs[x][y] = srcData[x][y];
}
}
printf("%d\n", (int) objs[161][2]);
}
Run Code Online (Sandbox Code Playgroud)
输出值为0,而不是10.
编译器为for循环生成以下代码:
13 int x, y;
14 for (x = 0; x < NUM_OF_OBJS; x++)
\ 0006 14.... MOVW DE,#objs
\ 0009 16.... MOVW HL,#srcData
15 …Run Code Online (Sandbox Code Playgroud) Google Cloud Messaging (GCM) 支持两种类型的推送消息:“通知”消息和“数据”消息。根据文档,通知消息默认是可折叠的,而数据消息默认是不可折叠的。
为了使数据消息可折叠,您需要指定一个collapseKey. 我的问题是:如何使通知消息不可折叠?
注意:该问题也适用于 Firebase Cloud Messaging (FCM)。
android push-notification firebase google-cloud-messaging firebase-cloud-messaging
我想在我的JButtons 上留下默认边框,但也要在它们周围放置空白区域.我正在使用垂直BoxLayout.
我最初没有谈到边界,并且得到了LineBorder我想要的单像素,但是这些按钮都是相互对接的.
然后我试过了button[i].setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)).它不是在按钮周围添加空白区域,而是使按钮区域扩展.它也删除了LineBorder.
然后我尝试了: button[i].setBorder(BorderFactory.createCompoundBorder( BorderFactory.createEmptyBorder(5, 5, 5, 5), button.getBorder()))
这让我回来了LineBorder,但不是在线外添加空白区域,而是将按钮区域扩展到线外!
我意识到我可以添加空白框来分隔我的按钮,但我也希望它们的两侧都有空间,这就是为什么我要添加一个EmptyBorder.我是Swing的新手,所以也许有一种更好的方法可以做到这一点,我不知道:)
我正在使用Jython,但API应该与Java相同.
URL myUrl = new URL("https://www.....");
Run Code Online (Sandbox Code Playgroud)
SSL网站证书已过期.如何避免它并使URL()工作?
我正在使用gpio-keys设备驱动程序来处理运行Linux的嵌入式设备中的一些按钮.用户空间中的应用程序只能/dev/input/eventX在循环中打开和读取输入事件.
我的问题是如何获得按钮的初始状态.有一个ioctl call(EVIOCGKEY)可以用于此,但是如果我先检查这个然后开始读取/dev/input/eventX,就无法保证状态之间没有变化.
有什么建议?
我正在编写一个脚本,我只想在之前没有被任何其他元素处理过的情况下处理鼠标事件.
我可以将事件监听器附加到文档对象,但它将接收所有事件,无论它们是否已被处理.
我无法控制HTML页面中的元素,因此在处理事件时我无法手动stopPropagation().
有任何想法吗?
在观察者模式中是否有向新观察者发布“初始状态”的首选习惯用法?
大多数描述观察者模式的可用材料和示例都假设观察者对收到更改通知感兴趣,但不关心“初始状态”(观察者订阅更改时的当前状态)。
一种可能性是在订阅时将“初始”(当前)状态推送给新观察者,例如:
public class MyObservable extends java.util.Observable
{
public synchronized void addObserver(Observer observer)
{
super.addObserver(observer);
// Push current state to this observer
observer.update(this, currentState);
}
}
Run Code Online (Sandbox Code Playgroud)
有更好/首选的方法吗?