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

目录

一、面向对象概念

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

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

3. 类里面包含什么?

4. 类的特性?

封装性

         继承性

多态性

 二、网络基础

5. DNS是什么?

6. 域名和端口?

7. CDN是什么?

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

9. VPN是什么?

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

HTTP和HTTPS的基本概念

HTTP与HTTPS有什么区别?

 HTTPS和HTTP的区别主要如下:

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


一、面向对象概念

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实现的抗疫物质信息管理系统设计和实现

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php支持哪8种数据类型,PHP八种数据类型+使用实例

PHP的八种数据类型PHP中变量的数据类型通常不是由程序员设定的,准确的说,是PHP根据该变量使用的上下文在运行时决定的,简单的说就是,我们不需要设定变量的数据类型,PHP会自动识别。四种标量数据类型boolean(布尔型)也叫…

基于Java+jsp+servlet的养老院管理系统设计和实现《收藏版》

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅 文末获取源码联系方式 📝 一、 选题的依据…

oracle ldap 配置,Ubuntu安装OpenLDAP之配置LDAP

Ubuntu配置OpenLDAP上一篇博文中,我们成功的安装了OpenLDAP-2.4.4到系统中,这篇文章介绍如何基于上一篇文章配置一个自己的ldap服务器来使用。(上篇见 http://www.linuxidc.com/Linux/2016-05/130997.htm)1 配置ldap的dc和cnvim /usr/local/etc/openldap…

基于jsp+mysql+mybatis+Spring boot简单学生成绩信息管理系统

1.项目开发背景和意义 随着科学技术的快速发展和不断提高,尤其是计算机科学技术的日渐普及,其功能的强大以及运行速度已经被人们深刻地了解。近几年来高校的办学模式多元化和学校规模的扩大,为了实现对学生信息进行科学管理,因此…

基于Java+jsp+servlet的养老院管理系统设计和实现

一、 选题的依据及意义 随着信息化技术的发展,敬老院的信息化管理也迎来了机遇和挑战,我们积极应对这场战斗,丝毫不懈怠。因为,在未来的互联网是一个开放的环境,而传统的管理是一个独立的对象维护和医疗管理模式&…

oracle9i查等待事件,Oracle9i中的一个特殊等待事件

那是不是我们每当遇到性能问题的时候都要patch到9.2.0.3呢?我们已经知道他的真实情况依然在v$session_wait的p1、p2、p3参数里体现,所以,我们可以根据这些参数,找出这个null event究竟是什么等待事件。相关信息:1. lck…

基于Java+springmvc+mysql+jquery实现企业员工管理系统

研究背景 计算机网络技术的发展,给信息时代的人们带来了很大的方便。如今在Internet上,随处都可以看到种类繁多的信息管理系统,比如,企业办公化自动管理系统,电子商务系统,高校教务管理系统等等。随着信息…

linux svn 服务器下载,Linux下搭建SVN服务器完全手册

系统环境RHEL5.4最小化安装(关iptables,关selinux) ssh yum一,安装必须的软件包.yum install subversion (SVN服务器)mysql-server (用于codestriker)httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器)sendmail (用于配置用户提交代码后发邮件提醒)wget…

npm install packagename 安装失败的解决办法

今天用idea运行前端vue项目的时候报错 看了一下vue对于国内镜像而言安装可能会报错 解决方法: 安装淘宝镜像 npm --registry https://registry.npm.taobao.org info underscore 搞定

基于jsp+mysql的JSP在线水果销售商城系统设计实现

java毕业设计项目《100套》推荐 研究意义 日益发展的信息技术,互联网经济的快速兴起,网上的购物日益受到人们的关注,蔬菜水果网上批发市场模式也必然成为其潮流发展一部分。 基于 springboot 技术的水果在线批发系统借助于遍布全球的互联网&…

基于JAVA springboot+mybatis 电商书城平台系统设计和实现

本项目演示地址链接 》 主要实现了书城网站的浏览、加入购物车操作、订单操作、支付操作、分类查看、搜索、以及后台上传图书信息以及订单管理和一些基本操作功能 摘要信息: 随着市场经济的逐渐形成,全球化经济已在国内迅速发展起来。以往的销售模式正…

基于java springboot的图书管理系统设计和实现

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java奥斯卡 公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1…

基于javaspringboot+mybatis汽车信息管理系统设计和实现

演示地址 主要实现技术:Java、springmvc、springboot、mysql、mybaits、jQuery、js、css等、使用eclipse/idea运行。 主要功能模块 1.用户模块管理:用户登录、用户注册、用户的查询、添加、删除操作、 2.汽车类型管理:.汽车类型列表的展示…

linux推箱子脚本,【编程例题】标准C语言实现推箱子游戏!附解析!

今天我来分享一道对于初学C语言的同学非常有启发作用的编程例题,是用C语言实现单张地图推箱子的小游戏。这个游戏是基于Linux环境下编程的,所用工具为ubuntu、和gcc编译器。首先推箱子的地图,我们根据经典游戏推箱子中的其中一幅地图来自做&a…

基于JavaSwing+mysql的图书管理系统设计和实现

前言: 项目是使用Java swing开发,可实现基础数据维护、图书类型管理和维护、图书信息管理和维护、注销退出、关于作者简介等功能。界面设计比较简介、适合作为Java课设设计以及学习技术使用。 引言 随着计算机及网络技术的飞速发展,Intranet …

linux的vi把文件合并一行,学习Vim合并行的方法和技巧

刚接触 Vim 会觉得它的学习曲线非常陡峭,要记住很多命令。所以这个系列的分享,不会教你怎么配置它,而是教你怎么快速的使用它。在开发时为了代码美观,经常会把属性用换行的方式显示。title"批量编辑所属组织":visible.s…

基于JavaSwing+mysql的学生社团管理系统设计和实现

前言: 项目是使用Java swingmysql开发,可实现基础数据维护、用户登录注册、社团信息列表查看、社团信息添加、社团信息修改、社团信息删除以及退出注销等功能、界面设计比较简单易学、适合作为Java课设设计以及学习技术使用。 引言 随着全球信息化的迅猛…

linux dhcp服务软包,dpkg包管理器详解

使用Debian或Ubuntu的linux用户肯定都用过或听过dpkg命令。“dpkg ”是“Debian Packager ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”。我的问题先说先我使用时的疑问。在使…

专栏订阅须知《必读》

作者介绍 专栏介绍: 本专栏是JavaWeb项目实战实战100套合集、目前作者还在更新整理、每一套都是经过作者精心测试运行调整无bug、订阅前先私聊博主、目前专栏列表还在慢慢整理更新中、部分精品私人定制项目在Java项目实战也能看见、需要的话可以联系博主 你能获取什…

lbp2900打印机linux驱动下载,佳能LBP2900打印机驱动

佳能LBP2900打印机驱动佳能LBP2900打印机驱动是一款由佳能官方推出的佳能LBP2900打印机驱动程序,佳能LBP2900打印机驱动操作简单、功能实用,能够有效解决打印机无法识别设备的问题,保证您进行正常的打印工作,是用户不可缺少的打印…