linux
linux性能优化
1 | $ uptime |
可以通过man uptime 查看详细信息。
平均负载:特定时间间隔内运行队列中的平均进程数。
查看cpu信息1
cat /proc/cpuinfo
Linux杀不死的进程之CPU使用率700%
https://www.cnblogs.com/l-hh/p/11358038.html
csrf
https://segmentfault.com/a/1190000006944760
浏览器安全
同源策略(Same Origin Policy)
影响因素有:host(域名或IP地址,如果是IP地址则看做一个根域名)、子域名、端口、协议。
在浏览器中,
Java中类的主动使用举例
从一道面试题来理解静态变量两次赋初始值过程
根据前面文章,我们知道在类的加载过程有两次赋初始值的过程。
一次赋值在准备阶段,为类的静态变量(类变量)分配内存,并将其初始化为默认值,
另一次赋值是在初始化阶段,为类的静态变量赋予程序员定义的初始值。
即使在初始化阶段程序员没有为类的静态变量赋初始值也没关系,类变量仍然具有一个确定的初始值。
比如下面这个实例:1
2
3
4
5
6
7public class TestStaticVariable {
public static int count1 = 1;
public static int count2;
}
静态变量 count1 和 count2,在准备阶段,count1和count2的值都为0,初始化阶段count1的值为1,count2的值还是0。
下面我们再看一道面试题:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26public class TestSingleton {
public static void main(String[] args) {
Singleton singleton = Singleton.getInstance();
System.out.println(Singleton.count1);
System.out.println(Singleton.count2);
}
}
class Singleton {
public static int count1 = 1;
private static Singleton singleton = new Singleton();
private Singleton() {
count1++;
count2++;
}
public static int count2 = 0;
public static Singleton getInstance() {
return singleton;
}
}
大家可以尝试自己分析下上述代码执行结果,或将代码在自己的开发工具中执行,看看实际结果和预期的结果是否一致。
下面我们分析下上述代码执行过程:
在TestSingleton 类的main方法中Singleton singleton = Singleton.getInstance();
Singleton 调用了它的静态方法,
根据前面文章我们知道类的主动使用的第3种情况是调用类的静态方法
,此时会触发 Singleton 类的初始化。
我们还知道加载、验证、准备、初始化、卸载这5个阶段的顺序是确定的。也就是说进行类的初始化之前一定进行了准备过程。
Singleton 类的准备阶段(为静态变量分配内存,并将其初始化为默认值),代码从上往下执行:
- 静态变量 count1 = 0;
- 静态变量 singleton = null;
- 静态变量 count2 = 0;
Singleton 类的初始化阶段(为类的静态变量赋予程序员定义的初始值)
- 静态变量 count1 = 1;
- 静态变量 singleton 指向 new Singleton() 实例,执行了构造方法
Singleton()
,此时count1 = 2; count2 = 1; - 静态变量 count2 = 0;
所以,TestSingleton 类的输出结果为:1
22
0
「更多精彩内容请关注公众号geekymv,喜欢请分享给更多的朋友哦」
Java中类的主动使用举例
elasticsearch-exploring-your-data
Exploring Your Data
Sample Dataset
样本数据集
Now that we’ve gotten a glimpse of the basics, let’s try to work on a more realistic dataset.
I’ve prepared a sample of fictitious JSON documents of customer bank account information.
Each document has the following schema:
现在我们已经了解了基础知识,让我们尝试更真实的数据集。
我已经准备了一份客户银行账户信息的虚拟JSON文档样本。
每个文档都有以下结构:1
2
3
4
5
6
7
8
9
10
11
12
13{
"account_number": 0,
"balance": 16623,
"firstname": "Bradshaw",
"lastname": "Mckenzie",
"age": 29,
"gender": "F",
"address": "244 Columbus Place",
"employer": "Euron",
"email": "[email protected]",
"city": "Hobucken",
"state": "CO"
}
elasticsearch-modifying-your-data
Modifying Your Data
修改数据
Elasticsearch provides data manipulation and search capabilities in near real time.
By default, you can expect a one second delay (refresh interval) from the time you index/update/delete your data
until the time that it appears in your search results.
This is an important distinction from other platforms like SQL wherein data is immediately available after a transaction is completed.
Elasticsearch 提供了近实时的数据处理和搜索功能。
默认情况下,从搜索/更新/删除数据到它出现在搜索结果中,你可以期望1秒的延迟(刷新间隔)。
这是与SQL等其他平台的重要区别,在SQL中,事务完成后数据是立即可用的。
Indexing/Replacing Documents
搜索/替换文档
elasticsearch-exploring-your-cluster
Exploring Your Cluster
The REST API
Now that we have our node (and cluster) up and running, the next step is to understand how to communicate with it.
Fortunately, Elasticsearch provides a very comprehensive and powerful REST API that you can use to interact with your cluster.
Among the few things that can be done with the API are as follows:
现在,我们已经启动并运行了节点(和集群),下一步是了解如何与之沟通。
幸运的是,Elasticsearch 提供了一个非常全面且强大的REST API,你可以使用它与集群进行交互。
使用API可以完成的一些事项如下:
elasticsearch-installation
Installation
Tip
提示
You can skip installation completely by using our hosted Elasticsearch Service on Elastic Cloud,
which is available on AWS and GCP. You can try out the hosted service for free.
你可以完全跳过安装,使用我们在Elastic Cloud 托管的Elasticsearch Service,
可在AWS 和 GCP 上获得,你可以免费试用托管服务。
Elasticsearch requires at least Java 8. Specifically as of this writing,
it is recommended that you use the Oracle JDK version 1.8.0_131.
Java installation varies from platform to platform so we won’t go into those details here.
Oracle’s recommended installation documentation can be found on Oracle’s website.
Suffice to say, before you install Elasticsearch,
please check your Java version first by running (and then install/upgrade accordingly if needed):1
2java -version
echo $JAVA_HOME
Elasticsearch 需要至少Java8,特别是撰写本文时,推荐你使用Oracle JDK1.8.0_131 版本。
Java安装因平台而异,因此我们在此不会详细介绍。
可以在Oracle 网站找到Oracle 的推荐安装文档。
就是说,安装Elasticsearch 之前,请先运行java -version
检查Java版本。