2021-01-29 09:13:59
一、区别:1.Integer是int的包装类,int则是java的一种基本的数据类型;2.Integer变量必须实例化之后才能使用,而int变量不需要实例化;3.Integer实际是对象的引用,当new一个Integer时,实际上生成一个指针指向对象,而int则直接存储数值4.Integer的默认值是null,而int的默认值是0。二、Integer和int的比较 1.由于Integer实际是对一个Integer对象的引用,所以两个通过new生成的Integer变量永远是不相同的,因为New生
2021-01-29 09:12:30
“==”: ==是运算符,用来比较两个值、两个对象的内存地址是否相等;“equals()”: equals是Object类的方法,默认情况下比较两个对象是否是同一个对象,内部实现是通过“==”来实现的。如果想比较两个对象的其他内容,则可以通过重写equals方法,例如:String类就重写了equals方法,改成了对象的内容是否相等。具体实现可以参考:https://www.cnblogs.com/hujinshui/p/10038044.html“hashCode()”: hashCoe
2021-01-29 09:11:09
int、char、long各占多少字节数:1、int 4个字节,32位,取值范围:-2的31次方到2的31次方-12、char 2个字节,16位,取值范围:【0~65535】 65535是系统最大端口数3、long 8个字节,64位,取值范围:-2的63次方到2的63次方-1
2019-06-10 11:07:42
一个数据库可能拥有多个访问客户端,这些客户端并发访问数据库时,若没有采取必要的隔离措施,存在以下问题,这些问题分为5类,包括3类数据读问题:脏读、不可重复读和幻读。两类数据更新问题:第一类丢失更新、第二类丢失更新。1.脏读A事务读取B事务尚未提交的更改数据,并在这个数据的基础上进行操作,这时候如果事务B回滚,那么A事务读到的数据是不被承认的。例如常见的取款事务和转账事务: 2.不可重复读不可重复读是指A事务读取了B事务已经提交的更改数据。假如A在取款事务的过程中,B往该账户转账100,
2019-06-10 11:05:57
如何实现 MySQL 的读写分离?其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去。MySQL 主从复制原理的是啥?主库将变更写入 binlog 日志,然后从库连接到主库之后,从库有一个 IO 线程,将主库的 binlog 日志拷贝到自己本地,写入一个 relay 中继日志中。接着从库中有一个 SQL 线程会从中继日志读取 binlog,然后执行 binlog 日志中的内容,也就是在自己本地再次执行一遍 SQL,
2019-06-10 11:03:47
29.java中的4中引用强引用、软引用、弱引用、虚引用,不同类型的引用体现在GC上。强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收。即使当前内存空间不足,jvm也不会回收它,而是抛出OutOfMemoryError错误,使程序异常终止。如果想中断强引用和某个对象之间的关联,可以显示的将引用赋值为null,这样一来的话,jvm在合适的时间就会回收该对象。软引用:在使用软引用时,如果内存空间足够,软引用就能继续被使用,而不会被垃圾回收器回收,只有在内存不足时,软引用才会被垃圾回收器回收。
2019-06-10 11:02:38
1.面向对象的三大特征封装、继承、多态,也可加上抽象2.多态的作用允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)可替换性:多态对于已存在的代码具有可替换性;可扩充性:增加新的子类不影响已经存在的类结构;接口性:多态是超类通过方法签名,向子类提供一个公共接口,由子类完善或者重写它来实现。3.代码中如何实现多态实现多态主要有一下三种方式:接口实现继承父类重写方法同一类中进行方法重载4.虚拟机是如何实现多态的动态绑定技术(dynami
2019-06-10 11:01:12
1、Dubbo是什么?Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架,现已成为 Apache 基金会孵化项目。dubbo是一个分布式框架,远程服务调用的分布式框架,其核心部分包含:集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。远程通讯:提供对多种长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。自动发现:基于注册中心目录服务,使消费提供方能动态的查找服务提
2019-06-10 10:59:40
1、什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。更多 Spring Boot 详细介绍请看这篇文章《什么是Spring Boot?》。2、为什么要用 Spring Boot?Spring Boot 优点非常多,如:独立运行简化配置自动配置无代码生成和XML配置应用监控上手容易...Spring Boot 集这么多优点
2019-06-10 10:54:05
1) 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支 持,它也是一个很好的卖点。2) 线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。别把它和