耗时20ms,总记录数17278

  • Spring-IOC实现【02-其他实现方式】 _我要知道_郭雄飞

    Spring-IOC实现【02-其他实现方式】

    [摘要]接上文Spring-IOC实现【01-XML配置方式】Java配置方式SpringBoot流行之后,Java配置开始被广泛使用。Java配置本质上,就是使用一个Java类去代替xml配置,这种配置方式在SpringBoot中得到了广泛的使用。实现步骤如下:1.创建java项目2.引入相关jar包3.创建实体类4.创建配置文件类/***该类相当于application.xml文件*@authordp ...
  • pytorch实现yolov3(3) 实现forward _我要知道_郭雄飞

    pytorch实现yolov3(3) 实现forward

    [摘要]之前的文章里https://www.cnblogs.com/sdu20112013/p/11099244.html实现了网络的各个layer.本篇来实现网络的forward的过程.定义网络classDarknet(nn.Module):def__init__(self,cfgfile):super(Darknet,self).__init__()self.blocks=parse_cfg(cfgf ...
  • Spring AOP实现原理

    [摘要]代理模式我们知道,SpringAOP的主要作用就是不通过修改源代码的方式、将非核心功能代码织入来实现对方法的增强。那么SpringAOP的底层如何实现对方法的增强?实现的关键在于使用了代理模式代理模式的作用就是为其它对象提供一种代理,以控制对这个对象的访问,用于解决在直接访问对象时带来的各种问题。代理主要分为两种方式:静态代理和动态代理静态代理静态代理主要通过将目标类与代理类实现同一个接口,让代理 ...
  • socket-demo的实现 _我要知道_郭雄飞

    socket-demo的实现

    [摘要]目录前言IO通讯模型IO通讯模型简介1.阻塞式同步IO2.非阻塞式同步IO3.多路复用IO(阻塞+非阻塞)4.异步IOJava对IO模型的支持注意点及实现方案TCP粘包/拆包1.问题说明2.解决思路3.demo方案客户端或服务端掉线检测功能1.实现思路2.代码实现客户端身份获知、强制身份验证1.实现思路2.代码实现socket异常处理与垃圾线程回收1.实现思路2.代码实现项目结构参考前言最近公司在 ...
  • Thrift设计与实现 _我要知道_郭雄飞

    Thrift设计与实现

    [摘要]文章简介从Thrift的C++源代码中看,thrift的设计思想,讨论跨语言优质RPC解决方案。Thrift的诞生背景Thrift的诞生时间大概断定为2007年左右,随着Facebook网站流量的增加和站点功能的日益丰富,已经远远超出了原有LAMP架构的处理能力,对系统服务的可伸缩性和高性能提出了技术挑战。Facebook的工程师文化趋向于选择可用的最好的工具和实现手段解决软件开发中的问题,确保简 ...
  • Python实现Plugin

    [摘要]1.Plugin与Python插件的历史最早可追溯至1970年代,它是一种程序组件,通过和应用程序的互动,为应用程序增加一些所需要的特定的功能[维基]。插件允许第三方开发者对已有的程序功能进行扩展和完善,具体的例子包括音频播放软件的解码器、浏览器的视频播放插件等。插件需要按照一定的接口规范与应用程序互动,这个规范是调用它的应用程序定义的。为了在实践上应用,我看了两篇搜索比较靠前的博客文章,它们的代 ...
  • canvas实现俄罗斯方块 _我要知道_郭雄飞

    canvas实现俄罗斯方块

    [摘要]好久没使用canvas了,于是通过写小游戏“俄罗斯方块”再次熟悉下canvas,如果有一定的canvas基础,要实现还是不难的。实际完成的Demo请看:canvas俄罗斯方块。原理详解看游戏最终界面,可知需要实现以下关键功能:游戏面板,也就是12*20的方格,以及是否填充了方块信息;运动方块,方块需要实现移动,变形的功能。界面的实现整个面板就是以左上角(0,0)为原点的坐标系,右上角(12,0)左 ...
  • 柯里化函数的实现

    [摘要]记录柯里化函数实现的学习过程:柯里化通常也称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具体的函数接受剩下的参数,这中间可嵌套多层这样的接受部分参数函数,直至返回最后结果。如果要实现下面这个方法:add(2)(1,3,4)(2,3)(3)(4,6)(7,98)()//133上面这个函数当参数为空的时候执行了内部参数所有值的相加,所以我们应该考虑当参数不为空的时候将 ...
  • Pulsar Consumer实现介绍 _我要知道_郭雄飞

    Pulsar Consumer实现介绍

    [摘要]Pulsar-Consumer“Pulsarisadistributedpub-submessagingplatformwithaveryflexiblemessagingmodelandanintuitiveclientAPI.”Pulsar是pub-sub模式的分布式消息平台,拥有灵活的消息模型和直观的客户端API。Pulsar由雅虎开发并开源的下一代消息系统,目前是Apache软件基金会的孵 ...
  • Vue.js 源码实现 _我要知道_郭雄飞

    Vue.js 源码实现

    [摘要]目录Vue.js代码实现1.步骤一2.步骤二3.步骤三Vue.js工作机制初始化编译响应式虚拟dom更新视图编译Vue.js代码实现检验学习效果的最好方法就是自己造轮子。最近在学习Vue源码,写了一个迷你版vue,实现数据响应式。从step1到step3.2,是开发步骤和实现思路,每一步都可以独立运行。代码地址:https://github.com/dora-zc/miniature-vue目录结 ...
  • CSS Sticky Footer实现 _我要知道_郭雄飞

    CSS Sticky Footer实现

    [摘要]上图所显示的效果就是stickyFooter,当页面主题内容不够长时,footer定位在窗口的底部,当页面主题内容超出窗口后,footer显示在页面的最底部以下给出几种实现方案:1.FlexBox布局HTML结构如下:<body><divclass="header">StickyFooter</div><divclass="content">< ...
  • 集群选举算法实现 _我要知道_郭雄飞

    集群选举算法实现

    [摘要]一个分布式服务集群管理通常需要一个协调服务,提供服务注册、服务发现、配置管理、组服务等功能,而协调服务自身应是一个高可用的服务集群,ZooKeeper是广泛应用且众所周知的协调服务。协调服务自身的高可用需要选举算法来支撑,本文将讲述选举原理并以分布式服务集群NebulaBootstrap的协调服务NebulaBeacon为例详细说明协调服务的选举实现。为什么要选NebulaBeacon来说明协调服 ...
  • IE8实现媒体查询 _我要知道_郭雄飞

    IE8实现媒体查询

    [摘要]IE8实现媒体查询IE8下想实现不同分辨率样式的兼容,需要用Css3中的media,可是IE8不支持@media啊翻不出去,那找度娘果然找到了一个Demo测试一下,IE8媒体查询也不是多难1、下载Respond2、找到Respond文件中的respond.src.js3、已测试Demo为例依次创建Index.html、Index.css、IE8Index.css,最后添加respond.src.j ...
  • 计算器的实现

    [摘要]计算器的实现:功能实现加减乘除和连加连除连减连乘html+csss实现页面布局:<!DOCTYPEhtml><html><headlang="en"><metacharset="UTF-8"><title></title><style>*margin:0;padding:0;}tableborder-collaps ...
  • synchronized底层实现学习 _我要知道_郭雄飞

    synchronized底层实现学习

    [摘要]上文我们总结了synchronized关键字的基本用法以及作用,并未涉及synchronized底层是如何实现的,所谓刨根问底,本文我们就开始synchronized原理的探索之旅吧(*>﹏<*)。1.对象锁是什么不同于ReentrantLock的显式加锁,synchronized的加锁方式属于隐式加锁,从代码中看我们只知道当线程执行到被synchronized包围的代码块时会获取锁, ...
  • Go channel实现原理

    go通道基于go的并发调度实现,本身并不复杂,go并发调度请看我的这篇文章:go并发调度原理学习1.channel数据结构typehchanstruct{qcountuint//缓冲区中已有元素个数dataqsizuint//循环队列容 ..."> [摘要]go通道基于go的并发调度实现,本身并不复杂,go并发调度请看我的这篇文章:go并发调度原理学习1.channel数据结构typehchanstruct{qcountuint//缓冲区中已有元素个数dataqsizuint//循环队列容 ...
  • MySQL事务实现原理 _我要知道_郭雄飞

    MySQL事务实现原理

    [摘要]MySQL事务隔离级别的实现原理知识储备只有InnoDB支持事务,所以这里说的事务隔离级别是指InnoDB下的事务隔离级别隔离级别读未提交:一个事务可以读取到另一个事务未提交的修改。这会带来脏读,幻读,不可重复读问题读已提交:一个事务只能读取另一个事务已经提交的修改。其避免了脏读,仍然存在不可以重复读和幻读问题可重复读:同一个事务中多次读取相同的数据返回的结果是一样的。其避免了脏读和不可重复读问题 ...
  • java实现哈夫曼编码 _我要知道_郭雄飞

    java实现哈夫曼编码

    [摘要]java实现哈夫曼编码哈夫曼树既然是学习哈夫曼编码,我们首先需要知道什么是哈夫曼树:给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(HuffmanTree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。哈夫曼编码在日常计算机的使用中,我们一定会出现下面这种情况:假如给定a、b、c、d、e五个字符,它们在文本中出现的概率如 ...
  • 实现逻辑回归-神经网络 _我要知道_郭雄飞

    实现逻辑回归-神经网络

    [摘要]一、基本概念1、逻辑回归与线性回归的区别?线性回归预测得到的是一个数值,而逻辑回归预测到的数值只有0、1两个值。逻辑回归是在线性回归的基础上,加上一个sigmoid函数,让其值位于0-1之间,最后获得的值大于0.5判断为1,小于等于0.5判断为0二、逻辑回归的推导\(\haty\)表示预测值,\(y\)表示训练标签值1、一般公式\[\haty=wx+b\]2、向量化\[\haty=w^Tx+b\] ...
  • EventEmitter的前端实现

    [摘要]EventEmitter简介EventEmitter是Node.js的内置模块events提供的一个类,它是Node事件流的核心,EventEmitter是服务端的东西,前端已经有event-emitter的npm库地址:https://www.npmjs.com/package/event-emitter高级浏览器也有原生提供的EventTarget这种实现事件监听和触发的API地址:https ...
  • canvas 实现刮刮乐 _我要知道_郭雄飞

    canvas 实现刮刮乐

    [摘要]在解决问题前,我们先来了解一下canvas标签canvas是html5出现的新标签,像所有的dom对象一样它有自己本身的属性、方法和事件,其中就有绘图的方法,js能够调用它来进行绘图。context是一个封装了很多绘图功能的对象,获取这个对象的方法是:varcanvas=document.querySelector('canvas');varctx=canvas.getContext("2d"); ...
  • 图片懒加载实现

    [摘要]目前图片懒加载的方式主要有两种:1、利用getBoundingClientRectAPI得到当前元素与视窗的距离来判断2、利用h5的新APIIntersectionObserver来实现getBoundingClientRectElement.getBoundingClientRect()方法返回值是一个DOMRect对象,包含了该元素一组矩形的集合:是与该元素相关的css边框集合(top,lef ...
  • Redisson分布式锁实现 _我要知道_郭雄飞

    Redisson分布式锁实现

    [摘要]1.基本用法<dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.8.2</version></dependency>Configconfig=newConfig();config.u ...
  • 【排序算法】java实现

    [摘要]1.冒泡排序最简单的排序实现,冒泡排序,是一种交换排序,它的基本思想是:凉凉比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。//冒泡排序privateint[]bubbleSort(int[]arr){for(inti=0;i<arr.length;i++)for(intj=arr.length-1;j>i;j--)if(arr[j]<arr[j-1]){swap( ...
  • pytorch实现yolov3(5) 实现端到端的目标检测 _我要知道_郭雄飞

    pytorch实现yolov3(5) 实现端到端的目标检测

    [摘要]torch实现yolov3(1)torch实现yolov3(2)torch实现yolov3(3)torch实现yolov3(4)前面4篇已经实现了network的forward,并且将network的output已经转换成了易于操作的detectionprediction格式.本篇把前面四篇实现的功能组织起来,实现端到端的推理过程.整体流程如下读取图片,对图片前处理,把图片调整到模型的inputs ...
  • java-socket-demo的实现 _我要知道_郭雄飞

    java-socket-demo的实现

    [摘要]目录前言IO通讯模型IO通讯模型简介1.阻塞式同步IO2.非阻塞式同步IO3.多路复用IO(阻塞+非阻塞)4.异步IOJava对IO模型的支持注意点及实现方案TCP粘包/拆包1.问题说明2.解决思路3.demo方案客户端或服务端掉线检测功能1.实现思路2.代码实现客户端身份获知、强制身份验证1.实现思路2.代码实现socket异常处理与垃圾线程回收1.实现思路2.代码实现项目结构参考前言最近公司在 ...
  • Object Pooling(对象池)实现

    [摘要]在文章开始之前首先要思考的问题是为什么要建立对象池。这和.NET垃圾回收机制有关,正如下面引用所说,内存不是无限的,垃圾回收器最终要回收对象,释放内存。尽管.NET为垃圾回收已经进行了大量优化,例如将托管堆划分为3Generations(代)并设定新建的对象回收的最快,新建的短生命周期对象将进入Gen0(新建对象大于或等于85,000字节将被看作大对象,直接进入Gen2),而Gen0通常情况下分配 ...
  • 用两个栈实现队列 _我要知道_郭雄飞

    用两个栈实现队列

    [摘要]用两个栈实现队列题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。解题思路:用一个栈只进,一个栈只出。进队列时只管压栈stack1,出队列时先判断之前压入stack2的数据是否全部弹出,不为空则只需出栈一个即可,为空则需要从stack1全部弹出压入stack2,然后stack2再执行一次出栈。注意:这样写已经过了牛客网测试,但是在pop时其实应该先判断两个栈是 ...
  • EF Core 实现多租户 _我要知道_郭雄飞

    EF Core 实现多租户

    [摘要]目录SAAS和多租户多租户数据隔离方案使用EFCore简单实现多租户单数据库实现多数据库实现源代码参考SAAS和多租户SaaS(软件及服务)区别于其他应用程序的主要特征就是能够使客户在使用应用程序时按照使用量付费。他们不需要为软件购买许可,也不需要安装、托管和管理它。这方面的操作全部由提供SaaS软件的组织负责。多租户是实现SaaS的关键因素,它可以让多个企业或组织用户共用相同的系统或程序组件,同 ...
  • Mysql实现树形递归查询

    [摘要]最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。Oracle递归查询oracle实现递归查询的话,就可以使用startwith...connectbyconnectby递归查询基本语法是:select1from表格startwith...connectbypriorid=pIdstartwi ...