构造器

Vue组件化开发

寵の児 提交于 2020-02-28 03:43:22
组件使用的三个步骤 1.创建组件构造器 2.注册组件 3.使用组件 < div id = " app " > <!-- 使用组件 --> < cpn > </ cpn > </ div > < script > // 1.创建组件构造器对象 const cpnC = Vue . extend ( { template : ` <div> <h2>我是标题</h2> </div>` } ) ; // 2.注册组件(标签名,组件构造器) Vue . component ( "cpn" , cpnC ) const app = new Vue ( { el : "#app" , } ) </ script > 各步骤的含义: 1.Vue.extend(): 调用Vue.extend()创建的是一个组件构造器。 通常在创造组件构造器时,传入template代表我们自定义组件的模板。 该模板就是在使用到组件的地方,要显示的HTML代码。 2.Vue.component(): 调用Vue.component()是将刚才的组件构造器注册为一个组件,并且给它起一个组件的标签名称。 所以需要传两个参数:1、注册组件的标签名 2、组件构造器 全局组件和局部组件 1.全局组件:通过Vue.component注册组件 2.局部组件:在创建的Vue实例中注册组件 const app=new Vue({ el

干货!Lombok 使用详解,简化Java编程

蓝咒 提交于 2020-02-26 12:20:36
前言 在 Java 应用程序中存在许多重复相似的、生成之后几乎不对其做更改的代码,但是我们还不得不花费很多精力编写它们来满足 Java 的编译需求 比如,在 Java 应用程序开发中,我们几乎要为所有 Bean 的成员变量添加 get() ,set() 等方法,这些相对固定但又不得不编写的代码浪费程序员很多精力,同时让类内容看着更杂乱,我们希望将有限的精力关注在更重要的地方。 Lombok 已经诞生很久了,甚至在 Spring Boot Initalizr 中都已加入了 Lombok 选项, 这里我们将 Lombok 做一下详细说明: Lombok 官网的介绍 :Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again. Early access to future java features such as val, and much more. 直白的说: Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的

设计模式学习---单例模式

我是研究僧i 提交于 2020-02-26 03:47:58
单例模式---对于整个系统只需要一个实体就能完成工作的情况下,我们系统只需要一个实体并且保证只有一个实例,避免造成资源浪费 1.懒汉 懒汉模式是在需要用到该实例的时候才进行实例化 优点:节约资源,在需要用到该实例的时候才初始化 缺点:线程非安全,并发访问情况下,有可能多次实例化,并且每次实例化都覆盖上一次的实例 public class Singleton { private static Singleton SINGLETON ; private Singleton(){} public static Singleton getInstance(){ if (Singleton. SINGLETON == null ); Singleton. SINGLETON = new Singleton(); return SINGLETON ; } } 2.饿汉 饿汉单例模式在类加载的时候就实例化 优点:安全,不存在并发创建多实例问题 缺点:容易造成资源浪费,一直占用着资源且无法回收 public class Singleton { private static final Singleton SINGLETON = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return

java反射

余生长醉 提交于 2020-02-25 23:34:47
动态编程 程序运行过程中,可以改变程序的结构或变量类型。 虽然java不是动态语言,但是java具有一定的动态性,可以利用反射机制,字节码操作获得类似动态语言的操作。 反射是很重要的,他是java里的大哥级别人物,好多不能做的他都可以做。 反射机制 反射机制是指可以在运行时加载,探知,使用编译期间完全未知的类。 也就是说,利用反射机制,可以实例化一个在编译时只知道名字的类,不用new 创建对象。 Class c = Class . forName ( "包名.类名" ) ; 这就是一个常用的利用反射获取对象class的方法,对象的class里面包含了完整的类的结构信息,我们可以通过这个class,实例化一个对象。 同一个类只会被加载一次,只对应一个Class对象,多次获得Class对象,都是同一个Class对象(地址相同) 对象是表示或封装一些数据。一个类被加载之后,jvm会创建一个对应该类的Class对象,类的整个结构信息会被放到对应的Class对象中 获取Class对象的方法 Class.forName(“包名.类名”); 类名.class; (基本数据类型,数组都可以, 数组Class对象是否相同看维度,不看大小 ) 对象名.getClass(); 获得Class对象之后的操作 首先我们来看一下我们获得Class对象的 名字 : System . out . println

bootstrap插件学习-bootstrap.collapse.js

ε祈祈猫儿з 提交于 2020-02-24 21:19:04
先看bootstrap.collapse.js的结构 var Collapse = function ( element, options ){} // 构造器 Collapse.prototype = {} //构造器的原型 $.fn.collapse = function ( option ){} //jQuery原型上自定义的方法 $.fn.collapse.defaults = {} // 默认参数 $.fn.collapse.Constructor = Collapse // 重写jQuery原型自定义方法的构造器名 $(function (){}) // 初始化 HTML结构 <div class="accordion" id="accordion2"> <div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne"> 国土问题 </a> </div> <div id="collapseOne" class="accordion-body collapse" style="height: 0px;"> <div

多线程

天大地大妈咪最大 提交于 2020-02-24 13:39:22
创建多线程的方式 继承 Thread 类的方式 创建一个继承于 Thread 类的子类 重写 Thread 类的 run() 创建 Thread 类的子类对象 通过此对象调用 start() 实现 Runnable 接口的方式 创建一个实现了 Runnable 接口的类 实现类去实现 Runnable 中的抽象方法 run() 创建实现类对象 将对象作为参数传递到 Thread 类的构造器中,创建 Thread 类的对象 通过 Thread 类的对象调用 start() 注意点: 启动一个线程,必须调用 start() ,不能调用 run() 的方式启动线程 如果再启动一个线程,必须重写创建一个 Thread 子类的对象,调用此对象的 start() 实现 Callable 接口的方式 1. call ( ) 可以有返回值的。 2. call ( ) 可以抛出异常,被外面的操作捕获,获取异常的信息 3. Callable是支持泛型的 //1.创建一个实现Callable的实现类 class NumThread implements Callable { //2.实现call方法,将此线程需要执行的操作声明在call()中 @Override public Object call ( ) throws Exception { int sum = 0 ; for ( int i = 1

Python异常详解:基类、具体异常、异常层次结构

守給你的承諾、 提交于 2020-02-23 09:33:26
在 Python 中,所有异常必须为一个派生自 BaseException 的类的实例。 在带有提及一个特定类的 except 子句的 try 语句中,该子句也会处理任何派生自该类的异常类(但不处理 它 所派生出的异常类)。 通过子类化创建的两个不相关异常类永远是不等效的,既使它们具有相同的名称。 下面列出的内置异常可通过解释器或内置函数来生成。除非另有说明,它们都会具有一个提示导致错误详细原因的“关联值”。 这可以是一个字符串或由多个信息项(例如一个错误码和一个解释错误的字符串)组成的元组。 关联值通常会作为参数被传递给异常类的构造器。 用户代码可以引发内置异常。 这可被用于测试异常处理程序或报告错误条件,“就像” 在解释器引发了相同异常的情况时一样;但是请注意,没有任何机制能防止用户代码引发不适当的错误。 内置异常类可以被子类化以定义新的异常;鼓励程序员从 Exception 类或它的某个子类而不是从 BaseException 来派生新的异常。 关于定义异常的更多信息可以在 Python 教程的 用户自定义异常 部分查看。 当在 except 或 finally 子句中引发(或重新引发)异常时, __context__ 会被自动设为所捕获的最后一个异常;如果新的异常未被处理,则最终显示的回溯信息将包括原始的异常和最后的异常。 当引发一个新的异常(而不是简单地使用 raise

设计模式——单例模式

大城市里の小女人 提交于 2020-02-22 22:29:46
单例模式 什么是单例模式? 单例模式指,采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类肢体东一个取得其对象实例的方法(静态方法) e.g. : Hibernate中的Session Factory。 它否则创建Session对象,一个项目通常只需要一个SessionFactory就够。 饿汉式——静态常量 构造器私有化(使用 private, 防止 new) 类的内部创建实例对象,用final 和 static 关键词修饰 向外暴露一个静态的公共方法 (getInstance) //饿汉式(静态常量) class Singleton { //1. 构造器私有化,外部不能new private Singleton(){} //2. 本类内部创建对象实例 private final static Singleton instance = new Singleton(); //3. 对外提供一个公有的静态方法,返回实例对象 public static Singleton getInstance() { return instance; } } 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。 优点 写法简单,在类装载的时候就完成实例化。避免了线程同步问题

JavaScript OO不XX 学习总结

萝らか妹 提交于 2020-02-21 05:37:38
一、废话 总觉得面向对象这东西,如果做的东西不是十分复杂的话,其实不太有场景能用上。最近重新学习了《JavaScript高级程序设计》中面向对象程序部分的知识,有一些收获,特此记录。 二、JavaScript创建对象最佳实践 2.1 理论 JavaScript是基于原型的语言,创建对象比较常用的方法是采用“构造函数+挂载原型”的方式。 举个例子: var Engineer = function (name) { this.name = name; }; Engineer.prototype.codeWith = function (tools) { return this.name + ' is coding with ' + tools.join(','); }; Engineer.prototype.solve = function (problem) { return this.name + ' is solving ' + problem; }; var a = new Engineer('kohpoll'); var b = new Engineer('xp'); console.log(a, b); console.log(a.codeWith(['vim'])); console.log(a.solve('oo')); 这段代码执行后,事实上的结构是这样的:

复盘2.18

非 Y 不嫁゛ 提交于 2020-02-20 13:04:33
1: 详解:API里面写的:当线程在活动之前或活动期间处于正在等待、休眠或占用状态且该线程被中断时,抛出该异常。 抛InterruptedException的代表方法有: java.lang.Object 类的 wait 方法 java.lang.Thread 类的 sleep 方法 java.lang.Thread 类的 join 方法 2: 详解: A选项正确,Java中一般通过interrupt方法中断线程 B选项正确,线程使用了wait方法,会强行打断当前操作,进入阻塞(暂停)状态,然后需要notify方法或notifyAll方法才能进入就绪状态 C选项错误,新创建的线程不会抢占时间片,只有等当前线程把时间片用完,其他线程才有资格拿到时间片去执行。 D选项错误,调度算法未必是剥夺式的,而准备就绪但是还没有获得CPU,它的权限更高只能说明它获得CPU被执行的几率更大而已 3: 题解:没有final修饰的变量相加后会被自动提升为int型,与目标类型byte不相容,需要强制转换(向下转型)。 4: 题解:A、java中类的加载有5个过程,加载、验证、准备、解析、初始化;这便是类加载的5个过程,而类加载器的任务是根据一个类的全限定名来读取此类的二进制字节流到JVM中,然后转换为一个与目标类对应的java.lang.Class对象实例,在虚拟机提供了3种类加载器,引导