美文网首页
学习笔记2020-05-12

学习笔记2020-05-12

作者: 爱生活_爱拉芳 | 来源:发表于2020-05-12 15:11 被阅读0次

今天学习了:

1、linux 按照文件大小查找

2、堆和栈的区别

3、单例模式

4、干煸杏鲍菇失败了

linux 中按照文件大小查找文件

大于500M的文件 find / -size +500M

小于500M的文件 find / -size -500M

100 到500M的文件 find / -size +100M -size -500M

java 中堆和栈的区别

区别

java中堆和栈的区别自然是面试中的常见问题,下面几点就是其具体的区别

各司其职

最主要的区别就是栈内存用来存储局部变量和方法调用。

而堆内存用来存储Java中的对象。无论是成员变量,局部变量,还是类变量,它们指向的对象都存储在堆内存中。

独有还是共享

栈内存归属于单个线程,每个线程都会有一个栈内存,其存储的变量只能在其所属线程中可见,即栈内存可以理解成线程的私有内存。

而堆内存中的对象对所有线程可见。堆内存中的对象可以被所有线程访问。

异常错误

如果栈内存没有可用的空间存储方法调用和局部变量,JVM会抛出java.lang.StackOverFlowError。

而如果是堆内存没有可用的空间存储生成的对象,JVM会抛出java.lang.OutOfMemoryError。

空间大小

栈的内存要远远小于堆内存,如果你使用递归的话,那么你的栈很快就会充满。如果递归没有及时跳出,很可能发生StackOverFlowError问题。

你可以通过-Xss选项设置栈内存的大小。-Xms选项可以设置堆的开始时的大小,-Xmx选项可以设置堆的最大值。

设计模式-单例模式

单例模式是设计模式中最简单的模式之一。通常,普通类的构造函数是公有的,外部类可以通过“new 构造函数()”来生成多个实例。但是,如果将类的构造函数设为私有的,外部类就无法调用该构造函数,也就无法生成多个实例。这时该类自身必须定义一个静态私有实例,并向外提供一个静态的公有函数用于创建或获取该静态私有实例。

分类:

懒汉模式,第一次创建对象时候才调用

if(instance==null)

{instance=newLazySingleton();}

恶汉模式,类一旦加载就创建一个单例

private static final HungrySingleton instance=new HungrySingleton();

单例模式的应用场景

在应用场景中,某类只要求生成一个对象的时候,如一个班中的班长、每个人的身份证号等。

当对象需要被共享的场合。由于单例模式只允许创建一个对象,共享该对象可以节省内存,并加快对象访问速度。如 Web 中的配置对象、数据库的连接池等。

当某类需要频繁实例化,而创建的对象又频繁被销毁的时候,如多线程的线程池、网络连接池等。

干煸杏鲍菇失败了

昨天做了个干煸杏鲍菇,没想到含水量居然这么大,下次考虑先用水煮,把水分煮出来再炒,希望不要影响口感。

相关文章

网友评论

      本文标题:学习笔记2020-05-12

      本文链接:https://www.haomeiwen.com/subject/bcpbnhtx.html