现在位置: 首页 > 综合 > 文章
2020年02月21日 综合 ⁄ 共 6511字 评论关闭
  今天来简单写一下Java的反射。本来没打算写反射这个知识点的,只是不少的读者都问过我:“你的知识点好像缺了反射阿。能不能补一下?”   一、序言   在学习Java基础的时候,一般都会学过反射。我在初学反射的时候,并不能理解反射是用来干嘛的。学了一些API发现:“明明我自己能直接new一个对象,为什么它要绕一个圈子,先拿到Class对象,再调用Class对象的方法来创建对象呢,这不是多余吗?”   而且在搜索相关资料的时候...
阅读全文
2020年02月21日 综合 ⁄ 共 5261字 评论关闭
  大多数的应用程序都离不开定时器,通常在程序启动时、运行期间会需要执行一些特殊的处理任务。   比如资源初始化、数据统计等等,SpringBoot 作为一个灵活的框架,有许多方式可以实现定时器或异步任务。   其中第一种使用 TimerTask 的方法已经不建议使用,原因是在系统时间跳变时TimerTask存在挂死的风险。 第三种使用 Quartz 调度框架可以实现非常强大的定时器功能,包括分布式调度定时器等等。   一、应用启动任务...
阅读全文
2020年02月21日 综合 ⁄ 共 5890字 评论关闭
  在日常开发时,我们常常需要 在SpringBoot 应用启动时执行某一段逻辑,如下面的场景:   获取一些当前环境的配置或变量;   向数据库写入一些初始数据;   连接某些第三方系统,确认对方可以工作。   在实现这些功能时,我们可能会遇到一些"坑"。为了利用SpringBoot框架的便利性,我们不得不将整个应用的执行控制权交给容器,于是造成了大家对于细节是一无所知的。那么在实现初始化逻辑代码时就需要小心了,比如,我...
阅读全文
2020年02月21日 综合 ⁄ 共 1823字 评论关闭
  本篇文章简介 lodash.get 函数的实现以及可替代的可选链操作,源于我自己的仓库 面试每日一题 ,其中记录了关于前端进阶及工程化的各种问题。   lodash 基本上成为了 js 项目的标配工具函数,广泛应用在各种服务端以及前端应用中,但是它的包体积略大了一些。对于服务端来说,包的体积并不是十分的重要,或者换句话说,不像前端那样对包的体积特别敏感,一分一毫都会影响页面打开的性能,从而影响用户体验。   正因为前...
阅读全文
2020年02月21日 综合 ⁄ 共 3617字 评论关闭
  泛型(Generics)是强类型编程语言中经常使用的一种技术。很多框架的代码中都会大量使用到泛型,比如在Java中我们经常看到的:   List< String> strList = new ArrayList< String>();List< Double> doubleList = new LinkedList< Double>();   在这段代码中,ArrayList就是一个泛型类,List就是一个泛型接口类,他们提供给开发者一个放置不同类型的集合容器,我们可以向这个集合容器中添加String、Double以及其他各类数据...
阅读全文
2020年02月20日 综合 ⁄ 共 424字 评论关闭
  虽然自己也是PHP从业者,但之前还真没怎么了解PHP内部的垃圾回收流程,只是在我们的代码中用下列函数去释放对象防止内存溢出而已。   unset null mysql_close __destruct   所以上网找了一下,找到了以下一些说明,作下记录:   PHP可以自动进行内存管理,清除不再需要的对象。PHP使用了引用计数(reference counting)这种单纯的垃圾回收(garbage collection)机制。每个对象都内含一个引用计数器,每个reference连接到...
阅读全文
2020年02月20日 综合 ⁄ 共 982字 评论关闭
  在面试的过程中,面试官会经常问一个基础性的问题,那就是let、const、var的区别。那么我们今天就来一起学习它们之间的区别。   let命令的基本用法在EC6中,新增了let命令,用于变量的声明,用来取代EC5中的var命令,消除var声明变量的不合理、不严谨之处。Const用于声明常量。那么我来先学习let与var的区别。   let、const、var的区别   1. let不存在变量提升使用let声明的变量,不会像var那样存在“变量提升”的现象...
阅读全文
2020年02月20日 综合 ⁄ 共 2853字 评论关闭
  高并发下的数据安全   我们知道在多线程写入同一个文件的时候,会出现“线程安全”的问题(多个线程同时运行同一段代码,如果每次运行结果和单线程运行的结果是一样的,结果和预期相同,就是线程安全的)。   如果是MySQL数据库,可以使用它自带的锁机制很好的解决问题,但是在大规模并发的场景中,是不推荐使用MySQL的。秒杀和抢购的场景中,最关键的问题,就是“超发”,如果在这方面控制不慎,会导致实际产生的订单比预售...
阅读全文
2020年02月20日 综合 ⁄ 共 848字 评论关闭
  1. PhpStorm简介:   PhpStorm是一个轻量级且便捷的PHP代码编辑器,其提供的智能代码补全,快速导航以及即时错误检查等功能大大提高了编码效率。它是一款商业的 PHP 集成开发工具,以其独特的开发便利性,短时间内赢得了大量PHPer的青睐。   FTP 是File Transfer Protocol(文件传输协议)的英文简称,。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用...
阅读全文
2020年02月20日 综合 ⁄ 共 821字 评论关闭
  什么是BOM   BOM是用来判断文本文件是哪一种Unicode编码的标记,其本身是一个Unicode字符("\uFEFF"),位于文本文件头部。   在不同的Unicode编码中,对应的bom的二进制字节如下:   FE FF UTF16BE   FF FE UTF16LE   EF BB BF UTF8   所以我们可以根据文件头部的几个字节和上面的表格对应来判断该文件是哪种编码形式。   BOM存在的问题   虽然BOM字符起到了标记文件编码的作用但是他并不属于文件的内容部分...
阅读全文