static

黑马Java学习笔记之-----枚举

大憨熊 提交于 2020-01-09 04:56:01
---------------------- android培训 、 java培训 、 期待与您交流! ---------------------- 枚举: 关键字enum   在某些情况下,一个类的对象是有限而且固定的,例如星期,只有7个对象,四季,只有四个对象。这种 实例有限 而且 固定 的类,就是枚举类。 用普通类实现枚举功能:   1、通过private将构造器隐藏   2、把这个类的所有可能实例都使用public static final 修饰   3、可以提供一些静态方法,允许其他程序根据特定参数来获取实例 1 class Season{ 2 //Season类定义成不可变的,属性也用fianl修饰 3 private final String name; 4 5 //所有实例 6 public static final Season SPRING = new Season("春天"); 7 public static final Season SUMMER = new Season("夏天"); 8 public static final Season FALL = new Season("秋天"); 9 public static final Season WINTER = new Season("冬天"); 10 11 //构造函数为private的 12

Vue打包项目图片等静态资源的处理

好久不见. 提交于 2020-01-09 02:44:48
  项目打包,默认是打包在根目录下面的。当然我们可以通过设置,打包到任意子目录中去。 但是,当项目中引入资源的,比如:引入图片资源、js资源、或者字体图标之类的。那么可能在这个中间又会踩坑。 1、在vue文件引入图片   例如,我们将一张图片放到资源目录 /static/image/lyf.jpg 我们在 vue 文件中用下面的代码来使用这张图片。 <img src="static/image/lyf.jpg" alt=""> 注意,最前面不要加 / ,如果是这样操作的话,会变成相对根目录调用图片。如果你的项目要打包到子目录的话,这样做就会出现问题。 2、在 css 文件中,引用图片的处理   还是上面那张图片,我们需要在 css 中来引用,如何来写呢? .love { background-image: url('../static/image/lyf.jpg'); }   这里为什么要加上 ../ 呢?   如果是最终打包到根目录的话,可以使用 / 这种路径。这个是完全可以理解的。   但,如果是打包到子目录,我们必须看下生成的最终路径: ├── index.html └── static ├── css │ └── app.a7a745952a8ca7f8c9413d53b431b8c8.css ├── image │ └── lyf.jpg ├── img │ └──

[C++]C++面试知识总结

只谈情不闲聊 提交于 2020-01-08 23:40:04
1.程序运行知识 1.1 内存布局和分配方式 C程序的内存布局如下: 静态存储区:存储全局变量和static变量,通常在程序编译期间已经分配好了。 BSS段:存放未初始化的static变量和全局变量 Data段:存放初始化过的static变量和全局变量 Text段:存储程序的二进制代码,程序代码区。   堆:程序运行时通过malloc申请的内存区存放在堆中,需要使用free来释放该内存空间,生存期在malloc和free之间。 栈:执行函数时,函数的局部变量存储在栈中,执行结束后自动释放该内存区域,栈内存分配运算内置与处理器指令集中。 C++程序的内存布局与C程序布局类似,区别是C++不再区分全局变量和静态变量是否已经初始化,全部存储在静态存储区;另外堆中存放new/delete申请释放的资源,而malloc和free申请的资源存放在自由存储区。 1.2 内存溢出原因 栈溢出:越界访问造成,例如局部变量数组越界访问或者函数内局部变量使用过多,超出了操作系统为该进程分配的栈的大小,还有递归函数层次过多超过了栈大小。 堆溢出:程序申请了资源但忘记释放该资源,造成内存泄露,累积泄露内存过多会造成内存溢出。 1.3 内存泄露和检测 C++内存泄漏检测内存泄露是指程序中动态分配了内存,但是在程序结束时没有释放这部分内存,从而造成那一部分内存不可用的情况。 动态内存泄露检测:检查new

Java之static关键字

和自甴很熟 提交于 2020-01-08 22:25:24
static关键字概述: 在Java中,定义static关键字用于修饰类的成员, 如成员变量、成员方法以及代码块等,被static修改的成员具备些特殊性。 static关键字使用范围: 在Java类中,可用static修饰属性、方法、代码块、内部类。 被static关键字修饰后的成员特点: 1.随着类的加载而加载。 2.优先于对象存在。 3.修饰的成员,被所有对象所共享。 4.访问权限允许时,可不创建对象,直接被类调用。 静态变量: 1.在Java类中,可以使用static关键字来修饰成员变量,该变最被称作静态变量。 2.静态变量被所有实例共享,可以使用“类名.变量名”的形式来访问。 3. static 关键字只能用于修饰成员变量,不能用于修饰局部变量,否则编译会报错。 1 class Student { 2 //定义静态变量schoolName 3 static String schoolName; 4 } 5 6 public class StaticDemo{ 7 public static void main(String[] args) { 8 //创建学生对象 9 Student stu = new Student(); 10 Student.schoolName = "MIT"; //为静态变量赋值 11 System.out.println("我的学校是" +

浅谈AES加解密

感情迁移 提交于 2020-01-08 21:01:56
浅谈AES加解密 一、描述 AES高级加解密工具(可逆) 二、代码实现 1、AES加密、解密 package com . lanshen . utils . lsjavaUtils ; import sun . misc . BASE64Decoder ; import sun . misc . BASE64Encoder ; import javax . crypto . Cipher ; import javax . crypto . spec . IvParameterSpec ; import javax . crypto . spec . SecretKeySpec ; /** * Created by Lanshen on 2019/11/29. * AES高级加解密工具(可逆) */ public class lsaesUtils { private static final String AES = "AES" ; private static final String CHAR_SET_NAME1 = "UTF-8" ; private static final String CHAR_SET_NAME2 = "ASCII" ; private static final String CIPHER_KEY = "AES/CBC/PKCS5Padding" ; /

单例传说

狂风中的少年 提交于 2020-01-08 08:42:41
单例传说 在设计模式这个门派里面,有个很常见的招式,叫做单例派。 什么是单例 所谓单例,顾名思义,就是单个实例,使用单例模式可以让某个类全局只有一个实例。 单例的好处 对类的唯一实例做出访问控制 允许改变实例的数目 相比多例,单例更省资源 单例的缺点 不适用于变化的对象 由于单利模式中没有抽象层 滥用单例将带来一些负面问题 哪些场景适合使用单例 下面摘抄自龙哥的博客园 "在我的工作过程中,我发现所有可以使用单例模式的类都有一个共性,那就是这个类没有自己的状态,换句话说,这些类无论你实例化多少个,其实都是一样的,而且更重要的一点是,这个类如果有两个或者两个以上的实例的话,我的程序竟然会产生程序错误或者与现实相违背的逻辑错误。" "这样的话,如果我们不将这个类控制成单例的结构,应用中就会存在很多一模一样的类实例,这会非常浪费系统的内存资源,而且容易导致错误甚至一定会产生错误,所以我们单例模式所期待的目标或者说使用它的目的,是为了尽可能的节约内存空间,减少无谓的GC消耗,并且使应用可以正常运作。" "我稍微总结一下,一般一个类能否做成单例,最容易区别的地方就在于,这些类,在应用中如果有两个或者两个以上的实例会引起错误,又或者我换句话说,就是这些类,在整个应用中,同一时刻,有且只能有一种状态。" " 一般实践当中,有很多应用级别的资源会被做成单例,比如配置文件信息,逻辑上来讲

static关键字

蹲街弑〆低调 提交于 2020-01-08 00:33:37
1. static关键字可以修饰属性 称为静态属性也叫做类的变量 在方法区(共享区)中存储,并且所有对象都可以访问 与类同生死,也就是说类存在时static修饰的属性就存在 可以使用类名.属性名称,也可以使用引用名称.属性名称 注意:当引用名称的值为null时,也可以访问静态属性,不会出现空指针异常 类优先于对象,也就是说类的生命周期比较长 2. static关键字可以修饰方法 称为静态方法也叫做类的方法 与类同生死,也就是说类存在时static修饰的方法就存在 可以使用类名.方法名称([ 参数列表 ]); ,也可以使用引用名称.方法名称([ 参数列表 ]); 注意:当引用名称的值为null时,也可以访问静态方法,不会出现空指针异常 静态方法中只能访问静态属性、静态方法 当方法体中只访问静态属性、静态方法时,可以编写为静态方法 3. static关键字可以修饰代码块 主要完成对静态属性赋值 静态代码块在类 第一次被载入时 执行 Student{ //静态代码块:完成对静态属性赋值 static{ address = "北京市"; System.out.println("执行了静态代码块。。。。。"); } //构造方法:完成对实例变量赋值 public Student(){ } public Student(String name){ this.name = name; } /

日志级别

随声附和 提交于 2020-01-07 14:00:55
日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。:  1.static Level DEBUG :     DEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的。  2.static Level INFO     INFO level表明 消息在粗粒度级别上突出强调应用程序的运行过程。  3.static Level WARN     WARN level表明会出现潜在错误的情形。  4.static Level ERROR     ERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。  5.static Level FATAL     FATAL level指出每个严重的错误事件将会导致应用程序的退出 ———————————————— 版权声明:本文为CSDN博主「从放弃到开始」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_30764991/article/details/80642502 来源: https://www.cnblogs.com/lovlinggr/p/12148254.html

ThreadLocal使用方法

别说谁变了你拦得住时间么 提交于 2020-01-07 12:00:39
ThreadLocal:用于实现线程内部的数据共享叫线程共享(对于同一个线程内部数据一致),即相同的一段代码 多个线程来执行 ,每个线程使用的数据只与当前线程有关。 实现原理:ThreadLocal相当于一个map 当前线程 存储当前的变量的时候 map.put(确定线程的唯一值(比如变量名称),变量),然后获取的时候直接拿过来就行 一般用法:定义一个全局变量ThreadLoacl t 将新建线程要使用的变量 存进去 比如 1.当存储的为基本变量或者包装对象时 关于多线程打印结果问题,详见( https://blog.csdn.net/qq_44868502/article/details/103869078 ) package com.yanghs.test.traditional; /** * @author yanghs * @Description: * @date 2018/3/31 16:24 */ public class ThreadLocalTest { /*定义一个全局变量 来存放线程需要的变量*/ public static ThreadLocal<Integer> ti = new ThreadLocal<Integer>(); public static void main(String[] args) { /*创建两个线程*/ for(int i=0;

Subclass-specific static member data

家住魔仙堡 提交于 2020-01-07 05:58:25
问题 I'm trying to implement a family of classes who keep track of how many instances exist on a per-class basis. Because all of these classes have this behavior, I'd like to pull it out into a single superclass so I don't have to repeat the implementation with each class. Consider the following code: class Base { protected static int _instances=0; protected int _id; protected Base() { // I would really like to use the instances of this's class--not // specifically Base._instances this._id = Base.