自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 java基础知识(5)

类的加载机制 面试官第一问: 请问,我现在编写一个类,类全名如下:java.lang.String, 我们知道JDK也给我们听过了一个java.lang.String, 那么,我们编写的这个String类能否替换到JDK默认提供,也就是说程序实际运行的时候,会加载我们的String还是JDK的String?为什么? 如果,你无法确定?那么第二问: 了解类的加载机制吗?知道JDK的类加载器吗?双亲委托机制说说看 如果,你还不了解,那么我们聊聊今天的天气吧! 1,首先,什么是类的加载机制? JVM使用Jav

2021-05-29 13:35:42 53

原创 java多线程

对线程安全的理解? 如果这个是面试官直接问你的问题,你会怎么回答? 一个专业的描述是,当多个线程访问一个对象时,如果不用进行额外的同步控制或其他的协调操作,调用这个对象的行为都可以获得正确的结果,我们就说这个对象是线程安全的 那么我们如何做到线程安全? 实现线程安全的方式有多种,其中在源码中常见的方式是,采用synchronized关键字给代码块或方法加锁,比如StringBuffer 查看StringBuffer的源码,就是内部方法使用synchronized关键字 那么,我们开发中,如果需要拼接字符

2021-05-29 13:33:18 58

原创 java基础知识(4)线程

throw跟throws的区别 throw,作用于方法内,用于主动抛出异常 throws, 作用于方法声明上,声明该方法有可能会抛些某些异常 针对项目中,异常的处理方式,我们一般采用层层往上抛,最终通过异常处理机制统一处理(展示异常页面,或返回统一的json信息),自定义 异常一般继承RunntimeException,我们去看看Hibernate等框架,他们的异常体系都是最终继承自RunntimeException 创建线程的方式 我们常说的方式有以下三种: 继承Thread 实现Runable接口 实现

2021-05-29 13:29:18 66

原创 java异常

Error是虚拟机内部错误 栈内存溢出错误:StackOverflowError(递归,递归层次太多或递归没有结束) 堆内存溢出错误:OutOfMemoryError(堆创建了很多对象) Exception是我们编写的程序错误 RuntimeException:也称为LogicException 为什么编译器不会要求你去try catch处理? 本质是逻辑错误,比如空指针异常,这种问题是编程逻辑不严谨造成的 应该通过完善我们的代码编程逻辑,来解决问题 非RuntimeException: 编译器会要求我们t

2021-05-29 13:02:26 37

原创 java基础知识(3)

HashSet的存储原理 HashSet的存储原理或者工作原理,主要是从如何保证唯一性来说起。 这里面主要有3个问题,需要回答? 第一,为什么要采用Hash算法?有什么优势,解决了什么问题? 第二,所谓哈希表是一张什么表? 第三,HashSet如何保证保存对象的唯一性?会经历一个什么样的运算过程? 大家可以先思考,晚些再补充答案! 首先,我们要明确一点,HashSet底层采用的是HashMap来实现存储,其值作为HashMap的key public boolean add(E e) { return map

2021-05-29 11:56:02 66

原创 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 96

原创 常见算法题

1,什么是递归? 递归,就是方法内部调用方法自身 递归的注意事项: 找到规律,编写递归公式 找到出口(边界值),让递归有结束边界 注意:如果递归太多层,或者没有正确结束递归,则会出现“栈内存溢出Error”! 问题:为什么会出现栈内存溢出,而不是堆内存溢出? 2,这道题该怎么写? 规律:N!=(n-1)!*n; 出口:n1或n0 return 1; public static int getResult(int n){ if(n<0){ throw new ValidateException(“非法

2021-05-28 21:19:09 39

原创 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 34

转载 JAVA面向对象

我的第一篇博客 想说说java中的面向对象概念理解 谈谈“面向过程”vs“面向对象” 举个最简单点的例子来区分 面向过程和面向对象 有一天你想吃鱼香肉丝了,怎么办呢?你有两个选择 1、自己买材料,肉,鱼香肉丝调料,蒜苔,胡萝卜等等然后切菜切肉,开炒,盛到盘子里。 2、去饭店,张开嘴:老板!来一份鱼香肉丝! 看出来区别了吗?这就是1是面向过程,2是面向对象。 面向对象有什么优势呢?首先你不需要知道鱼香肉丝是怎么做的,降低了耦合性。如果你突然不想吃鱼香肉丝了,想吃洛阳白菜,对于1你可能不太容易了,还需要重新买

2021-05-28 16:08:07 61

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除