Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步 一.概述     PV操作是对信号量进行的操作.     进程同步是指在并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒.举例:就像消费者与生产者的关系,说吃馒头把有一个碗能盛下6个馒头,厨师不停的生产馒头,顾客不停的吃馒头,此时厨师与顾客的关系就是同步.(如下图)          下面我就为大家利用java多线程的代码实现这个操作的过程. 二.代…
    一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 方法:方法就是行为,一个类可以有很多方法.逻辑运算.数据修改以及所有动作都是在方法中完成的. 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定.     编写Java程…
一.数据类型和运算符 1.注释可以提高程序的可读性.可划分为 单行注释 // 多行注释 /.../ 文档注释 /**...*/ 2.标识符的命名规则: 标识符必须以字母.下划线_.美元符号$开头. 标识符其它部分可以是字母.下划线“_”.美元符“$”和数字的任意组合. Java 标识符大小写敏感,且长度无限制. 标识符不可以是Java的关键字. 3.标识符的命名规范: 表示类名的标识符:每个单词的首字母大写,如Man, GoodMan 表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字…
一.标识符 1.不能使用数字开头 2.不能使用关键字 (更多命名规范,参见基础加强随笔) 二.数据类型 主要分为四种: 整形: byte 1字节8位    范围 -128~127 short    2字节16位 范围 -32768~32767 int      4字节32位 范围 -2^31-1~2^31 long   8字节64位 范围非常大 注意:整数字面默认是int类型,也就是说定义long类型时请使用后缀L,例如:long time = 10086L; 字符型:   char 2字节16…
以前学过C/C++/Java/C#语言的童鞋可能刚开始对于OC的方法和参数的命名规范大为不爽 举例来说,如下一个OC方法: - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 这个方法,如果在传统的C++编程语言中应该是: void tableViewCom…
做了几年的开发工作,因为是半路出的家,所以对这块一直都没怎么重视,所以在工作中,出现了很多的尴尬场景,编码和命名的规范是一定得有的,最起码一个团队之间的规范也是很有必要的.面向对象的编程,其实很好理解,具体的操作都是由对象来完成,那么原则上,给对象命名的时候,应该清晰.简洁,让人一看就知道这个对象是负责那块的,话不多说,规范如下: 一.命名规范 1 基本原则 1.1 清晰 既清晰又简洁的命名最好,但以清晰为主,不要用单词简写(非常常用除外),尽量使用全称.你的命名应符合OC标准,让人一看就知道是…
  什么是标识符符? 凡是可以由自己命名的地方都称为修饰符. 例: 项目名 ,包名 ,类名 .方法名 2.   命名规范. ①    不可使用java关键字和保留字,但是可以包含关键字和保留字. ②    可以使用26个字母大小写,数字0-9,$和_. ③    可以使用数字,但不可放在首位. ④    长度理论上没有限制,但命名最好能反映出其作用,遵循”驼峰形式”,见命知意. 例:写一个ajax的项目实例, 项目名:ajaxtest 包名:com.liu.ajax 类名:AjaxDemo 3.…
软件命名规范:分文件存储 当代码存放在一个py文件中时会存在一下缺点: 不便于管理 可读性差 加载速度慢 是Django的雏形 程序员预定俗称的一些东西 启动文件:也叫启动接口,通常文件夹名字使用bin,存放启动程序,通常使用starts命名py文件 公共文件:是大家都可以使用的文件,功能,通常使用lib命名文件夹,py文件使用common命名py文件 配置文件:也叫静态文件,存储的都是变量,数据库的一些连接方式,获取到的是都是redis,文件夹命名为conf,py文件命名为settings 主…
ECMAScript的基础概念 熟悉Java.C和Perl这些语言的开发者会发现ECMAScript的语法很容易掌握,因为它借用了这些语言的语法.Java和ECMAScript有一些关键语法特性相同,也有一些完全不同.ECMAScript的基础概念如下: 区分大小写.与Java一样,变量.函数名.运算符以及其他一切东西都是区分大小写的,也就是说,变量test不同于变量Test. 变量是弱类型的.与Java和C不同,ECMAScript中的变量无特定的类型,定义变量时只用var运算符,可以将它初始…
一.概述. Java属于面向对象的一种语言,因为Java是面向对象的语言所以这个语言的诞生需要有五个基本特性: 1)万物皆为对象. 2)程序是对象的集合. 3)每个对象都有自己的由其他对象所构成的存储. 4)每个对象都拥有其他类型.每个对象都是某个类的一个实例. 5)某一特定类型的所有对象都可以接收同样的消息. Java中会有一些我们常用到的概念虽然总在用但是我们却不知道为什么会要有这些下面我就以一问一答的方式来给大家讲解. 二.一些面向对象的疑问. 2.1为什么要有访问控制的存在?它的意义是什…