自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试之哈希

什么是哈希?Map继承体系图

2021-03-27 21:20:49 88

原创 红黑树原理解析

红黑树原理解析红黑树的性质讲完了,只要这棵树满足以上性质,这棵树就是趋近与平衡状态的,不要问为什么,发明红黑树的科学家就是这么牛逼!一、 前面讲红黑树能自平衡,它靠的是什么?三种操作:左旋、右旋和变色。1.变色:黑变红或者红变黑2.左旋:上升的节点有两个分支,剪断一个原来的左分支,补到下沉节点的右分支上(看上去的那个的左子节点)3.右旋:上升的节点有两个分支,剪断一个原来的右分支,补到下沉节点的左分支上(看上去的那个的右子节点)二、红黑树查找(和二叉查找树一样)三、红黑树插入:(新节点必

2021-03-27 16:38:55 144

原创 开启线程及怎么保证线程安全?

线程和进程的区别:进程是操作系统进行资源分配的最小单元。线程是操作系统进行任务分配的最小单元,线程隶属于进程。如何开启线程?1.继承Thread类,重写run方法。(得用start方法异步的调用run())2.实现Runnable接口,实现run方法。3.实现Callable接口,实现call方法。通过FutureTask创建一个线程,获取到线程执行的返回值。4.通过线程池来开启线程。怎么保证线程安全?加锁1.JVM提供的锁,也就是Synchronized关键字。2.JDK提供的各种锁

2021-03-24 16:30:40 305

原创 Java开发面试之静态代理和动态代理

使用代理模式的作用1.功能增强:在你原有的功能上,增加了额外的功能。新增加的功能,叫做功能增强。2.控制访问:代理类不让你访问目标,例如商家不让用户访问厂家。实现代理的方式1.静态代理1)代理类是自己手工实现的,自己创建一个java类,表示代理类。2)同时你所要代理的目标类是确定的。特点1)实现简单2)容易理解缺点当你的项目中,目标类和代理类很多时候,有以下的缺点:1)当目标类增加了,目标类可能也需要成倍的增加。代理类数量过多。2)当你的接口中功能增加了,或者修改了,会影响众多的实

2021-03-23 19:08:07 287

原创 Java面试之设计模式

单例模式(Singleton Pattern):确保某一个类只有一个实例(也可无),而且自行实例化。note:单例类的构造函数必须为私有;同时单例类必须提供一个全局访问点。public class Test { private Test(){} private static Test uniqueInstance = new Test(); public static Test getInstance(){ return uniqueInstance;.

2021-03-23 16:06:31 103 1

原创 把一个合数分成质数的乘积

HashMap基于Map接口实现;是线程不安全的,多线程下建议使用ConcurrentHashMap;可以使用null作为key初始容量为16,填充因子默认是0.75扩容:capacity*2HashTable实现了Map接口和Dictionary抽象类;HashTable的实现方法里面都添加了synchronized关键字,是线程安全的,但性能低于HashMap;不允许null作为key初始容量为16,填充因子默认是0.75扩容:capacity*2+1...

2021-03-23 14:28:40 656 1

原创 SSM面试要知道的

MyBatis可以简化JDBC操作,实现数据的持久化。ORM: Object Relational Mappingperson对象 person表ORM: 概念,Mybatis是ORM的一个实现(类似的还有Hibernate), ORM可以使开发人员像操作对象一样操作数据库表。开发MyBatis程序步骤:1.配置mybatisconf.xml:配置数据库信息和需要加载的映射文件映射文件xxMapper.xml:增删改查标签...

2021-03-22 21:16:30 159

原创 compareTo我还是不会

Java中Arrays.sort(int[] a)的用法1、Arrays.sort(int[] a)这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。

2021-03-13 08:34:42 108 2

原创 java中的反射

java中的反射

2021-03-13 08:33:43 70

原创 剑指offer30.包含min的栈

class MinStack: def __init__(self): self.A, self.B = [], [] def push(self, x: int) -> None: self.A.append(x) if not self.B or self.B[-1] >= x: self.B.append(x) def pop(self) -> None: if sel

2021-03-08 19:18:22 51

原创 重写与重载

重载和覆盖是java多态性的不同表现方式一、覆盖(override):方法签名完全一样从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点:1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;

2021-03-06 21:31:51 305

原创 父类引用指向子类对象打底是什么?

父类引用指向子类对象指的是:例如父类Animal,子类Cat,Dog。其中Animal可以是类也可以是接口,Cat和Dog是继承或实现Animal的子类。Animal animal = new Cat();即声明的是父类,实际指向的是子类的一个对象。...

2021-03-06 21:17:38 82

原创 (x&1)== 1是什么意思?

(x&1)== 1是什么意思?判断x是否为奇数,相当于% 2 == 1这是基本的位运算,就是和1进行与运算,如果最后一位为1,结果就为1,最后一位为0,结果就为0.

2021-03-06 11:03:49 2612

原创 数位之和计算

数位之和计算设一数字 x ,向下取整除法符号 / ,求余符号 % ,则有:x %10:得到 x 的个位数字;x /10: 令 x 的十进制数向右移动一位,即删除个位数字。 int sums(int x) { int s = 0; while (x != 0) { s += x % 10; x = x / 10; } return

2021-03-04 10:39:31 1113 1

原创 Java获取二维数组行列长度

Java获取二维数组行列长度二维数组定义:int array[][]=new int[3][3];获取行长度 : int rowlength=array.length;获取列长度:int colength=array[0].length;

2021-03-03 21:59:45 1793 1

原创 java中==和equals()的区别?

1.原理不同sleep()方法是Thread类的静态方法,是线程用来控制自身流程的;wait()方法是Object类的方法,用于线程间的通信。2.对锁的处理机制不同调用sleep()方法后并不会释放锁调用wait()方法后会释放锁3.使用区域不同sleep()方法可以放在任何地方使用wait()方法必须放在同步控制方法或者同步语句块中使用...

2021-03-03 21:04:55 134 1

原创 Map<String, Object> paramMap = new HashMap<String, Object>();含义解释

Map<String, Object> paramMap = new HashMap<String, Object>();1:你首先要明白Map是什么意思 Map得意思就是Key value对应得就比如以下:Map<1,“我”>你只要得到Map里面得1 他对应得值就是 我2:意思是你的Map对象的键是String类型的,而值因为被定义为最上层的java对象Object对象,而所有的下级对象都隶属于Object对象,所以可以传任何类型的值在里面,比如,你可以这样:

2021-03-02 16:38:58 1708

原创 Java集合类学习

2021-03-01 09:27:45 61

空空如也

空空如也

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

TA关注的人

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