静态函数

Java类初始化顺序说明

倖福魔咒の 提交于 2019-12-02 14:52:06
一个类会有如下几个内容,类在初始化时他们是有顺序的 静态属性:static 开头定义的属性 静态方法块: static {} 圈起来的方法块 静态方法:static 修饰的方法(被调用才生效) 普通属性: 未带static定义的属性 普通方法块: {} 圈起来的方法块 普通方法: 普通方法(被调用才生效) 构造方法: 类名相同的方法 1.普通类 public class LifeCycle { // 静态属性 private static String staticField = getStaticField(); // 静态方法块 static { System.out.println(staticField); System.out.println("静态方法块"); } // 静态方法 public static String getStaticField() { System.out.println("静态方法"); return "静态属性"; } // 普通属性 private String field = getField(); // 普通方法块 { System.out.println(field); System.out.println("普通方法块"); } // 普通方法 public static String getField() { System.out

java23种设计模式(三)单例模式

岁酱吖の 提交于 2019-12-02 14:25:26
原文地址:https://zhuanlan.zhihu.com/p/23713957 一、概述 1、什么是单例模式? 百度百科是这样定义的:单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例 我是这样理解的:单例模式就是只允许一个实例,最开始使用它的时候是C#中,我要实例化一个A窗体,但是有个需求就是A窗体必须是唯一,不管我在B窗体操作A窗体还是C窗体中操作A窗体都是如此,这时候就使用到了单例模式 2、单例模式分类 A、懒汉单例模式:在第一次调用的时候实例化本身,在并发环境下,可能出现多个本身对象。所以线程是不安全的 B、饿汉单例模式:在类初始化时,已经自行实例化一个静态对象,所以本身就是线程安全的 C、登记单例模式:通过一个专门的类对各单例模式的单一实例进行管理和维护 3、特点 A、 单例模式类只能有一个实例 B、 单例模式类必须自己创建自己的唯一实例 C、 单例模式类必须给所有其他对象提供这一实例 二、运用 1、懒汉单例模式 /** * 描述:懒汉单例模式<p> * 作者: kimball <p> * E-mail: kimballlu@foxmail.com <p> * 日期:2016-11-16 下午4:30:32 <p> */ public class Singleton { /** *

Cesium官方教程13--Cesium和Webpack

回眸只為那壹抹淺笑 提交于 2019-12-02 13:58:29
原文地址: https://cesiumjs.org/tutorials/cesium-and-webpack/ Cesium 和 Webpack Webpack是非常强大非常流行的JavaScript 模块打包工具。它可以让开发人员以一种简单直观的 require 方式去加载各种页面需要的文件,极大的方便了开源人员对代码和资源文件进行结构化设计。当编译的时候,它会跟踪代码依赖性,把所有的模型打包到浏览器可以直接加载的一个或者多个bundles中。 在这个教程的前一半,我们创建一个简单的web项目,学会使用webpack,然后再去集成 Cesium npm模块。这是基于Cesium开发正式web项目的很好开端,但是它不是学习Cesium的最简单示例,可以看一下我们的新手入门。 在教程的后半部分,我们将讨论更多高级的webpack 配置参数,去优化使用Cesium的项目。 这个优化Cesium和Webpack集成的项目示例,可以查看官网webpack示例 代码库。 先决条件 对命令行,JavaScript语言和web开发需要有一个基本了解。 一个代码编辑器(IDE)。Cesium团队的开发人员都用 Webstorm, 但是 Sublime Text 等工具也可以。 安装了Node.js 。LTS版本最好,但是只要是v6以上都可以的。 创建一个基本的 webpack 程序 第一部分

静态链接库、动态链接库

我的梦境 提交于 2019-12-02 10:50:07
1.代码的重用 一般在程序中,代码重用可以用函数来实现; 给其它程序重用代码的实现有两种方式: 1】静态链接库 2】动态链接库 也就是可以用来实现模块化; 1.静态链接库 1)创建静态链接库 vc6中创建:File ->new ->Projects ->Win32 Static Library 头文件: #if !defined(AFX_HELLO_H__0A93BBBF_3714_47C0_A953_6BC530AAD15A__INCLUDED_) #define AFX_HELLO_H__0A93BBBF_3714_47C0_A953_6BC530AAD15A__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 int Plus(int x, int y); int Sub(int x, int y); int Mul(int x, int y); int Div(int x, int y); #endif // !defined(AFX_HELLO_H__0A93BBBF_3714_47C0_A953_6BC530AAD15A__INCLUDED_) cpp文件: #include "Hello.h" int Plus(int x, int y) { return x+y; }   int

Flask 静态文件、模板文件设置

痞子三分冷 提交于 2019-12-02 09:21:43
需求 Flask默认的设置 静态文件的默认文件夹: static 静态文件的默认访问前缀: /static 模板文件的默认文件夹: templates 在Django项目中,如果需要访问静态文件,默认则是使用 /static 的前缀来进行访问。那么对于Flask来说,也是一样的。 那么如果需要修改默认的配置,应该怎么去设置呢? 可以在创建app的时候使用以下参数进行设置: # 实例化app,参数如下: # import_name, # static_url_path=None, # static_folder="static", # static_host=None, # host_matching=False, # subdomain_matching=False, # template_folder="templates", # instance_path=None, # instance_relative_config=False, # root_path=None, app = Flask(import_name=__name__, static_url_path='/python', # 配置静态文件的访问 url 前缀 static_folder='static', # 配置静态文件的文件夹 template_folder='templates') #

python 面向对象

风格不统一 提交于 2019-12-02 06:43:57
面向对象 对象: 是指现实中的物体实体化 ,对象有很过属性(名字、年龄..),也有很多行为(学习、吃饭..), 实例即对象。 对象同时也是通过类定义的数据结构实例,对象包括两个数据成员(类变量和实例变量)和方法。对象可以包含任意数量和类型的数据。 实例化 :创建一个类的实例,类的具体对象化,实例就是类的实例化, d1 = gog(),d1即为实例 类 :拥有相同属性和方法(行为)的对象划为一组,称为类,类是创建对象的工具 方法 :类中定义的函数 类变量 :在类中被定义的变量,通常以self.variable的形式被定义,类变量通常不作为实例变量使用 方法重写 :如果从父类继承的方法不能满足子类的需求,可以对其进行修改,这个过程叫方法的覆盖,也叫方法的重写 继承 :及一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。 Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法。 类定义   语法格式   class 类名(继承列表):     """类的文档字符串"""     类变量的定义      实例方法 的定义     类方法的定义(@classmethod)     静态方法的定义(@staticmethod

php页面静态化

删除回忆录丶 提交于 2019-12-02 06:10:19
网站一直在加载,很慢,处理方式多种; 0.页面静态化; 1.优化数据库; 2.负载均衡; 3.使用缓存技术 关于页面静态化 使用函数如 file_put_contents($filename,$string); php的输出缓冲区 开启 5.3以后默认开启 output_buffering on 没开启的话可以用 函数在页面开始 ob_start(); eg: ob_start(); ...//引文所需静态化的文件 file_put_contents('index.html',ob_get_contents()); ob_clean(); ob_start(); file_put_contents('index.html',ob_get_clean()); //注意ob_start() 无论php.ini 有没有开启 output_buffering 设置, //最还都要开启,即使已经为on ,也是开辟新的输出缓冲区 关于如何触发系统生成纯静态页面 方式有三种: 0.页面添加缓存时间 用户访问如index.php 判断index.html的修改时间 如当前时间差值 若大于设定的数值学访问index.php否则访问静态页面 if(is_file('./index.html')&&time()-filemtime('./index.html')<300){ require '.

Linux下动态链接与静态链接

半腔热情 提交于 2019-12-02 05:25:45
一、首先我们来说一下库的基础概念: 在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。通俗的说就是把这些常用函数的目标文件打包在一起,提供相应函数的接口,便于程序员使用。在使用函数时,只需要包对应的头文件即可。按照库的使用方式又可分为动态库和静态库,在不同平台下对应后缀也有所不同。 WINDOWS下:.dll 后缀为动态库,.lib 后缀为静态库; LINUX下:.so后缀为动态库,.a后缀为静态库。 比较 静态库 动态库 概念 静态链接库就是一个多个汇编文件(obj文件)的集合,在Linux中通常命名为libxxx.a。对于静态链接库函数的连接是在编译阶段,直接将obj文件的一份拷贝代码连接到目标文件。 动态链接库也是一个或多个汇编文件的集合,在Linux中通常命名为libxxx.so。对于动态链接库函数的链接是在运行阶段,各个目标程序之间共享同一份库文件。在编译阶段仅仅加载了函数符号。 优点 在编译阶段就完成连接,不需要单独库文件。(简单、直接、粗暴)。 1) 代码共享,当多个程序运行同一个动态库的时候,其实他们是共享的同一份代码。减少了内存的使用量。2)按需加载,只有当运行过程中需要使用动态库的函数,才会去加载动态库

C/C++代码静态分析工具调研

那年仲夏 提交于 2019-12-02 03:54:42
C/C++代码静态分析工具调研 摘自:https://www.jianshu.com/p/92886d979401 简述 静态分析(static analysis)是指在不执行代码的情况下对其进行分析评估的过程,是软件质量和软件安全保障的重要一环。它通过词法分析、语义分析、控制流分析、数据流分析等技术对代码逐行解析暴露问题,从而协助我们将许多在运行时才会暴露的棘手麻烦扼杀于摇篮之中。 典型问题示例 代码静态分析能够识别诸多类型的漏洞或缺陷,轻至警告级的「变量未使用」,重至错误级的各类bug,这里列举几种常见的、较严重的、可静态检测的问题。 ■ 缓冲区溢出 缓冲区溢出是指向缓冲区中存入超出其空间大小的数据量,导致多余的数据覆盖其他区域的合法数据,类似倒入容器中的水过多而导致溢出,流到它不该去的地方,造成不可预期的后果。从实践统计看,缓冲区溢出问题是软件中最普遍存在的漏洞问题,在C/C++这类不提供内存越界检测的语言中尤甚。通常,发生缓冲区溢出的情况有: 字符串拷贝,当目标缓冲区长度小于源字串的长度时(此类的函数包括 strcpy 、 _mbscpy 、 strcat 、 wcscat 、 memcpy 、 strncpy 、 _mbsncpy 、 strncat 、 wcsncat 等)。 // 字符串拷贝之前没有对s做长度判断,如果超过10,就会造成缓冲区溢出。 void func

day58

为君一笑 提交于 2019-12-02 00:21:22
小白必会三板斧 HttpResponse # 返回字符串 render # 返回html页面 并且可以给该html传值 redirect # 重定向 # 既可以是我们自己的路径也可以是网上的路径 django返回的都是HttpResponse对象 ​ 以登录功能为例 静态文件配置 用户能够在浏览器中输入网址访问到相应的资源 前提是后端暴露了该资源接口 在django中如果你想让用户访问到对应的资源,我们只需要 在urls.py中设置对应关系 反过来如果我没有在urls.py中开设资源 用户就永远就访问不到对应的资源 返回给浏览器的html页面上所有的静态资源 也需要请求后端加载获取 ​ 通常我们将网站所用到的html文件全部存放在templates文件夹下 网站用到的静态资源全部存放到static文件夹下 静态文件 网站自己写的 js css font 第三方的代码 bootstrap elementUi layui ​ STATIC_URL = '/static/' # 是访问静态资源的接口前缀 """只要你想访问静态资源 你就必须以static开头""" # 手动配置静态文件访问资源 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), # os.path.join(BASE_DIR,'static1'), # os