草庐IT

为什么说不变模式可以提高性能

在Java中基础类型的包装类都是不可变的类,如Boolean、Byte、Character、Double、Float、Integer、Long、Short,另外还有String。这些类创建的实例都是不可以变的实例。//Integer类代码JDK1.8publicfinalclassIntegerextendsNumberimplementsComparable{privatefinalintvalue;publicInteger(intvalue){this.value=value;}}可以看到Integer类是final类型的不可被继承,其封装的int值是也是final的。这就导致了实例创建

“用户”,你凭什么说改框架?

  现在是懂点技术,人人都可以讨论框架,不是所有人都能够造框架。这句话会引起大家质疑,为什么没有能力造框架却可以讨论框架呢?!我也出不出来合理的答案。  我经历过两次用户要求讨论框架、交流代码,第一次类似于工业大数据本项目,用户认为大数据就要用到例如hadoop之类的东西,讨论框架和修改框架,项目推进步履维艰,项目成功与否已经没有太大意义,只要用户开心就好。第二次是类似测控项目,用户要求修改框架,例如设备数据要统一采集、统一Buffer、统一存储等,本身这个项目我们也是半路接手,所以在完成项目前也没有受到用户太多干扰。  从开发角度,讨论框架的基础是有没有开发过不少于3万行代码及能够解决实际场

“用户”,你凭什么说改框架?

  现在是懂点技术,人人都可以讨论框架,不是所有人都能够造框架。这句话会引起大家质疑,为什么没有能力造框架却可以讨论框架呢?!我也出不出来合理的答案。  我经历过两次用户要求讨论框架、交流代码,第一次类似于工业大数据本项目,用户认为大数据就要用到例如hadoop之类的东西,讨论框架和修改框架,项目推进步履维艰,项目成功与否已经没有太大意义,只要用户开心就好。第二次是类似测控项目,用户要求修改框架,例如设备数据要统一采集、统一Buffer、统一存储等,本身这个项目我们也是半路接手,所以在完成项目前也没有受到用户太多干扰。  从开发角度,讨论框架的基础是有没有开发过不少于3万行代码及能够解决实际场

女朋友说:你要搞懂了MySQL三大日志,我就让你嘿嘿嘿!

1.背景MySQL实现事务、崩溃恢复、集群的主从复制,底层都离不开日志,所以日志是MySQL的精华所在。只有了解MySQL日志,才算是彻底搞懂MySQL。今天一灯就带你深入浅出的学习MySQL的三大日志系统,RedoLog(重做日志)、UndoLog(恢复日志)、BinLog(备份日志)。2.RedoLog(重做日志)2.1RedoLog的内容与作用RedoLog记录的是物理日志,也就是磁盘数据页的修改。作用:用来保证服务崩溃后,仍能把事务中变更的数据持久化到磁盘上。MySQL事务中持久性就是使用RedoLog实现的。2.2什么时候写入RedoLog?从磁盘加载数据到内存在内存中修改数据把新数

女朋友说:你要搞懂了MySQL三大日志,我就让你嘿嘿嘿!

1.背景MySQL实现事务、崩溃恢复、集群的主从复制,底层都离不开日志,所以日志是MySQL的精华所在。只有了解MySQL日志,才算是彻底搞懂MySQL。今天一灯就带你深入浅出的学习MySQL的三大日志系统,RedoLog(重做日志)、UndoLog(恢复日志)、BinLog(备份日志)。2.RedoLog(重做日志)2.1RedoLog的内容与作用RedoLog记录的是物理日志,也就是磁盘数据页的修改。作用:用来保证服务崩溃后,仍能把事务中变更的数据持久化到磁盘上。MySQL事务中持久性就是使用RedoLog实现的。2.2什么时候写入RedoLog?从磁盘加载数据到内存在内存中修改数据把新数

我已经说了5种css居中实现的方式了,面试官竟然说还不够?

这是一篇关于居中对齐方式的总结开篇之前,先问一下大家都知道几种居中的实现方式?面试时答出来两三个就不错了,就怕面试官还让你继续说。今天就来总结一下这些居中的方式使用flex布局设置居中。使用flex时也能通过给子项设置margin:auto实现居中。使用绝对定位的方式实现水平垂直居中。使用grid设置居中。使用grid时还能通过给子项设置margin:auto实现居中。使用tabel-cell实现垂直居中。还有一种不常用的方法实现垂直居中。最后还有一种奇葩的方法。容器设置position:relative。孩子设置top、left、bottom、right都设置为01.flex布局设置居中常见

我已经说了5种css居中实现的方式了,面试官竟然说还不够?

这是一篇关于居中对齐方式的总结开篇之前,先问一下大家都知道几种居中的实现方式?面试时答出来两三个就不错了,就怕面试官还让你继续说。今天就来总结一下这些居中的方式使用flex布局设置居中。使用flex时也能通过给子项设置margin:auto实现居中。使用绝对定位的方式实现水平垂直居中。使用grid设置居中。使用grid时还能通过给子项设置margin:auto实现居中。使用tabel-cell实现垂直居中。还有一种不常用的方法实现垂直居中。最后还有一种奇葩的方法。容器设置position:relative。孩子设置top、left、bottom、right都设置为01.flex布局设置居中常见

走好数据中台最后一公里,为什么说数据服务API是数据中台的标配?

原文链接:走好数据中台最后一公里,数据服务API是数据中台的标配视频回顾:点击这里课件获取:点击这里一、数据服务API建设背景在数字化转型的时代背景下,新需求的大量增长、新技术的不断迭代,“互联网化、数字化”进程的不断深入,越来越多的业务被迁移到互联网上,产生大量的业务交互和对外服务需求,对API接口的需求与日俱增,如何快速提升企业数据开放共享能力,是企业面临数字化转型的关键命题。传统的方式如后端开发人员通过Java或Python等语言进行编写来生成API接口,开发周期过长,运维成本太高,已经不能满足企业的需求。企业在数字化转型过程往往面临诸多难题:为了更多的解决这些问题,我们在企业开放、共享

走好数据中台最后一公里,为什么说数据服务API是数据中台的标配?

原文链接:走好数据中台最后一公里,数据服务API是数据中台的标配视频回顾:点击这里课件获取:点击这里一、数据服务API建设背景在数字化转型的时代背景下,新需求的大量增长、新技术的不断迭代,“互联网化、数字化”进程的不断深入,越来越多的业务被迁移到互联网上,产生大量的业务交互和对外服务需求,对API接口的需求与日俱增,如何快速提升企业数据开放共享能力,是企业面临数字化转型的关键命题。传统的方式如后端开发人员通过Java或Python等语言进行编写来生成API接口,开发周期过长,运维成本太高,已经不能满足企业的需求。企业在数字化转型过程往往面临诸多难题:为了更多的解决这些问题,我们在企业开放、共享

某大厂面试题:说一说Java、Spring、Dubbo三者SPI机制的原理和区别

大家好,我是三友~~今天来跟大家聊一聊Java、Spring、Dubbo三者SPI机制的原理和区别。其实我之前写过一篇类似的文章,但是这篇文章主要是剖析dubbo的SPI机制的源码,中间只是简单地介绍了一下Java、Spring的SPI机制,并没有进行深入,所以本篇就来深入聊一聊这三者的原理和区别。什么是SPISPI全称为ServiceProviderInterface,是一种动态替换发现的机制,一种解耦非常优秀的思想,SPI可以很灵活的让接口和实现分离,让api提供者只提供接口,第三方来实现,然后可以使用配置文件的方式来实现替换或者扩展,在框架中比较常见,提高框架的可扩展性。简单来说SPI是