static

Java自学.接口学习笔记!

↘锁芯ラ 提交于 2020-01-31 00:04:30
接口学习笔记 文章目录 接口学习笔记 1.接口的概述与生活中的举例 2.接口定义的基本格式 3.接口的抽象方法 3.1接口抽象方法的定义 3.2接口的抽象方法使用 4.接口的默认方式 4.1接口的默认方法定义 4.2接口的默认方法使用 5.接口的静态方法 5.1 接口的静态方法定义 5.2接口的静态方法使用 7. 接口的私有方法 7.1接口的私有方法定义 7.1.1接口的普通私有方法定义 7.1.2接口的静态私有方法定义 7.2接口的普通私有方法使用静态私有方法执调用 8.接口的常量 8.1接口的常量的定义 8.2接口的常量的使用 9.接口内容小结 1.接口的概述与生活中的举例 接口的概述与生活中的举例 生活中举例 电源擦桌当中的电源接口 ,不管是手机还是电脑还是其他电器、充电或者使用都学要使用电源接口。因为在制作电器过程中他们的接口都是统一的符合国家标准的,只要符合规范标准就可以大家通用。 再例如U盘 只要符合USB接口标准 那么各种设备都可以使用。 所以接口就是一种公共的规范标准 ! 2.接口定义的基本格式 Interface 接口 接口是多个类的公共规范。 接口是一个引用数据类型 最重要的内容就是其中的:抽象方法。 如何定义一个接口: 格式 public interface 接口名称 (){ 接口内容 } 3.接口的抽象方法 3.1接口抽象方法的定义

java中的递归

血红的双手。 提交于 2020-01-30 17:25:59
今天我们就来说说递归 白话讲:就是自己调用自己 递归:指在当前方法内调用自己的这种现象 递归的分类 递归分为两类,直接递归和间接递归 直接递归称为方法自身调用自己 间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法 递归的注意事项 递归一定要有条件限定,保证递归能够停止下来,否则会发生内存溢出 在递归中虽然有限定条件,但是递归次数不能太多,否则也会发生栈内存溢出 构造方法禁止递归,为何了:因为构造方法是创建对象使用的,总不能让对象一直创建下去把。 代码演示递归 public class Demo7 { public static void main(String[] args) { digui(1); } //定义一个静态方法 private static void digui(int i){ System.out.println(i); digui(++i); } } //结果如下图所示 我们加个条件试试 public class Demo7 { public static void main(String[] args) { digui(1); } //定义一个静态方法 private static void digui(int i){ System.out.println(i); //我们来添加一个递归结束的限定条件 if(i == 5000){ return;

ffmpeg裁剪编译

廉价感情. 提交于 2020-01-30 16:38:56
FFmpeg可以支持模块的裁剪编译,通常我们会按默认的方式进行编译,把常用的功能模块全部编译到程序中,但是应用到嵌入式系统中,或者存储空间有限制的环境,就需要对FFmpeg进行按需编译。 默认编译 我们可以看一下通常的编译的ffmpeg文件大小 ffmpeg version 4.2.2 Copyright © 2000-2019 the FFmpeg developers built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516 configuration: --prefix=…/local --env=‘PKG_CONFIG_PATH=…/local/lib/pkgconfig’ --pkg-config-flags=–static --extra-ldexeflags=-static --disable-doc --disable-libxcb --enable-gpl --enable-version3 --enable-nonfree --enable-libx264 --enable-libfreetype --enable-libfdk-aac --enable-libmp3lame --enable-libwebp --enable-libx265 --enable-libvmaf --extra-libs=’

C++中static的含义及名字控制

谁说胖子不能爱 提交于 2020-01-30 15:13:11
C++中static的含义及名字控制 1、C/C++中,static有两层含义:在固定的地址上进行存储分配,也就是说对象是在一个特殊的静态数据区上创建的,而不是每次函数调用时在堆栈上产生的。第二层含义是:对一个特定的编译单位来说是局部的。 静态对象的析构函数在main函数退出时,或是标准的C库exit()被调用时才被调用。在C++中,全局静态对象的构造函数在是main之前执行的。 2、外部连接与内部连接 一般来说,在文件作用域内的所有名字对程序中的所有翻译单元都是可见的,这就是外部连接(external linkage)。全局变量和普通函数是外部连接。 被声明为static的对象或函数的名字对翻译单元来说是局部于该单元的,这就是内部连接。如常量,内联函数,在默认情况下都是内部连接的。注意连接只引用那些在连接/装载期间有地址的成员,因此类声明和局部变量并不连接。 全局变量和静态变量存放在静态存储区。 对函数名(非成员函数),static与extern只会改变它们的可见性。 一个namespace可以在多个头文件中用一个标识符来定义。 //: C10:Header1.h #ifndef HEADER1_H #define HEADER1_H namespace MyLib { extern int x; void f(); // ... } #endif // HEADER1_H //

Overriding private methods in (non-)static classes

无人久伴 提交于 2020-01-30 12:54:28
问题 I have this test code example: public class Test { private static class Test3 { private void print1() { System.out.println("1"); } } private static class Test4 extends Test3 { private void print1() { System.out.println("2"); } } public static void main(String[] args) { System.out.println("Overriden call to private method ----------------"); OuterTest.Test1 test1 = new OuterTest.Test1(); OuterTest.Test2 test2 = new OuterTest.Test2(); OuterTest.Test1 test12 = new OuterTest.Test2(); test1

SpringBoot中的html页面访问不到js,css等静态资源问题解决方案

寵の児 提交于 2020-01-30 12:22:49
首先贴上项目目录结构 当我在index.html中访问css中的index.css时,发现报404,路径是 http://localhost:8080/static/css/index.css < link rel= "stylesheet" href= "/static/css/index.css" /> 网上的解释是在SpringBoot中,默认配置的/**映射到/static,所以不需要加/static,但我去掉后,发现仍然报404,但html在加载css时访问的路径是 http://localhost:8080/css/index.css 此时,我觉得可能是我 springboot中配置了context-path导致 , 所以又在html中加了/SIMS < link rel= "stylesheet" href= "/SIMS/css/normalize.css" /> 果然,加了之后成功访问到了。 同时,如果将html访问css改成通过../访问,通过访问上一级也是能成功的 < link rel= "stylesheet" href= "../css/index.css" /> 至此,访问css问题解决,但新问题又出现了。当我想通过a标签跳转到templates文件夹下的其他html时,发现又报了404。 查找网上资料发现

面试-Java 基础面试题

℡╲_俬逩灬. 提交于 2020-01-30 12:10:24
---------------------------------------Java 基础面试题 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。 2、Java有没有goto? java中的保留字,现在没有在java中使用。 3、说说&和&&的区别。 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。 &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。 &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。 4、在JAVA中如何跳出当前的多重嵌套循环? 在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int

C/C++内存分配问题

孤街醉人 提交于 2020-01-30 11:08:04
一个C/C++程序经过编译后,占用的内存主要分为以下5个部分 (地址由高到低) 1、栈区(stack) — 运行时分配 2、堆区(heap) — 运行时分配 3、全局区(静态区static) — 保存在 ELF 可重定位目标文件中 (1)已初始化的全局(静态)变量: .data段 (2)未初始化的全局(静态)变量: .bss段 4、文字常量区 — 保存在 ELF 可重定位目标文件中的 .rodata 段 5、程序代码区 — 保存在 ELF 可重定位目标文件中的 .text 段 栈区 :由编译器自动分配和释放。 栈区存放的内容: (1)函数的返回地址和函数的参数。 (2)函数在调用前后需要保持、不变的寄存器。 (3)函数的非静态(static)局部变量以及编译器自动生成的其他临时变量。 在C/C++程序中:主函数,中断服务函数,以及多任务系统(RTOS)中的任务函数 ,或者linux系统中的进程,它们的执行都需要各自运行栈的支持。 堆区 :由程序员调用 malloc 函数主动申请,需要释放时调用 free 函数释放。 若申请了堆区的内存之后忘记释放,很容易造成内存泄漏。频繁地申请和释放堆区内存会产生堆区碎片。 全局区(静态区static) :存放程序的数据(程序 = 指令 + 数据)。 文字常量区 :存放程序的数据(程序 = 指令 + 数据)。 程序代码区 :存放程序的指令(程序 =

Java - reflection to copy private static field to a local variable

梦想与她 提交于 2020-01-30 08:14:06
问题 private Methods : I know how to: Run a private void method without parameters Run a private void method with any numbers and Type of parameters Run a private return method without parameters and with any kind of return-Type Run a private return method with any number and Type of parameters and with any kind of return-Type private Fields : I know how to: Set any Type of private field Set any Type of private static field Set any Type of private final field Set any Type of private static final

201521123036 《Java程序设计》第3周学习总结

折月煮酒 提交于 2020-01-30 06:03:08
本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识。尝试学会使用思维导图将这些碎片化的概念、知识组织起来。 书面作业 Q1:代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; public static void main(String[] args) { geti(); Test1.getj(); } public static void geti() { System.out.println(i); } public static void getj() { System.out.println(j); } }  以上代码可否编译通过?哪里会出错?为什么?尝试改正?  如果创建3个Test1对象,有内存中有几个i,几个j? answer:编译无法通过。System.out.println(i)会出错。static是属于类的,非Static是属于对象,每个对象的值可能都不一样。geti是静态方法不能直接调用未经static定义的变量i。 改正如下: 如果创建3个Test1对象,内存中有3个i,1个j。j被static修饰后,在编译时由内存分配一块内存空间,该类的所有对象都会共享这块内存空间。 Q2:构造函数有什么用?其编写格式是什么?如果一个类不写构造函数