-
Java基础复习
Java OOP 什么是面向对象编程(OOP object-oriented programming ) 回答这个问题,我们必须先知道什么是对象?在诸多计算机书籍中,在描述对象时通常会使用这样一句话进行表述对象这个词语的含义,万事万物皆为对象。我依稀... -
复习-中间件
-
复习-Java面试题
一、Java基础 44 道
面向对象,面向函数,面向过程开发分别解释下,并且它们之间有什么区别?
面向对象开发
面向对象开发是一种程序设计思想,它以对象作为程序设计的基本单元,通过封装、继承和多态等机制实现程序复用和扩展。在面向对象开发中,每个对象都有自己的属性和方法,可以和其他对象进行交互,形成一个数据和行为之间的统一体。
面向函数开发
面向函数开发是一种程序设计思想,它采用函数作为程序设计的基本单元,通过函数的调用和组合实现程序的功能。在面向函数开发中,函数是代码的执行单元,函数可以被其他函数调用,进行数据的传递和处理。
面向过程开发
面向过程开发是一种程序设计思想,它是以过程为主导的程序设计方式,通过将程序划分为一个个函数模块,然后按照一定的顺序调用这些函数模块来完成程序的功能。在面向过程开发中,程序的执行流程是线性的,函数模块之间的交互主要通过参数传递和返回值实现。
区别:
面向对象开发和面向过程开发的最大区别在于它们的设计思想不同。面向对象开发强调的是对象的概念,封装、继承和多态等机制,程序的设计更加灵活,可维护性和可扩展性较好。而面向过程由于其线性的流程设计方式,程序的重构和维护较为困难。面向函数开发适合较为简单的程序,主要特点是简单直观,代码可读性较强。总的来说,三种开发方式各有其优缺点,最终选择何种开发方式应根据具体的开发需求来决定。
-
复习-面向对象与基础语法
基础语法Byte的取值范围 java byte取值范围是-128127, 而C#里一个byte是0255 string和StringBuilder的区别,两者性能的比较都是引用类型,并且都是分配在堆上空间的,StringBuilder默认分配空间16... -
Oauth2.0+JWT学习笔记
Oauth2.0+JWT学习笔记
Oauth2.0的使用场景
生活中我们经常会遇到这样的场景,我们住在小区,小区中有门禁以及物业保安等多重安保防护程序。那么我们点个外卖,外卖小哥送外卖上门或者有亲戚朋友来访。这时候我们如何让外卖小哥或者亲戚朋友通过这层层安保防护程序来到家中呢?诶,我们首先会想到,自己或者家里人带着门禁卡出去小区门口迎接外卖小哥或者亲戚朋友他们就可以了呀,这的确是一个方法,但是十分的麻烦。也有朋友会说我们小区比较智能,外卖小哥或者亲戚朋友只需要在小区门口处拨通家里的门铃电话,自己在家给他远程开启门禁就可以了。的确这是一种非常便捷的方式了,但是这还是需要一个人在家能接听到门铃电话才行。那如果我们正在上班,没有人能接听到门铃电话,这时候有个亲朋好友要来自己家做客,或者快递小哥送货上门,这时候我们想给亲朋好友或者快递小哥开门禁要怎么办呢。聪明的朋友会说,给门口保安打个电话让保安给他们开门。这也的确是一种方法,那有没有一种方法就是说,门禁系统支持一种授权码,当业主知道有客人来访时,远程给这些客人申请一个授权码,客人凭借授权码在门禁处输入授权码就能进入下去呢?这其实就是Oauth2.0的典型场景了。
-
MyBatis学习笔记
MyBatis学习笔记介绍一下你了解的MyBatisMyBatis是什么MyBatis是⼀款优秀的基于ORM的半⾃动轻量级持久层框架,它⽀持定制化SQL、存储过程以及⾼级映射。MyBatis避免了⼏乎所有的JDBC代码和⼿动设置参数以及获取结果集。M... -
DDD学习笔记
什么是DDDDDD全称Domain Driven Design,领域驱动设计。 领域驱动设计呢是把传统的由数据出发,进行模块划分,然后构建对应的实体对象,编写事务脚本实现业务需求的这样对业务进行纵向拆分的一种模式。变换为由业务出发,进行领域划分,抽象... -
JUC学习笔记
Thread 的几种状态1234567891011121314151617181920212223242526272829/** * 新生代 */ NEW, /** * 运行时 */ R... -
Java Netty
-
Java NIO
不论你在什么时候开始,重要的是开始之后就不要停止;不论你在什么时候结束,重要的是结束之后就不要悔恨。