Wesley13 Wesley13
4年前
CGLIB介绍与原理(通过继承的动态代理)
一、什么是CGLIB?CGLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。通常可以使用Java的动态代理创建代理,但当要代理的类没有实现接口或者为了更好的性能,CGLIB是一个好的选择。二、CGLIB原理CGLIB原理:动态生成一个要代理类的子类,子类重写要代理的类的所有不是final的
Wesley13 Wesley13
4年前
Java多线程与并发之ThreadLocal原理解析
1\.ThreadLocal是什么?使用场景ThreadLocal简介ThreadLocal是线程本地变量,可以为多线程的并发问题提供一种解决方式,当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,
Stella981 Stella981
4年前
ASP.NET Core 静态资源的打包与压缩
以VisualStudioCommunity201715.5.1为例配置文件bundleconfig.json新建一个AspNetCoreMVC项目,项目中会有一个bundleconfig.json文件,该文件就是静态资源打包与压缩的配置文件.通常bundleconfig.js
Wesley13 Wesley13
4年前
Mysql 主外键与索引之间的区别和联系
系数据库依赖于主键,它是数据库物理模式的基石。主键在物理层面上只有两个用途: 惟一地标识一行。 作为一个可以被外键有效引用的对象。 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。下面是主键和索引的一些区别与联系。 1\.主键一定是唯一性索引,唯一性索
Stella981 Stella981
4年前
Python编程之数据结构与算法练习_001
声明:题目出自《剑指Offer》。算法原理请自行找书撸,不废话。直接上Python版本代码。题目:求从小到大的顺序的第1500个丑数。我们把只包含因子2、3和5的数称作丑数(UglyNumber)1计算第1500个丑数21,2,3,4,53importdatetime4
Easter79 Easter79
4年前
System.currentTimeMillis()计算方式与时间的单位转换
一、时间的单位转换1秒\1000毫秒(ms) 1毫秒\1/1,000秒(s)1秒\1,000,000微秒(μs) 1微秒\1/1,000,000秒(s)1秒\1,000,000,000纳秒(ns) 1纳秒\1/1,000,000,000秒(s)1秒\1,000,000,000,000皮秒(ps) 1皮秒\1
Stella981 Stella981
4年前
BigData NoSQL —— ApsaraDB HBase数据存储与分析平台概览
一、引言时间到了2019年,数据库也发展到了一个新的拐点,有三个明显的趋势:1.越来越多的数据库会做云原生(CloudNative),会不断利用新的硬件及云本身的优势打造CloudNative数据库,国内以阿里云的CloudHBase(https://www.oschina.net/action/GoToLink?urlhttps
Stella981 Stella981
4年前
Python数据结构与算法——双端队列Dequeue
!(https://oscimg.oschina.net/oscnet/fa1ed5efabdf40f390081750e73ed60e.png)点击上方蓝字关注我们双端队列Dequeue双端队列是一种有序的数据集,与队列相似,但双端队列的两端都可以作为队首
Easter79 Easter79
4年前
Tachyon 0.7.1伪分布式集群安装与测试
Tachyon是一个高容错的分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享,就像Spark和MapReduce那样。通过利用信息继承,内存侵入,Tachyon获得了高性能。Tachyon工作集文件缓存在内存中,并且让不同的Jobs/Queries以及框架都能内存的速度来访问缓存文件。因此,Tachyon可以减少那些需要经常使用的数据集通过
手写模拟Spring底层原理-Bean的创建与获取
相信大家对Spring都有一定的了解,本篇文章我们会针对Spring底层原理,在海量的Spring源代码中进行抽丝剥茧手动实现一个Spring简易版本,对Spring的常用功能进行手写模拟实现。