ICode9

精准搜索请尝试: 精确搜索
  • (四)手写打破双亲委派 (类加载机制 第四篇)2021-11-04 15:05:56

    我们知道,在加载类的时候,会一级一级向上委托,判断是否已经加载,从自定义类加载器-》应用类加载器-》扩展类加载器-》启动类加载器,如果到最后都没有加载这个类,则回去加载自己的类。 双亲委托有个弊端: 不能向下委派,不能不委派 怎么打破双亲委派机制:(也就是能向下委派和不委派) 自定

  • 叹服,网易JDK负责人手写 HotSpot 358页实战笔记2021-11-03 15:31:29

    前言 不知道各位同学发现了没有:现在对于Java开发岗位需求仍旧是需求大于供给,但是就是这样的情况还是很多同学找不到心仪的工作。究其原因就会发现:现在招聘的要求是不仅仅是要会应用,同时更要明白其中的内部运行原理,同时虚拟机又是Java开发者没有办法绕开的话题! 本篇是网易JDK负

  • 手写 PriorityQueue的实现 java2021-11-03 13:01:52

    对于一个堆结构来说,我们应用的很广。常见的就有我们学的八大排序之一的而堆排序。其实堆就是一个完全二叉树结构(逻辑结构),但我们真实实现的底层是基于数组。 首先,我们温故一下堆排序,然后通过这一理念对应想想PriorityQueue的一些方法于是我们就可以实现一些功能,这边我只实现一

  • 面试官:什么是函数柯里化,能手写实现吗。2021-11-02 21:02:49

    什么是函数柯里化 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。这个技术以逻辑学家 Haskell Curry 命名的。 什么意思?简单来说,柯里化是一项技术,它用来改造多参数

  • 手写 bind 函数2021-11-01 14:34:26

    一. 首先bind 函数的三个特点: 1. 改变this指向 2. 第一个参数是 this的值后面的参数是 函数接收的参数的值 3. 返回值不变 二. 实现第一种:简易版实现 简易版实现 bind 函数 ,尽量不使用,但是可以借助里面的思想 <script> /** * bind 函数的三个特点

  • 前端手写代码练习2021-10-31 16:32:39

    1、手写数组的乱序输出 let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9] for (let i = 0; i < arr.length; i++) { const randIndex = Math.floor(Math.random() * (arr.length - i - 1)) + i; let temp = arr[i] arr[i] = arr[randIn

  • 手写HashMap2021-10-30 23:35:10

    手写HashMap 优势 :代替Unordered_map,某些题会卡unmap。 缺点:需要手写,代码量比调用库函数大。 哈希模数表 https://planetmath.org/goodhashtableprimes 算法流程 基于链式前向星。 插入结点(ins) 就遍历图,如果找到就直接value++,否则新建一个结点。 查找(find) 也是遍历图,如果

  • 手写RPC框架(二)加入动态代理2021-10-30 14:00:37

    手写RPC框架(二)加入动态代理 如果没有动态代理,远程调用时,需要对每个类都要建立代理,这样会导致代码十分冗余,我们通过Java中Proxy,动态的构建类,来实现AOP的功能。 public static Object newProxyInstance(ClassLoader loader,Class<?>[] interfaces, InvocationHandler h) 通过此方法

  • MNIST手写数字识别2021-10-27 21:06:11

    进入到研究生阶段了,从头学一下Pytorch,在这个小破站上记录一下自己的学习过程。 本文使用的是Pytorch来做手写数字的识别。 step0:先引入一些相关的包和库 import torch from torch import nn from torch.nn import functional as F from torch import optim import torchvisio

  • 手写快速排序2021-10-27 16:02:51

    哎 边界有点绕呢 package 算法; public class 快速排序 { public static void quickSort(int[] arr) { if (arr == null||arr.length==1) { return; } proscss(arr,0,arr.length-1); } /** * 快速排序 * @param

  • Spring源码简易手写实现(学习过程记录)(四)2021-10-27 15:34:09

    4.1Aware回调模拟实现 在createBean的时候,我们想在加了Component注解的类里面加一个字段beanName,该字段存储bean对象的name属性 spring会提供一个接口BeanNameAware来实现 package com.rainwood.spring; public interface BeanNameAware { void setBeanName(String name); }

  • Mnist数据集手写数字识别实验(搬运)2021-10-26 20:04:35

    import torch import torchvision from torch.utils.data import DataLoader import matplotlib.pyplot as plt import torch.nn as nn import torch.nn.functional as F import torch.optim as optim n_epochs = 3 batch_size_train = 64 batch_size_test = 1000 learning_

  • 18实例介绍之手写识别2021-10-25 20:31:47

    图像识别 图像识别(Image Recognition)是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。 图像识别的发展经历了三个阶段:文字识别、数字图像处理与识别、物体识别。机器学习领域一般将此类识别问题转化为分类问题。 手写识别 手写识别是常见的图

  • python学习笔记——手写数字识别2021-10-24 14:33:58

    一.使用数据集进行手写数字识别 import keras from keras.datasets import mnist from keras.models import Sequential from keras.layers import Dense, Dropout from keras.optimizers import RMSprop import matplotlib.pyplot as plt # 一些参数 batch_size = 128 epochs

  • 纯手写爆肝史上最详细讲解SpringBoot2021-10-23 23:35:07

    SpringBoot基础 一、SpringBoot简介 1.1. 什么是Spring Boot Spring Boot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品: 一般把Spring Boot称为搭建程序的脚手架或者说是便捷搭建基于Spring的工程 脚手架。其最主要作用就是帮助开 发人员

  • JS手写题2021-10-23 17:05:24

    JS常见的手写题 一,js实现call,apply,bind的实现 call,apply,bind 的共同点是用来改变函数调用时的this指向。不同点是:使用call的时候传的是一个一个参数,而apply是将这些参数放在一个数组里的,bind的参数形式跟call一样,但是bind返回的是一个函数,需要在调用的时候执行 call Func

  • Spring源码简易手写实现(学习过程记录)(二)2021-10-23 17:02:52

    2.1 创建Scope注解 context.getBean("userService"); 在创建bean对象的时候,会传入一个beanName,根据这个beanName,首先框架会去判断这个beanName是单例bean还是原型bean 在实体类中被componen注解的类,我们需要一个Scope注解,来表示这个类是单例还是原型,如果没有Scope注解默认是单例

  • 手写节流函数2021-10-23 14:02:49

    节流原理 如果持续的触发事件,每隔一段时间,只执行一次事件 应用场景 DOM元素的拖拽功能实现 射击游戏 计算鼠标移动的距离 监听scroll滚动事件 underscore中的防抖函数_.throttle contant.onmousemove = _.throttle(doSomeThing, 2000, { leading: false, //禁用首次执行,即禁

  • 手写promise2021-10-22 22:03:28

    Promise 本身是同步 真正的异步是你自己在promise内部写的代码 开始实现promise 大概逻辑 1. 实例化构造函数,构造函数内部调用传入的function,把resolve和reject传给function 2. 紧接着调用then方法,把then方法上的一些函数储存起来:(成功函数,失败函数),最终then返回了一个promise,所以还

  • JS 手写new方法2021-10-22 20:59:48

    new方法做了什么事 要想实现new方法我们得先知道new方法做了什么事情? 在红宝书中的8.4.2节有提到new方法完成了什么事情。 使用new调用类的构造函数会执行如下操作: (1) 在内存中创建一个新对象。 (2) 这个新对象内部的[[Prototype]]指针被赋值为构造函数的prototype属性。 (

  • 自从被国家认定为新时代的农民工过后,国家又不让我 996 了2021-10-21 20:58:17

    以前程序员这一行总是喜欢把工作说成在搬砖,把自己称为码农,以此来自我调侃,但是现在程序员说搬砖是真正的在搬砖了,因为国家已经承认了我们新时代农民工的身份!被国家承认,我骄傲了吗? 随着被国家承认了身份,最近国家又拯救了我,不让我 996 了。 互联网公司最逃不开的话题之一肯定是

  • 前端面试手写代码——模拟实现new运算符2021-10-21 13:00:06

    目录1 new 运算符简介2 new 究竟干了什么事3 模拟实现 new 运算符4 补充 ⚠ 预备知识: 了解原型和原型链 了解this绑定 1 new 运算符简介 MDN文档:new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。 class Person { constructor(name) {

  • SC Alibaba20211019 Nacos 手写LoadBalancer22021-10-21 09:31:35

                         

  • 前端面试手写代码——JS函数柯里化2021-10-20 16:35:41

    目录1 什么是函数柯里化2 柯里化的作用和特点2.1 参数复用2.2 提前返回2.3 延迟执行3 封装通用柯里化工具函数4 总结和补充 1 什么是函数柯里化 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且

  • 3 Jmeter录制脚本(建议手写)2021-10-19 07:31:17

    请求先发给jmeter,再由jmeter发给服务器 作为代理,所有的数据流都经过了代理服务器 只要代理服务器读得懂通信协议,它就可以录下来 操作步骤: 1、浏览器配置代理服务器,把请求发给它 2、Jmeter设置代理服务器 工作台的东西是不保存到jmx里面的,所以下次打开工作台的东西就没了 不建议使

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有