
java基础知识
文章平均质量分 61
迷途的爱戛
一条懒狗罢了
展开
-
java基础知识(5)
类的加载机制 面试官第一问: 请问,我现在编写一个类,类全名如下:java.lang.String, 我们知道JDK也给我们听过了一个java.lang.String, 那么,我们编写的这个String类能否替换到JDK默认提供,也就是说程序实际运行的时候,会加载我们的String还是JDK的String?为什么? 如果,你无法确定?那么第二问: 了解类的加载机制吗?知道JDK的类加载器吗?双亲委托机制说说看 如果,你还不了解,那么我们聊聊今天的天气吧! 1,首先,什么是类的加载机制? JVM使用Jav原创 2021-05-29 13:35:42 · 85 阅读 · 0 评论 -
java多线程
对线程安全的理解? 如果这个是面试官直接问你的问题,你会怎么回答? 一个专业的描述是,当多个线程访问一个对象时,如果不用进行额外的同步控制或其他的协调操作,调用这个对象的行为都可以获得正确的结果,我们就说这个对象是线程安全的 那么我们如何做到线程安全? 实现线程安全的方式有多种,其中在源码中常见的方式是,采用synchronized关键字给代码块或方法加锁,比如StringBuffer 查看StringBuffer的源码,就是内部方法使用synchronized关键字 那么,我们开发中,如果需要拼接字符原创 2021-05-29 13:33:18 · 93 阅读 · 0 评论 -
java基础知识(4)线程
throw跟throws的区别 throw,作用于方法内,用于主动抛出异常 throws, 作用于方法声明上,声明该方法有可能会抛些某些异常 针对项目中,异常的处理方式,我们一般采用层层往上抛,最终通过异常处理机制统一处理(展示异常页面,或返回统一的json信息),自定义 异常一般继承RunntimeException,我们去看看Hibernate等框架,他们的异常体系都是最终继承自RunntimeException 创建线程的方式 我们常说的方式有以下三种: 继承Thread 实现Runable接口 实现原创 2021-05-29 13:29:18 · 102 阅读 · 0 评论 -
java异常
Error是虚拟机内部错误 栈内存溢出错误:StackOverflowError(递归,递归层次太多或递归没有结束) 堆内存溢出错误:OutOfMemoryError(堆创建了很多对象) Exception是我们编写的程序错误 RuntimeException:也称为LogicException 为什么编译器不会要求你去try catch处理? 本质是逻辑错误,比如空指针异常,这种问题是编程逻辑不严谨造成的 应该通过完善我们的代码编程逻辑,来解决问题 非RuntimeException: 编译器会要求我们t原创 2021-05-29 13:02:26 · 58 阅读 · 0 评论 -
java基础知识(3)
HashSet的存储原理 HashSet的存储原理或者工作原理,主要是从如何保证唯一性来说起。 这里面主要有3个问题,需要回答? 第一,为什么要采用Hash算法?有什么优势,解决了什么问题? 第二,所谓哈希表是一张什么表? 第三,HashSet如何保证保存对象的唯一性?会经历一个什么样的运算过程? 大家可以先思考,晚些再补充答案! 首先,我们要明确一点,HashSet底层采用的是HashMap来实现存储,其值作为HashMap的key public boolean add(E e) { return map原创 2021-05-29 11:56:02 · 85 阅读 · 0 评论 -
java基础知识(2)
Int和Integer的区别(重点) 先来一道考题,你看做对了吗? Integer i1 = new Integer(12); Integer i2 = new Integer(12); System.out.println(i1 == i2); Integer i3 = 126; Integer i4 = 126; int i5 = 126; System.out.println(i3 == i4); System.out.println(i3 == i5);原创 2021-05-28 22:28:10 · 143 阅读 · 0 评论 -
java语言基础
1,JDK,JRE,JVM有什么区别? JDK:Java Development Kit 是java的开发工具包,封装了基本的常用类,提供了Java的开发环境和运行环境 JRE:Java Runtime Environment 是java的运行环境,运行java程序所需,包含Java虚拟机及一些基础类库 JVM :Java Virtual Machine 是java的虚拟机,提供执行字节码文件的能力 2,Java的基本数据类型有哪些? boolean、char、short、int、long、float、do原创 2021-05-28 21:09:08 · 53 阅读 · 0 评论 -
JAVA面向对象
我的第一篇博客 想说说java中的面向对象概念理解 谈谈“面向过程”vs“面向对象” 举个最简单点的例子来区分 面向过程和面向对象 有一天你想吃鱼香肉丝了,怎么办呢?你有两个选择 1、自己买材料,肉,鱼香肉丝调料,蒜苔,胡萝卜等等然后切菜切肉,开炒,盛到盘子里。 2、去饭店,张开嘴:老板!来一份鱼香肉丝! 看出来区别了吗?这就是1是面向过程,2是面向对象。 面向对象有什么优势呢?首先你不需要知道鱼香肉丝是怎么做的,降低了耦合性。如果你突然不想吃鱼香肉丝了,想吃洛阳白菜,对于1你可能不太容易了,还需要重新买转载 2021-05-28 16:08:07 · 99 阅读 · 0 评论