成员变量

一些C++编码规范

僤鯓⒐⒋嵵緔 提交于 2019-12-01 19:45:16
1.成员变量是引用类型,头文件只需向前声明对应类,不需包含类头文件,在实现文件中需要包含; 2.头文件声明变量和函数按照pulic、protected、private顺序; 3.成员变量声明,加 "m_"前缀,后面部分首字母小写,使用驼峰命名法。指针使用"m_p"前缀,后面部分使用驼峰命名法; 来源: https://www.cnblogs.com/luoluosha/p/11715179.html

java基础(一)

你离开我真会死。 提交于 2019-12-01 16:41:54
1 java语言的特性 1.1 简单性 Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。另外,Java也适合于在小型机上运行,它的基本解释器及类的支持只有40KB左右,加上标准类库和线程的支持也只有215KB左右。库和线程的支持也只有215KB左右。 1.2 面向对象 Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。 1.3 分布性 Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。 1.4 鲁棒性 Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。通过集成的面向对象的例外处理机制,在编译时,Java提示出可能出现但未被处理的例外,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java在编译时还可捕获类型声明中的许多常见错误

Java基础知识

穿精又带淫゛_ 提交于 2019-12-01 16:35:50
- [1. 面向对象和面向过程的区别](#1-面向对象和面向过程的区别) - [面向过程](#面向过程) - [面向对象](#面向对象) - [2. Java 语言有哪些特点](#2-java-语言有哪些特点) - [3. 关于 JVM JDK 和 JRE 最详细通俗的解答](#3-关于-jvm-jdk-和-jre-最详细通俗的解答) - [JVM](#jvm) - [JDK 和 JRE](#jdk-和-jre) - [4. Oracle JDK 和 OpenJDK 的对比](#4-oracle-jdk-和-openjdk-的对比) - [5. Java和C++的区别](#5-java和c的区别) - [6. 什么是 Java 程序的主类 应用程序和小程序的主类有何不同](#6-什么是-java-程序的主类-应用程序和小程序的主类有何不同) - [7. Java 应用程序与小程序之间有那些差别](#7-java-应用程序与小程序之间有那些差别) - [8. 字符型常量和字符串常量的区别](#8-字符型常量和字符串常量的区别) - [9. 构造器 Constructor 是否可被 override](#9-构造器-constructor-是否可被-override) - [10. 重载和重写的区别](#10-重载和重写的区别) - [11. Java 面向对象编程三大特性: 封装

实例成员,指令

时光怂恿深爱的人放手 提交于 2019-12-01 15:41:04
vue导读 """ vue框架 vue是前台框架:Angular、React、Vue vue:结合其他框架优点、轻量级、中文API、数据驱动、双向绑定、MVVM设计模式、组件化开发、单页面应用 vue环境:本地导入与cdn导入 """ ​ # vue是js渐进式框架 # 根据开发需求,可以决定vue框架控制项目的具体方位:可以为一个标签,也可以为一个页面,甚至可以为整个项目 实例成员 - 挂载点 """ 1、vue渐进式框架:控制页面及项目的范围 2、vue的环境导入:本地、cdn 3、vue框架的优点:轻量级、中文API、数据驱动、双向绑定、MVVM设计模式、组件化开发、单页面应用 4、vue如何与html页面结构建立关联:挂载点 """ # 1) html与body不能作为挂载点 # 2) 一个vue对象挂载点之后索引一个匹配结果,所以挂载点一般用id标识 <div id="wrap"> {{ }} <hr> <div class="main"> {{ }} </div> <hr> <div class="main"> {{ }} </div> </div> <script src="js/vue.js"></script> <script> new Vue({ el: '#wrap' // el表示挂载点 }) </script> js对象(字典)补充 let b = 20;

js中的require、define、export、import【转】

筅森魡賤 提交于 2019-12-01 14:02:31
原文链接: https://www.cnblogs.com/libin-1/p/7127481.html 为什么有模块概念 理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。 但是,Javascript不是一种模块化编程语言,在es6以前,它是不支持”类”(class),所以也就没有”模块”(module)了。 require时代 Javascript社区做了很多努力,在现有的运行环境中,实现”模块”的效果。 原始写法 模块就是实现特定功能的一组方法。 只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块。 1 2 3 4 5 6 function m1( ){   //... } function m2( ){   //... } 上面的函数m1()和m2(),组成一个模块。使用的时候,直接调用就行了。 这种做法的缺点很明显:”污染”了全局变量,无法保证不与其他模块发生变量名冲突,而且模块成员之间看不出直接关系。 对象写法 为了解决上面的缺点,可以把模块写成一个对象,所有的模块成员都放到这个对象里面 1 2 3 4 5 6 7 8 9 var module1 = new Object({ _count : 0,   m1 : function ( ){    //... },   m2 : function ( ){    //...

JavaSE学习笔记之-----面向对象

流过昼夜 提交于 2019-12-01 13:59:47
目录: 一、面向对象基本概念 二、引用变量与对象 三、构造方法(函数) 四、方法的重载 五、this关键字和static关键字 1、this关键字 2、static关键字 六、package和import语句 ---------------------------------------------- 一、继承 二、方法的重写 三、super关键字 四、Object类 五、对象转型 六、多态 七、抽象类 八、Final关键字 九、接口(interface) 一、面向对象基本概念 Java中面向对象和C++中基本一致,就思想来说,其实都一样的,只是有些概念或者叫法有些不同。Java当中分清楚类、对象、方法这三者就行了。对象有的时候叫实例,而方法其实就是函数,来完成某一功能的。 我对类的理解是: 类是一个抽象的概念,是不存在的东西,是从众多具体的事物(即是程序中叫的对象、实例)中概括出的共性,它只是一个概念,比如说“水果”、“蔬菜”,这些都是类,因为不存在一个“东西”叫“水果”,比方说走进水果店,跟老板说,老板:我要买水果;老板问你是不是要苹果;你答:不是要苹果,我就是要水果;这个例子中的“水果”就是类,苹果就是对象。对象是实际存在的实例,是具备了“类”的特征的“东西”。同样,在程序中,你需要用“类”去实例化一个“对象”。 方法实际上就是函数了,在类里面有类的成员变量(也叫属性)

【TencentOS tiny】深度源码分析(5)——信号量

余生长醉 提交于 2019-12-01 13:45:30
信号量 信号量( sem )在操作系统中是一种实现系统中任务与任务、任务与中断间同步或者临界资源互斥保护的机制。在多任务系统中,各任务之间常需要同步或互斥,信号量就可以为用户提供这方面的支持。 抽象来说,信号量是一个非负整数,每当信号量被获取( pend )时,该整数会减一,当该整数的值为 0 时,表示信号量处于无效状态,将无法被再次获取,所有试图获取它的任务将进入阻塞态。通常一个信号量是有计数值的,它的计数值可以用于系统资源计数(统计)。 一般来说信号量的值有两种: 0:表示没有积累下来的 post 信号量操作,且可能有任务阻塞在此信号量上。 正值:表示有一个或多个 post 信号量操作。 一般来说信号量多用于同步而非互斥,因为操作系统中会提供另一种互斥机制(互斥锁),互斥量的互斥作用更完善:互斥锁有优先级继承机制,而信号量则没有这个机制,此外互斥量还拥有所有者属性,我们会在后续讲解。 信号量也如队列一样,拥有 阻塞机制 。任务需要等待某个中断发生后,再去执行对应的处理,那么任务可以处于阻塞态等待信号量,直到中断发生后释放信号量后,该任务才被唤醒去执行对应的处理。在释放( post )信号量的时候能立即将等待的任务转变为就绪态,如果任务的优先级在就绪任务中是最高的,任务就能立即被运行,这就是操作系统中的“ 实时响应,实时处理 ”。在操作系统中使用信号量可以提高处理的效率。

【TencentOS tiny】深度源码分析(6)——互斥锁

…衆ロ難τιáo~ 提交于 2019-12-01 13:45:14
互斥锁 互斥锁又称互斥互斥锁,是一种特殊的信号量,它和信号量不同的是,它具有 互斥锁所有权、递归访问以及优先级继承 等特性,在操作系统中常用于对临界资源的 独占式 处理。在任意时刻互斥锁的状态只有两种, 开锁或闭锁 ,当互斥锁被任务持有时,该互斥锁处于闭锁状态,当该任务释放互斥锁时,该互斥锁处于开锁状态。 一个任务持有互斥锁就表示它拥有互斥锁的所有权,只有该任务才能释放互斥锁,同时其他任务将不能持有该互斥锁,这就是互斥锁的 所有权 特性。 当持有互斥锁的任务再次获取互斥锁时不会被挂起,而是能递归获取,这就是互斥锁的 递归访问 特性。这个特性与一般的信号量有很大的不同,在信号量中,由于已经不存在可用的信号量,任务递归获取信号量时会发生挂起任务最终形成 死锁 。 互斥锁还拥有 优先级继承 机制,它可以将 低 优先级任务的优先级 临时提升 到与获取互斥锁的 高 优先级任务的优先级 相同 ,尽可能 降低 优先级翻转的危害。 在实际应用中,如果想要实现同步功能,可以使用信号量,虽然互斥锁也可以用于任务与任务间的同步,但互斥锁更多的是用于临界资源的互斥访问。 使用互斥锁对临界资源保护时,任务必须先获取互斥锁以获得访问该资源的所有权,当任务使用资源后,必须释放互斥锁以便其他任务可以访问该资源(而使用信号量保护临界资源时则可能发生优先级翻转,且 危害 是不可控的)。 优先级翻转

整理笔记——java基础总结

五迷三道 提交于 2019-12-01 13:17:49
# JAVA ## 基础内容 ### JVM、JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。 java语言是跨平台,jvm不是跨平台的。 JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库。 JDK(Java Development Kit):java的开发工具,包括jre+开发工具 ### 环境变量path和classpath的作用是什么? (1)path是配置Windows可执行文件的搜索路径,即扩展名为.exe的程序文件所在的目录, 用于指定DOS窗口命令的路径。 (2)Classpath是配置class文件所在的目录,用于指定类搜索路径,JVM就是通过它来寻找该类的class类文件的。 ### 变量有什么用?为什么要定义变量?什么时候用? 答: 变量的作用:用来存储数据。 为什么要定义变量:用来不断的存放同一类型的常量,并可以重复使用 ### &和&&的区别? (1)&&会出现短路,如果可以通过第一个表达式判断出整个表达式的结果,则不继续后面表达式的运算; 只能操作boolean类型数据; (2)&不会出现短路,将整个表达式都运算。既可以操作boolean数据还可以操作数。 ### 标示符命名规则: 由数字(0-9),大小写英文字母,以及

类特殊成员(属性和方法)

你说的曾经没有我的故事 提交于 2019-12-01 12:47:23
Python下划线命名模式 - 小结 以下是一个简短的小结,即"速查表",罗列了我在本文中谈到的五种Python下划线模式的含义: 因为python中所有类默认继承object类。而object类提供了了很多原始的内建属性和方法,所以用户自定义的类在Python中也会继承这些内建属性。可以使用dir()函数可以查看,虽然python提供了很多内建属性但实际开发中常用的不多。而很多系统提供的内建属性实际开发中用户都需要重写后才会使用。对于python来说,属性或者函数都可以被理解成一个属性 [root@kube method]# cat demo2.py class Person: pass print(dir(Person)) #使用dir 函数查看内建属性 [root@kube method]# py demo2.py ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '_