我是小蕉。
好吧大家都说技术看不懂,那好吧,今天一点技术都没有,主要谈谈一个人来如何懒起来。
前几日因为要部署一个ElasticSearch集群,虽然只有三台。但是,我就是不想一台一台去部署啊,烦死个人了。万一后面要部署1000台,那可要怎么办??真心一台一台去处理咩。我懒得要命,我才懒得这样干。 就抽象一下,提炼出一个垃圾批量部署的法子。安装包准备->环境准备->安装包上传解压->配置变更->启动服务器。看起来也就长这样,一个shell脚本搞定,虽然花了半天的时间,但是在后面操作其他机器的时候,发现三台机器的集群扛不住,我在不到三分钟内,就把集群扩展到了六台,不黑不吹,真人真事。
这大概是当一个程序猿最大的好处了吧,能搞一些小工具来提高生活的效率,其实从好几年前就一直在想,不要因为技术而技术,技术是为业务服务的。编程从根本上就是为提高生产效率而产生的,之前一直在想跨界的事情,生物学家加编程,音乐家加编程,书法家加编程,会变成什么?我能够预感到的事情,就是他们可能会从一个我们普通人想都想不到的角度,去把一个东西产品化,可能提供给大众,也提高了自己研究的效率。
人的本质还是不勤快的。
每天都做同一样事情,估计会疯掉把。懒人瓦特发明了蒸汽机,不就是懒得每次水开的时候都去打开盖子放气吗?其实吧我们做的很多事情都是懒,比如技术的快速实现是懒,是为了现在可以解决问题早点回家老婆孩子热炕头,王者守望LOL。比如代码的重构是懒,是为了实现第二个类似需求的时候可以少一点工作。我们在做这些东西的时候其实还真不是因为为了表现出勤快。
举个栗子,我想要勤快的话,比如打印十行的“人群之中钻出来一个光头”,我可以这样。
System.out.println("人群之中钻出来一个光头");
System.out.println("人群之中钻出来一个光头");
System.out.println("人群之中钻出来一个光头");
System.out.println("人群之中钻出来一个光头");
System.out.println("人群之中钻出来一个光头");
System.out.println("人群之中钻出来一个光头");
System.out.println("人群之中钻出来一个光头");
System.out.println("人群之中钻出来一个光头");
System.out.println("人群之中钻出来一个光头");
System.out.println("人群之中钻出来一个光头");
烦死个人了,写得我手都酸了,但是我就是不想写我就是要想偷懒我要怎么做呢?就像下面这样去思考,去总结,去想办法。喏。
int i = 10;
while(i-->0){
System.out.println("人群之中钻出来一个光头");
}
还有就是大家都说程序猿的工资为什么这么高,这是什么原因。卧槽,我觉得这个问题可以换一下->为什么除了我以外的程序猿工资为什么这么高。我看过的一句话啊,可能是最好的回答。劳动人员在工作的时候,按照件数创造物品,或者各种单子促成交易,他们一旦下班那就没他们什么事了。但是程序猿,即使我们下班了,程序依然在跑着,依然在提供各种各样的服务,创造各种各样的价值,我觉得这就是对为什么程序猿工资这么高的原因了,这也是人类一直追寻的提高效率。
前方高能,非战斗人员迅速撤离撤离。
好了我不写了我手好酸,贴点代码,下面是我搞死我虚拟机的工具,886。
publicclassBlowUpJVM {
privatestaticListlist=newArrayList();
publicstaticvoidmain(String[]args) {
testStackOverFlow();//栈深度溢出
testOutOfHeapMemory();//堆溢出
testNativeMethodOutOfMemory();//本地方法栈溢出
//这个别跑!!!会死机的!!!别问我怎么知道的。
//testStackOutOfMemory();
}
publicstaticvoidtestNativeMethodOutOfMemory(){
while(true){
ExecutorServiceexecutors= Executors.newFixedThreadPool(50);
inti=0;
while(i++<10){
executors.submit(newRunnable() {
@Overridepublicvoidrun() {}
});
}
}
}
publicstaticvoidtestStackOutOfMemory(){
while(true) {
Threadthread=newThread(newRunnable() {
@Override
publicvoidrun() {while(true){}}
});
thread.start();
}
}
publicstaticvoidtestOutOfHeapMemory(){
Listlist=newArrayList();
while(true){
list.add(newStringBuffer(););
}
}
publicstaticvoidtestStackOverFlow(){
BlowUpJVM.testStackOverFlow();
}
}
长按关注或者分享一下我还是很开心的嗯。