Java开发基础知识学习总结之(上)-王者笔记建议收藏

举报
Java李杨勇 发表于 2021/08/04 15:02:53 2021/08/04
【摘要】 Java开发基础知识学习总结之(上)-王者笔记建议收藏

一、面向对象概念

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

面向过程 :面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。
面向对象 :面向对象易维护、易复用、易扩展。 因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。

参考问题 :面向过程性能一定比面向对象高?
不一定,面向过程也需要分配内存,计算内存偏移量,Java性能差的主要原因并不是因为它是面向对象语言,而是Java是半编译语言,最终的执行代码并不是可以直接被CPU执行的二进制机器码。而面向过程语语多都是直接编译成机械码在电脑上执行,并且其它一些面向过程的脚本语言性能也并不一定Java好。


2. 对象和类的关系?举例说明


类是对象的模版,对象是类的实例。
举例:猫是一个类,你养的那只猫是一个对象;汽车是一个类,你开的那辆车是一个对象。


3. 类里面包含什么?


属性和F法。

4. 类的特性?

封装性


将数据和操作封装为一个有机的整体,由于类中私有成员都是隐藏的,只向外部提供有限的接口,所以能够保证内部的高内聚性和与外部的低耦合性。用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员,能够增强安全性和简化编程。 

继承性


继承性更符合认知规律,使程序更易于理解,同时节省不必要的重复代码。 

多态性


同一操作作用于不同对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。

 
二、网络基础


5. DNS是什么?


域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。


6. 域名和端口?


域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。 由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain NameSystem)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。
端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。


7. CDN是什么?


CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有⽹络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。


8. 外IP和内IP区别?内IP段?


外网IP就是互联网的IP,内网IP就是内部网的IP。
内⽹IP⽹段如下:
10.0.0.0/8--------------10.0.0.0~10.255.255.255(A类)
172.16.0.0/12---------172.16.0.0~172.31.255.255(B类)
192.168.0.0/16 ———192.168.0.0~192.168.255.255(C类)


9. VPN是什么?


虚拟专用⽹络(VPN)的功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN可通过服务器、硬件、软件等多种方式实现。


10. Https和Http区别?默认端口号?



HTTP和HTTPS的基本概念


HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加⼊SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。


HTTP与HTTPS有什么区别?


HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是⽹景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进⾏加密传输、身份认证的网络协议,要比http协议安全。


 HTTPS和HTTP的区别主要如下:


 1、https协议需要到ca申请证书,一般免费证书较少,因此需要一定费用。
 2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
 3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
 4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进⾏加密传输、身份认证的⽹络协议,比http协议安全。


11. get 和 post 请求有哪些区别?


GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST么有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body中

推荐阅读:Java 万字长文基础知识总结(下)

                  Java 集合容器篇面试题(上)

                    大学生一个暑假学会5个神仙赚钱技能 | 你学会了几个?

Java项目实战分享:

基于java+springboot+mybatis+laiyu实现学科竞赛管理系统

基于java ssm springboot+VUE疫情防疫系统系统前后端分离设计和实现

基于java springboot+mybatis电影售票网站管理系统前台+后台设计和实现

基于java ssm springboot+mybatis酒庄内部管理系统设计和实现

基于JAVA springboot+mybatis智慧生活分享平台设计和实现

基于Java springboot+vue+redis前后端分离家具商城平台系统设计和实现

基于JAVA SSM springboot实现的抗疫物质信息管理系统设计和实现

查看更多博主首页更多实战项目 >>>

今天就到这儿吧,小伙伴们点赞、收藏、评论是对我最大的支持、下期见~~

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。