静态方法

基础知识点(一)

瘦欲@ 提交于 2020-03-16 11:13:45
基础知识点(一) 一、 面向对象思想的好处 1 、面向对象也是基于面向过程的编程思想,但是面向对象相比于面向过程更符合我们的思维方式,万物皆对象。 2 、可以将复杂的问题简单化,大大提高了程序的可读性和可维护性 3 、面向过程思想中,我们是程序的执行者,面向对象当中,我们是程序的调用者,这样的话也可以方便程序给其他人调用,提高了程序的扩展性 面向对象的三大基本特征以及五大基本原则: 基本特征: 1 、封装 2 、继承 3 、多态 基本原则: 1、 单一职责原则 2、 里氏替换原则 3、 依赖倒置原则 4、 接口隔离原则 5、 开放封闭原则 二、 类:类是抽象的,是一组相关的属性和行为的集合,一个模板。 对象:对象是具体的,是客观存在的实例,是该类事物的具体体现 属性 —— 对象具有的各种特征 每个对象的每个属性都拥有特定值 方法 —— 对象执行的操作 三、对象和类的关系:特殊到一般,具体到抽象。 类:我们叫做 class 。 对象:我们叫做 Object, instance( 实例 ) 。以后我们说某个类的对象,某个类的实例。是一样的意思。 类可以看成一类对象的模板,对象可以看成该类的一个具体实例。 类是用于描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所应具有的静态和动态属性。 对象是 Java 程序的核心,在 Java 程序中“万事万物皆对象”。 JDK

创建型模式之单例模式

▼魔方 西西 提交于 2020-03-14 01:49:26
一、介绍 类的单例设计模式,就是采用一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。 二、单例模式八种方式 饿汉式(静态常量) 饿汉式(静态代码块) 懒汉式(线程不安全) 懒汉式(线程安全,同步方法) 懒汉式(线程安全,同步代码块) 双重检查 静态内部类 枚举 1、饿汉式(静态常量) class Singleton{ // 1.构造器私有化,外部不能new private Singleton(){} // 2.本类内部创建对象实例 private final static Singleton instance = new Singleton(); // 3.提供一个共有的静态方法,返回实例对象 public static Singleton getInstance(){ return instance; } } 优缺点: 优点:方法简单,在类装载的时候就完成实例化,避免线程同步。 缺点:没有达到 Lazy Loading 的效果。如果从始至终没有使用这个实例,则造成内存浪费。 结论:可用,但可能造成内存浪费。 2、饿汉式(静态代码块) class Singleton{ // 1.构造器私有化,外部不能new private Singleton(){} // 2.本类内部创建对象实例 private static

javaSE基础07

。_饼干妹妹 提交于 2020-03-14 00:41:49
javaSE基础07 一、 static 静态修饰符 用了 static 修饰的变量就会变成共享的属性,只会初始化一次,在内存中只存在一个,并且每个对象都可以访问,存放在 方法区(数据共享区) 1.1 static 用来修饰成员变量 一个成员变量被 static 修饰了叫静态成员变量,如果没有修饰叫非静态成员变量 静态成员变量的访问方式:   1.用 对象进行访问: 对象 . 变量名   2.还可以通过 类名来访问 :类名 . 变量名 使用注意点:   1. 不要认为方便就将所有的变量用 static 修饰,只有当这个数据真正 需要共享的时候才用 static 修饰   2.只有静态变量才能用类名访问,非静态变量只能用对象访问   3. 局部变量不允许被 static 修饰 1.1.1 静态变量和非静态变量的区别: 1.作用上看:   a) 静态变量是用来共享的,所有的对象都可以访问到   b) 非静态变量就是用来描述同一类事物的公共属性 2.数量和存储位置   a) 静态变量在方法区(数据共享区),并且只有一份数据   b) 非静态变量存在堆区中,对象有 n 个那么数据就有 n 个 3.生命周期:   a) 静态变量是随着类文件的加载而加载,随着类文件的消失而消失   b) 非静态变量是随着对象创建而创建的,随着对象的消失而消失 1.2 用来修饰方法 类似 OC 中的类方法:  

Centos7配置静态IP地址的方法

纵饮孤独 提交于 2020-03-13 23:46:15
一、不使用网络管理器nmcli配置静态IP地址的方法 进入/etc/sysconfig/network-scripts目录,找到该接口的配置文件(ifcfg-enp0s3) 打开配置文件修改ifcfg-enp0s3 BOOTPROTO修改为static 加入IPADDR、NETMASK、GATEWAY 3.保存修改并使用以下命令来重启网络服务: systemctl restart network.service 4.现在验证接口是否配置正确: ip add 网络连通 二、使用网络管理器nmcli配置静态IP地址的方法 1.查看所有连接 nmcli connection show 2.配置静态ip nmcli c modify enp0s3 ipv4.address 192.168.68.166 ipv4.gateway 192.168.68.1 ipv4.method manual 3.重启网络服务生效,查看ip systemctl restart network.service ip add 来源: 51CTO 作者: wx5847d792ca18a 链接: https://blog.51cto.com/12387242/2478183

java-static

 ̄綄美尐妖づ 提交于 2020-03-13 14:55:03
1.意思是静态的 2.可以修饰:方法、成员变量、内部类、代码块 3.修饰后有什么不同 - 修饰方法:(叫静态方法或者类方法) 1.这个方法对于其他类来说可以用“类名.方法”进行调用,也可以使用“对象名.方法”进行调用,推荐使用“类名.方法” 2.静态方法中是不允许出现,this,super,对本类的非静态属性,非静态的方法直接使用代码的 - 修饰成员变量 1.用static修饰的成员变量的值,表示是这个类型的所有对象“共享的” 2.static修饰的成员变量的值存储在方法区 3.static修饰的成员变量的get/set也是静态的 4.如果在方法中有局部变量与static修饰的成员变量同名时,在静态变量前面加“类名.”进行区别 ## 结论:非静态的“对象名.” ,静态的用“类名.” 来源: https://www.cnblogs.com/xhwy-1234/p/12485924.html

成员修饰:静态和实例成员

依然范特西╮ 提交于 2020-03-13 07:44:02
对类的内部数据成员和函数成员都可以用static修饰。 如果成员被static修饰,那该成员就是静态的,从应用角度讲,类的使用者通过类来访问静态成员在语义上更能够被理解,而通过实例来访问静态成员在语义上显得不合适。 在类的内部,所有成员都可以访问静态成员。但反过来,静态成员绝对不可以访问实例成员。 静态成员的值对于所有实例对象而言,是共享的,所以任何实例都可以访问或修改静态成员,且更改的结果也同样影响所有实例的访问。 1 public class Space 2 { 3 4 public static void Main( string [] args) 5 { 6 System.Console.WriteLine( new Order().CreateNumber()); // 725-1 7 System.Console.WriteLine( new Order().CreateNumber()); // 725-2 8 } 9 10 } 11 12 13 14 15 public class Order 16 { 17 18 private static int Count; // 该Count能被所有的实例访问 19 public string Number; 20 21 public string CreateNumber() 22 { 23 24 Count ++ ;

搞懂这些面试知识点,吊打面试官

孤者浪人 提交于 2020-03-12 22:33:16
一丶设计模式与使用场景 建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 使用场景比如最常见的 AlertDialog,拿我们开发过程中举例,比如 Camera 开发过 程中,可能需要设置一个初始化的相机配置,设置摄像头方向,闪光灯开闭,成 像质量等等,这种场景下就可以使用建造者模式 装饰者模式: 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模 式比生成子类更为灵活。装饰者模式可以在不改变原有类结构的情况下曾强类的 功能,比如 Java 中的 BufferedInputStream 包装 FileInputStream ,举个开发中的 例子,比如在我们现有网络框架上需要增加新的功能,那么再包装一层即可,装 饰者模式解决了继承存在的一些问题,比如多层继承代码的臃肿,使代码逻辑更 清晰 还有等等.......观察者模式, 代理模式,门面模式,单例模式,生产者消费者模式。 二丶java 中的线程创建方式,线程池的工作原理 java 中有三种创建线程的方式,或者说四种 1.继承 Thread 类实现多线程 2.实现 Runnable 接口 3.实现 Callable 接口 4.通过线程池 线程池的工作原理: 线程池可以减少创建和销毁线程的次数,从而减少系统资源 的消耗,当一个任务提交到线程池时 a. 首先判断核心线程池中的线程是否已经满了

[C] linux静态链接库与动态链接库详解

寵の児 提交于 2020-03-12 20:44:48
http://blog.chinaunix.net/u2/76292/showart.php?id=1274181 一顺便说说了哦 通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file).程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所以这些函数库被成为静态库(static libaray),通常文件名为"libxxx.a"的形式. 其实,我们也可以把对一些库函数的链接载入推迟到程序运行的时期(runtime).这就是如雷贯耳的动态链接库(dynamic link library)技术. 二动态链接库的特点与优势 首先让我们来看一下,把库函数推迟到程序运行时期载入的好处: 1.可以实现进程之间的资源共享。 什么概念呢?就是说,某个程序的在运行中要调用某个动态链接库函数的时候,操作系统首先会查看所有正在运行的程序,看在内存里是否已有此库函数的拷贝 了。如果有,则让其共享那一个拷贝;只有没有才链接载入。这样的模式虽然会带来一些“动态链接”额外的开销,却大大的节省了系统的内存资源。C的标准库就 是动态链接库,也就是说系统中所有运行的程序共享着同一个C标准库的代码段. 2.将一些程序升级变得简单

springboot登录拦截器

感情迁移 提交于 2020-03-12 14:05:23
啥都不说,先上个图 我们自定义一个登录拦截类,实现HandlerInterceptor接口。并重写它的三个方法。 我们在登录之前,会在session中加入loginUser。 之后我们从request中取出这个值做判断,有的话return true ,否则返回false。 想要实现拦截器的功能,我们还需在配置类中重写addInterceptors方法,并且配置拦截路径,spring 2.0以后会拦截静态资源,所以需要把静态资源排除在外。 如果没有登录直接访问main.html会直接请求转发到登录页面。 来源: CSDN 作者: 码农小新 链接: https://blog.csdn.net/weixin_42714605/article/details/104815634

CentOS7修改主机名的三种方法

蹲街弑〆低调 提交于 2020-03-12 13:51:33
CentOS7修改主机名的三种方法 在CentOS7中,有三种定义的主机名: 静态的(Static hostname) “静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。 瞬态的(Tansient hostname) “瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。 灵活的(Pretty hostname ) “灵活”主机名也有人叫做“别名”主机名。 “灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如xh01@f5)。 “静态”主机名和“瞬态”主机名都遵从作为互联网域名同样的字符限制规则。 在CentOS 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。 查看主机名: 1 //查看一下当前主机名的情况,查看全部三种主机名 2 3 hostnamectl 4 5 //或者,查看全部三种主机名 6 7 hostnamectl status 8 9 //只查看静态、瞬态或灵活主机名,分别使用--static,--transient或--pretty选项 10 11 [root@xh00 ~]# hostnamectl --static 12 13 xh00 14 15 [root@xh00 ~]# hostnamectl -