Java基础

六个原则(面向对象、设计模式)
单一原则,开闭原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则

Java 基本数据类型
byte:1 个字节,8 位 (-2^7–2^7-1) -128–127
short:2 个字节,16 位 (-2^15–2^15-1) -32768—32767
int:4 个字节,32 位 (-2^31–2^31-1) -2,147,483,648–2,147,483,647
long:8 个字节,64 位 (-2^63–2^63-1)
float:4 个字节,32 位
double:8 个字节,64 位
char:2 个字节,16 位
boolean:官方文档未明确定义,依赖于 JVM 厂商的具体实现。逻辑上理解是占用 1 位,但是实际中会考虑计算机高效存储因素

JDK、JRE、JVM 三者之间的关系
JDK(Java Development Kit):是 Java 开发工具包,是整个 Java 的核
心,包括了 Java 运行环境 JRE、Java 工具和 Java 基础类库。
JRE( Java Runtime Environment):是 Java 的运行环境,包含 JVM 标
准实现及 Java 核心类库。
JVM(Java Virtual Machine):是 Java 虚拟机,是整个 Java 实现跨平台
的最核心的部分,能够运行以 Java 语言写作的软件程序。所有的 Java 程序
会首先被编译为 .class 的类文件,这种类文件可以在虚拟机上执行。

重载和重写的区别
重载:编译时多态、同一个类中同名的方法具有不同的参数列表(参数类型,参数个数)
重写:运行时多态、子类与父类之间、子类重写父类的方法,具有相同的返回类型。
面向对象的特征
  封装:封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚,低耦合”,防止程序相互以来性带来的变动影响。面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个“模块”中,也就是一个类中,属性用变量定义,行为用方法定义,方法可以直接访问同一个对象中的属性。

  继承:在定义和事项一个类的时候,可以再一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干个性的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性。

  多态:多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会只想哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。
设计模式
单例模式:
1、构造方法私有化,除了自己类中能创建其他地方都不能创建
2、在自己的类中创建一个单实例
3、提供一个方法获取该实例对象
工程模式:
SpringIOC,对象的创建交给一个工厂去创建
代理模式:
SpringAOP使用的动态代理
Java 中&& 和& 的区别
Java 中&&和&都是表示与的逻辑运算符,都表示逻辑运输符 and,当两边的表达式都为 true的时候,整个运算结果才为 true,否则为 false。
&&的短路功能,当第一个表达式的值为 false 的时候,则不再计算第二个表达式;&则两个表达式都执行。
&可以用作位运算符,当&两边的表达式不是 Boolean 类型的时候,&表示按位操作。
Cookie 和 Session 区别
cookie 和 session 都是用来跟踪浏览器用户身份的会话方式。
(1)cookie 数据存放在客户的浏览器上,session 数据放在服务器上
(2) cookie 不是很安全,别人可以分析存放在本地的 COOKIE 并进行 COOKIE 欺骗,如果主要考虑到安全应当使用 session
(3) session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用 COOKIE
(4) 单个 cookie 在客户端的限制是 3K,就是说一个站点在客户端存放的 COOKIE 不能超过3K。
(5) 所以:将登陆信息等重要信息存放为 SESSION;其他信息如果需要保留,可以放在 COOKIE中。
Java创建对象的四种方式
(1)使用 new 创建对象
使用 new 关键字创建对象应该是最常见的一种方式,但我们应该知道,使用 new 创建对象会增加耦合度。无论使用什么框架,都要减少 new 的使用以降低耦合度。
(2)使用反射的机制创建对象
使用 Class 类的 newInstance 方法、使用 Constructor 类的 newInstance 方法
(3)采用 clone
需要已经有一个分配了内存的源对象,创建新对象时,首先应该分配一个和源对象一样大的内存空间。要调用 clone 方法需要实现 Cloneable 接口,
(4)采用序列化机制
使用序列化时,要实现实现 Serializable 接口,将一个对象序列化到磁盘上,而采用反序列化可以将磁盘上的对象信息转化到内存中。
反射的实现过程和作用分别是什么
JAVA 语言编译之后会生成一个.class 文件,反射就是通过字节码文件找到某一个类、类中的方法以及属性等。
反射的实现主要借助以下四个类:
Class:类的对象
Constructor:类的构造方法
Field:类中的属性对象。
Method:类中的方法对象。
作用:反射机制指的是程序在运行时能够获取自身的信息。在 JAVA 中,只要给定类的名字,那么就可以通过反射机制来获取类的所有信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值