java基础
横向逆转
这个作者很懒,什么都没留下…
展开
-
【引用】binlog
引言为什么写这篇文章?大家当年在学MySQL的时候,为了能够迅速就业,一般是学习一下MySQL的基本语法,差不多就出山找工作了。水平稍微好一点的童鞋呢还会懂一点存储过程的编写,又或者是懂一点索引的创建和使用。但是呢,基本上大家都忽略了对底层知识的学习。为什么呢?因为工作中很少用到嘛。然后呢,市面上流传的大部分这种底层的知识,又比较偏运维,研发懂这么多意义也不是太大,很多知识可能这辈子都不会用到...翻译 2019-12-27 15:44:36 · 160 阅读 · 0 评论 -
抽象方法
一、抽象(abstract)的使用当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]。我们都知道,父类是将子类所共同拥有的属性和方法进行抽取,这些属性和方法中,有的是已经明确实现了的,有的还无法确定,那么我们就可以将其定义成抽象,在后日子类进行重用,进行具体化。这样,抽象类也就诞生了。例如,定义了“动物”父类,其中“动物名称...转载 2019-11-25 18:12:18 · 1590 阅读 · 1 评论 -
Redis缓存之穿透、雪崩、热key
高并发的情况会给系统带来很高的访问流量,这就给存储这些热点信息的Redis数据造成了一些压力。热key问题及解决方案产生原因用户消费的数据远大于生产的数据 (热卖商品、热点新闻、热点评论、明星直播)等。在日常工作生活中一些突发的的事件,例如某明星突然宣布恋情,导致某新闻点击量瞬间变大,请求远超过对数据的写入。就会造成热数据问题。我们 一般采用缓存 + 过期时间的策略来帮助我们加速接口的访...原创 2019-11-25 17:53:46 · 137 阅读 · 0 评论 -
JAVA8 默认接口方法
转载从java8开始,接口不只是一个只能声明方法的地方,我们还可以在声明方法时,给方法一个默认的实现,我们称之为默认接口方法,这样所有实现该接口的子类都可以持有该方法的默认实现。一. 引入默认接口方法的背景默认方法让我们能给我们的软件库的接口增加新的方法,并且能保证对使用这个接口的老版本代码的兼容性。java8可以看做是java版本更新迭代过程中变化最大的一个版本(与时俱进,方能不灭,我们...转载 2019-11-25 15:11:34 · 95 阅读 · 0 评论 -
包装类
自动装箱与拆箱装箱:将基本类型用它们对应的引用类型包装起来;拆箱:将包装类型转换为基本数据类型;class Student{ private int age; private String name; private Long birthday; private long createTime;}1.基本类型的包装类是复杂类型Integer为复杂类型,具有一些与其他类型转换的...原创 2019-11-25 14:08:35 · 96 阅读 · 0 评论 -
如何保证消息的可靠性传输?
如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?面试官心理分析这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。如果说你这个是用 MQ 来传递非常核心的消息,比如说计费、扣费的一些消息,那必须确保这个 MQ 传递过程中绝对不会把计费消息给弄丢。面试题剖析数据...原创 2019-11-25 11:41:56 · 130 阅读 · 0 评论 -
面向过程性能比面向对象高??
“程序的性能首先由编程语言的执行方式有关,其次才是设计范式” 面向流程性能比面向对象高,因为类调用需要实例化,开销比较大,比较消耗资源。所以当性能是最大考量的时候,选用面向流程语言,比如单片机,嵌入式开发、linux/Unix等一般采用面相过程开发。但是面相过程没有面向对象易维护、易复用、易扩展。 面向对象:面向对象易维护、易复用、易扩展。因为面向对象有封装、集成、多态性的特性,所以可以设计出...原创 2019-11-25 10:57:52 · 1207 阅读 · 0 评论 -
JAVA面试-基础1
1. JAVA中的几种基本数据类型是什么,各自占用多少字节共8种,6个数字类型(4个整数型,2个浮点型)、1个字符类型、1个布尔型。byte 数据类型是8位、有符号的,以二进制补码表示的整数; 1个字节最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四...原创 2019-10-10 10:26:53 · 175 阅读 · 0 评论 -
JAVA面试-基础3
1、HashMap的实现原理以及在使用中要注意什么?内部是基于哈希表实现的键值对存储。继承了AbstractMap,实现了map接口。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。HashMap使用LinkedList来...原创 2019-10-11 00:05:17 · 82 阅读 · 0 评论 -
JAVA面试-基础2
19、如何在父类中为子类自动完成所有的hashcode和equals实现?这么做有何优劣父类的equals不一定满足子类的equals需求。比如所有的对象都继承Object,默认使用的是Object的equals方法,在比较两个对象的时候,是看他们是否指向同一个地址。但是我们的需求是对象的某个属性相同,就相等了,而默认的equals方法满足不了当前的需求,所以我们要重写equals方法。...原创 2019-10-10 13:17:05 · 295 阅读 · 0 评论 -
Java中的String,StringBuilder,StringBuffer三者的区别
这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String String最慢的原因:String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的...转载 2019-10-08 16:00:25 · 81 阅读 · 0 评论