一台手机有两个号算几个ip地址36.60尾号48是哪的

版权声明:本文为博主原创文章,未经博主允许不得转载。 /qq_/article/details/


  • 面向对象编程讲解培训讲义

面向对象是基于万物皆对的观点,把一个对象的静态特征和动态特征抽象成属性和方法,程序就是多个对象和互相之间的通信组成的。

  1. 面向过程和面向对象的区别

面向过程,在开发过程中注重过程设计,用函数来表示过程,强调过程间的执行顺序

面向对象,在开发过程中注重过程的复用性扩展性。

  1. 面向对象的三个基本特征,五大基本原则

封装:(抽象是把系统中需要处理的数据和在这些数据上的操作结合在一起,根据功能、性质和用途等因素抽象成不同的抽象数据类型。)是指利用抽象数据类型和基于数据的操作结合在一起,数据被保护在抽象数据类型的内部,系统的其他部分只有通过包裹在数据之外被授权的操作,才能与这个抽象数据类型进行交互。

继承:(子承父业),是指子类直接使用父类的属性和方法。

多态:(父子情深),通过父类来使用子类的方法,即同一消息可以根据发送对象的不同而采用多种不同的行为方式。

  1. 单一职责原则:一个类,最好只做一件事,只有一个引起它的变化。
  2. 开放封闭原则(OCP):软件的功能应该是可扩展的,而尽可能的不修改。
  3. 里氏(Liskov替换原则(LSP):子类必须能够替换基类。
  4. 依赖倒置原则(DIP):依赖于抽象,即高层模块不依赖底层模块,二者都通依赖于抽象。/客户类和服务类都应该依赖于抽象(接口),并且客户类拥有接口。
  5. 接口隔离原则:使用多个小的专门的接口,而不要使用一个大的总接口。
  6. 合成复用原则(Composite Reuse Principle):原则是尽量首先使用合成/聚合的方式,而不是使用继承

泛化耦合(Generalization Couple):由于泛化(继承)关系的存在,在两个有祖孙、父子关系的类间形成的一种逻辑关联。

 聚合(Aggregation):一种弱的拥有关系,体现A对象可以包含B对象,但B对象不是A对象的一部分。

 组合(Composition):一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体具有一样的生命周期。

 依赖(Dependency):由于逻辑上相互协作可能,而形成的一种关系。

 程序世界与现实世界第一点区别:现实世界的依赖以对象为单位,程序世界的依赖以为单位。(现实世界中对象间的依赖是以对象为单位的,这种依赖关系不会随着泛化过程而被泛化到类里面去;程序世界中对象间的依赖是以类为单位的,这种依赖关系会随着泛化过程而被泛化到类里面去。并且,只要两个类建立了依赖,那么两个类之间的所有对象都两两依赖了)

程序世界与现实世界第二点区别:程序世界里的对象没有选择权,程序世界里的对象不认识对象。

接口(Interface):对象行为的抽象。

接口的哲学意义:对客户类的保证,对服务类的约束。

“依赖注入容器(DI)”,也叫做“控制反转容器(IoC)”:依赖注入就是容器挑选符合接口的服务类为客户类提供服务。

  1. JAVA的标识符(这些是选择题)

 关于Java标识符,需要注意:

(1)所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始

(2)首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合

(3)关键字不能用作标识符

(4)标识符是大小写敏感的

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

(1)byte:数据类型是8位、有符号的,以二进制补码表示的整数;

byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;

(2)short: 数据类型是 16 位、有符号的以二进制补码表示的整数

Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;

(3)int:数据类型是32位、有符号的以二进制补码表示的整数;

一般地整型变量默认为 int 类型;

(4)long:数据类型是 64 位、有符号的以二进制补码表示的整数;

这种类型主要使用在需要比较大整数的系统上;

"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

(5)float:数据类型是单精度、32位、符合IEEE 754标准的浮点数;

float 在储存大型浮点数组的时候可节省内存空间;

默认值是 而跳转到自己配置的界面。

  • web编程讲解培训讲义

用户界面,浏览器引擎 渲染引擎 网络UI后端JS解释器 数据存储

Page,直译就是“运行在服务器端的页面”。上面已经介绍过,我们可以直接在JSP文件里写HTML代码,这和在HTML文件里写HTML/CSS/JS是一模一样的。除此之外,我们还可以把Java代码内嵌在JSP页面中,很方便地把动态数据渲染成静态页面。服务器在响应前,会自动帮我们拼接好HTML代码(静态页面)响应给浏览器。也就是说JSP是运行在服务器端,但最终发给客户端的都已经是转换好的HTML静态页面(在响应体里)。

JavaScript是一个轻量级的,解释型编程语言的面向对象的功能,使能够构建成静态的HTML页面的交互性。在用户浏览网页时,被浏览器的解释器解释并执行

使网页具有交互性,验证用户输入的正确性,设置cookie,丰富的接口与后台交互

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

Ajax运行原理:客户端响应某个事件,创建xmlHttpRequest实例对象,然后发送httpRequest请求,通过internet,到达服务端,服务端加工httpRequest请求,然后返回response对象和请求数据,再通过internet发送到客户端,客户端使用js解析加工数据,然后更新页面内容.

(1)使用Get请求时,参数在URL中显示,而使用Post请求,则不会显示出来;
(2)Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.
(3)Get请求请求需注意缓存问题,Post请求不需担心这个问题;
(5)发送请求时,因为Get请求的参数都在url里,所以send函数发送的参数为null,而Post请求在使用send方法时,却需赋予其参数;
(6)GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全问题。而POST方式相对来说就可以避免这些问题。

浏览器和服务器之间有约定:通过使用cookie技术来维护应用的状态。

1、创建:Cookie是可以被Web服务器设置的字符串,并且可以保存在浏览器中。

2、发送:当浏览器访问了页面1时,web服务器设置了一个cookie,并将这个cookie和页面1一起返回给浏览器,

3、保存:浏览器接到cookie之后,就会保存起来,

4、发送:在它访问页面2的时候会把这个cookie也带上,Web服务器接到请求时也能读出cookie的值,根据cookie值的内容就可以判断和恢复一些用户的信息状态。

① localstorage大小限制在500万字符左右,各个浏览器不一致

③ localstorage本质是在读写文件,数据多的话会比较卡(firefox会一次性将数据导入内存,想想就觉得吓人啊)

1.定义:超文本标记语言HTML( HyperText Markup Language 的缩写)是一种用于创建网页的标准标记语言。HTML 运行在浏览器上,由浏览器来解析

  1. 块级元素:独占一行,对宽高的属性值生效;如果不给宽度,块级元素就默认为浏览器的宽度,即就是100%宽
  2. 行内元素:可以多个标签存在一行,对宽高属性值不生效,完全靠内容撑开宽高

为了描述选择器的优先级需要引入一个概念——特指度。特指度表示一个CSS选择器表达式的重要程度,可以通过一个叫做“I-C-E”的公式计算出一个数值,数值越大越重要。

HTML文档中的每个元素都被描绘成矩形盒子,这些矩形盒子通过一个模型来描述其占用空间,这个模型称为盒模型。盒模型通过四个边界来描述:margin(外边距),border(边框),padding(内边距),content(内容区域),

6.CSS属性样式分类

1.定义: Javascript是一种轻量级的脚本语言,可插入HTML页面中,由浏览器解析执行。因为其遵循ECMA标准,也被称为ECMAScript。Javascript与Java是两家公司开发的两种不同产品,作用于用途大不一样,但在语法上有很多相似之处, Javascript并非是Java的子集。

只需要使用关键字“var”进行声明。

  和其他编程语言不同的是Javascript的函数可以当做参数值来进行传递。

4.事件: HTML事件是发生在HTML元素上的事件,可以是浏览器行为,也可以是用 户行为;当在HTML页面中使用Javascript时, Javascript就可以触发这些事件,当 事件被触发时可以调用函数做出相应的处理。

1.数据库(Database,简称DB)的定义:“按照数据结构来组织、存储和管理数据的仓库”

   J.Martin给数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的集合, 这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务.

2.数据库的优点:1数据按一定的数据模型组织、描述和储存;2.可为各种用户共享;3.冗余度较 小节省存储空间;4易扩展,编写有关数据库应用程序

3.数据库管理系统及其作用:

数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。关系型数据库管理系统称为RDBMS,R指Relation

DBMS的作用:它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

1性能快捷、优化SQL语言;2容易使用;3多线程和可靠性;4多用户支持;5可移植性和开放源代码;6遵循国际标准和国际化支持;7为多种编程语言提供API

5.关系型数据库:数据库由一批数据构成的有序集合,这些数据被分门别类地存放在一些结构化的数据表(table)里,而数据表之间又往往存在交叉引用的关系,这种关系使数据库又被称为关系型数据库

6. SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。

——查询、插入、删除和修改数据库中的数据;

——用来控制存取许可、存取权限等;

——用来建立数据库、数据库对象和定义其列

——日期函数、数学函数、字符函数、系统函数等

叙述:创建一个具有指定名称的数据库。如果要创建的数据库已经存在,或者没有创建它的适当权限,则此语句失败。

例:建立一个student库。

叙  述:在当前数据库下新创建一个数据表。

列类型:表示该列的数据类型。

建立一个表school,其由两列组成,第一列属性为非空,并做为主键,并自增

主键:帮助MySQL以最快的速度把一条特点的数据记录的位置确定下来。

主键必须是唯一的;主键应该是紧凑的,因此整数类型比较适合

外键:引用另外一个数据表的某条记录。

外键列类型尽可能与主键列类型保持一致外键列应该加上NOT NULL

叙述:从数据库中删除给定的表。如果给出if exists 子句,则删除不存在的表不会 出错。

叙述:删除给定的数据库。在删除一个数据库后,它就永远没有了,因此要特别小 心。如果给出if exists 子句,则删除不存在的数据库不会出错。

说明:action 可以是如下语句:

可以为表添加一列,如果没指定first或者after,则在列尾添加一列,否则在指定列添加新列

为表添加一个主键,如果主键已经存在,则出现错误

叙述:如果表名后面没写字段名,则默认是向所有的字段添加值,另外字符串值应 该用‘ ’或“ ”引号括起来

from子句:指定查询数据的表

where子句:查询数据的过滤条件

group by子句:对匹配where子句的查询结果进行分组

having子句:对分组后的结果进行条件限制

order by子句:对查询结果结果进行排序,后面跟desc降序或asc升序(默认)。   

limit子句:对查询的显示结果限制数目

procedure子句:查询存储过程返回的结果集数据

同时涉及多个表的查询称为连接查询

用来连接两个表的条件称为连接条件

外连接与普通连接的区别:

普通连接操作只输出满足连接条件的元组

外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出。

 Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

第一类是对现有成熟框架”Spring Boot化”的封装和抽象,也是数量最多的项目;

第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cloud Stream扮演的就是kafka, ActiveMQ这样的角色。

对于我们想快速实践微服务的开发者来说,第一类子项目就已经足够使用。配置介绍如下:

  1. Spring Cloud Netflix:对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。

Freemarker 是一款使用纯java编写发模板引擎,是一种基于模版生成静态文件的通用 工具,它是为java程序员提供的一个开发包,或者说是一个类库,它不是面向最终用户的,而是为程序员提供了一款可以嵌入他们开发产品的应用程序。

Freemarker 生成静态页面,首先需要使用自己定义的模板页面,这个模板页面可以是最最普通的html,也可以是嵌套freemarker中的 取值表达式, 标签或者自定义标签等等,然后后台读取这个模板页面,解析其中的标签完成相对应的操作, 然后采用键值对的方式传递参数替换模板中的的取值表达式,做完之后 根据配置的路径生成一个新的html页面, 以达到静态化访问的目的。

list:该标签主要是进行迭代服务器端传递过来的List集合;

if:该标签主要是做if判断用的;:

include:该标签用于导入文件用的;

另外在静态文件中可以使用${} 获取值,取值方式和el表达式一样,非常方便。

Freemarker自定义标签就是自己写标签,然后自己解析,完全由自己来控制标签的输入输出,极大的为程序员提供了很大的发挥空间。

所谓的HTTP协议,全称:超文本传输协议,是用于从WEB服务器传输超文本(各类前端代码,如html等)到本地浏览器的传送协议。它是一个传输层基于TCP的应用层协议,它工作于客户端-服务端架构为上,浏览器(HTTP客户端)通过URL向HTTP服务端(WEB服务器)发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。它主要特点:简单快捷、灵活、无连接、无状态。

URL全称:统一资源定位符,是互联网上用来标识某一处资源的地址。所谓标识某一处资源地址的意思就是,通过这个URL,我们可以在互联网上找到这个资源。

  • 编程规范_SQL性能问题_集群部署培训讲义

JSP/HTML文件的命名:editUser.jsp-完整的英文描述,首字母应小写,包括一个动词

  1. 每一行的代码一般以页面宽度的80%至90%为宜。
  2. 较长的代码,采用分行显示的方式,第二行一般在第一行的基础上缩进两个空格。
  3.  类中各个方法之间,一般以两行间隔。

大括号{}使用的规定:------------------“{”与“}”上下对齐,下一行缩进两个空格

  1. 同一类型的变量可以一起定义,但数量一般限定在两到三个,三个以上则必须分开定义;
  2. 变量定义与流程语句之间必须向间隔一行。

(1)标准的获得与释放资源的方式。谁获得,谁必须负责释放

(2)在try块外获得资源,在try块内使用/提交资源,在catch块内回滚资源,在finally块中释放资源

(3)谁建立事物谁负责,要有明确的显式提交或回滚

(4)自动提交,谁更改,谁恢复

声明局部变量尽量同时初始化。

带通配符(%)的like语句:-----词首通配符%出现,数据库将不使用该列的索引。

组合索引:------------要使每个SQL都可以利用索引,那么我们就需要将date作为前导列,使三条语句性能达到最优。

书写高效率SQL建议:

  1. 在select/insert语句中尽量避免使用通配符(*);
  2. 尽量减少between的使用;
  3. 能使用数字类型的字段尽量使用数字类型,这将提高查询和连接的性能,并减少存储开销。
  4. 减少访问数据库的次数(使用绑定变量)。
  5. 合理使用like关键字,如非必要尽量减少like关键字的使用
  6. 尽量使用union替换掉or的操作,如果可能使用union all,但要注意,此操作是假设字段上已经合理创建索引,可通过字段索引快速查询到所需要的数据。

集群系统:让多台服务器来完成相同的服务。

集群技术的目的:?1 提高性能?2 降低成本?3 提高可扩展性?4 增强可靠性

集群系统的分类:高性能计算集群、高可用性集群、负载均衡集群

集群系统分配请求任务给集群中的每台服务器方式:反向代理 负载均衡。

负载均衡:保证服务器集群中的每个服务器的压力趋于平衡,分担了服务器的总体压力,避免了服务器崩溃的情况。

负载均衡算法:◎ 轮询◎ 加权轮询◎ 散列法◎ 动态轮询◎ 最少连接法◎ 最快响应法

(1)软件负载均衡技术--在服务器集群中的代理服务器上安装一个相应的负载均衡软件来实现的一种负载均衡技术。软件负载均衡技术配置简单、操作也方便,最重要的是成本很低。适用于一些中小型网站系统(),可以满足一般的均衡负载需求。

(2)硬件负载均衡技术--在多台服务器间安装相应的负载均衡设备(负载均衡器)来完成均衡负载技术。成本比较高。适用于流量高的大型网站系统。在现在有较大规模的企业、政府网站(F5),一般都会部署有硬件负载均衡设备(原因:1.硬件设备更稳定  2.效率高、更合规达标)

我要回帖

更多关于 一台手机有两个号算几个ip地址 的文章

 

随机推荐