ICode9

精准搜索请尝试: 精确搜索
  • hashMap 与hashTable的区别 concurrentHashMap2022-08-08 23:30:48

    hashMap 1.7底层:数组+链表 采用头插法 (当多个key发生hash冲突,就会让链表过长,查询效率较低,时间复杂度为O(n)) hashMap 1.8底层 :数组+链表+红黑树 采用尾插法 当数组容量>=64且链表长度>8 就会转换为红黑树 时间复杂度为log(On) hashMap 允许key设置null 无论是1.7版本还是1.8

  • SASS 插值语句 #{ }的使用2022-08-08 14:30:58

    在之前我们已经使用用 / 来进行计算,但如下情况不一样 例如 p{ font: 16px/30px Arial, Helvetica, sans-serif; } 如果需要使用变量,同时又要确保 / 不做除法运算,而是完整地编译到 CSS 文件中,这种情况怎么办???可以使用 #{} 插值语句将变量包裹。 使用插值语法 p { $font-si

  • 刷完HashMap源码,我们一起进大厂2022-08-08 14:01:33

    不可不知的哈希映射 引言 hashmap这个东西呢,太老生常谈了 开发中常用、面试中常问 总之,很重要。。。。。 接下来呢 咱们就一起来看下,里面到底有哪些解不开的东西 2.1 HashMap数据结构 目标: HashMap 概念、数据结构回顾(JDK8和JDK7) & 为什么1.8使用红黑树? 概念: HashMap 是一个利用

  • 【博学谷学习记录】超强总结,用心分享 | SpringCache常用注解介绍+集成redis2022-08-08 13:31:56

    Spring Cache是Spring提供的通用缓存框架。它利用了AOP,实现了基于注解的缓存功能,使开发者不用关心底层使用了什么缓存框架,只需要简单地加一个注解,就能实现缓存功能了。用户使用Spring Cache,可以快速开发一个很不错的缓存功能。 Spring Cache只是提供了一层抽象,底层可以切换不同的c

  • DDIA读书笔记(一)——数据系统基础2022-08-08 13:31:30

    1.1 可靠、可扩展与可维护的应用系统 数据密集型应用通常包含了这几个模块:数据库、高速缓存、索引、流式处理以及批处理。 1.1.1 认识数据系统 大多数软件系统都极为关注3个问题: 可靠性(reliability):出现意外(软硬件故障和人为失误)时仍然能够正常运转(功能正确,性能可能会降低)。 可扩

  • Redis 定长队列的探索和实践2022-08-08 09:32:02

    vivo 互联网服务器团队 - Wang Zhi 一、业务背景 从技术的角度来说,技术方案的选型都是受限于实际的业务场景,都以解决实际业务场景为目标。 在我们的实际业务场景中,需要以游戏的维度收集和上报行为数据,考虑数据的量级,执行尽最大努力交付且允许数据的部分丢弃。 数据上报支持游戏

  • 分组排序2022-08-07 23:35:17

          /** * 分组排序 */ const sortByKey = (array: object[], key: string) => { return array.reduce((total, next) => { const index = total.findIndex((item, index, self) => { return item[key] === next[key]; }); return index === -1

  • C/C++ 使用 openssl 进行 AES/ECB/PKCS5Padding 加密解密2022-08-07 21:05:10

    在 java 上进行 AES128/ECB/PKCS5Padding 加密解密是很简单的 public static String aesDecrypt(String str,String key) throws Exception{ Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE,new SecretKeySp

  • Java泛型详解2022-08-07 01:30:27

    【转】Java泛型详解 对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。 本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。

  • Git多账户配置(SSH Key)2022-08-06 23:36:00

    实际生活中可能存在同一电脑需要配置多个Git账户的场景,一个账号用于工作内容提交,余下账号用于个人GitHub或者Gitee等仓库的管理,故在配置完毕做一小结。 如有需要,建议先看完再自行设置。 前置提示 原先本地已经生成了.ssh公钥的,建议删除文件再进行后续操作,可以先添加config

  • redis2022-08-06 22:33:32

    Redis 什么是redis? redis是一个key-value类型的内存数据库,整个数据库加载在内存当中操作,定期通过异步的方式把数据库的数据flush到硬盘保存,是一种非关系型(NOSQL)的数据库 优点: 因为数据是存储在内存中,所有读写速度非常快 支持数据的持久化 支持主从复制,主机自动将数据同步到从机,可

  • 2022-08-06 java之集合汇总2022-08-06 22:30:23

    [TOC](目录) 前言:集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要是指的内存层面的存储,不涉及到持久化的存储 。 数组在存储多个数据方面的缺点: - 一旦初始化以后,其长度就不可以修改。 - 数组中提供的方法十分有限,对于添加,删除,插入数据等操作时非常

  • 总结篇:redis 典型缓存架构设计问题及性能优化2022-08-06 22:01:19

    redis 典型缓存架构设计问题及性能优化总结: 缓存穿透 查询一个根本不存在的数据,缓存层和存储层都不会命中。通常出于容错的考虑,如果从存储层查不到数据,则不写入缓存层。 原因: 自身业务代码或数据有问题 恶意攻击等造成大量空命中 解决方案1:缓存空对象 解决方案2:布隆过滤器 当布隆

  • Redis-3.0.503 Zset类型操作-062022-08-06 20:04:30

    1.Zset类型 Redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字符串集合。 不同之处是有序集合的每个成员都关联了一个评分( score),这个评分 ( score )被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了。 因为元素是有序

  • Redis高级用法2022-08-06 19:04:26

    redis 特点: a.持久化 b.单进程、单线程 c.5大数据类型 redis={ k1:'123', k2:[1,2,3,], k3:{1,2,3,4}, k4:{name:123,age:666}, k5:{('alex',60),('EVA-J',80),('rt',70)} } 使用字典:

  • python计算耗时,可多次获取耗时2022-08-05 17:35:44

    定义 consoleTimeDict = {"默认": 0} def consoleTime(key="默认"): timeStart = time.time() consoleTimeDict[key] = timeStart return timeStart def consoleTimeEnd(key="默认"): timeStart = consoleTimeDict[key] timeE

  • c# EF Core Or修改为Union优化,速度大幅度提升!2022-08-05 17:33:46

    最近在优化代码时发现linq 采用了||查询导致查询效率非常慢,查询语句出现扫表情况, 采用了Union大大提升了效率,解决了问题 优化c# 前的linq: dateTime = dateTime.Date; DateTime BegTime = dateTime; DateTime EndTime = dateTime.AddDays(1);

  • 幂等方案2022-08-05 16:00:12

      幂等方案的实现方式多种多样,可以利用mysql的唯一索引方式,或者redis的setnx方式。通常还是使用redis的方式,因为设置过期时间可以方便的清理掉不再需要的数据。    服务端做幂等 ① 服务端提供获取 Token 的接口,该 Token 可以是一个序列号,也可以是一个分布式 ID 或者 UUID 串

  • Redis命令2022-08-05 14:33:41

    启动关闭redis服务命令: 微信交流群:Java技术沟通群⑤(点击加入) 启动:redis-server 开启服务:redis-server 进入:redis-cli -h localhost -p 6379 ☁ ~ redis-server ☁ ~ redis-cli -h localhost -p 6379 localhost:6379> Windows服务 D:\software\Redis-x64-3.2.100>redis-serv

  • synchronized 使用 String 做锁定互斥2022-08-05 12:36:44

    背景 根据方法传入的字符串,做相同字符串的互斥操作 思路 1、使用 string.intern() 方法 -- 不推荐 2、自己定义个工厂 自己使用工厂实现 实现 package com.example.demo; import lombok.Data; import org.springframework.util.StringUtils; import java.util.concurrent.Con

  • 使用git bash 生成GPG key和配置到idea2022-08-05 11:04:29

    查看git 版本 git --version #2.31.1.windows.1 生成GPG key gpg版本小于gpg (GnuPG) 2.1.17的使用命令: $ gpg --full-generate-key 一般使用: $ gpg --gen-key 按提示输入配置信息 Type of the key: RSA Key size: at least 4096 bits Key validity period: 1 year (it's a good

  • SQL Server查询优化2022-08-05 10:02:57

    从上至下优化 看过一篇文章,印象深刻,里面将数据库查询优化分为四个大的方向 使用钞能力——给DB服务器加物理配置,内存啊,CPU啊,硬盘啊,全上顶配 替换存储系统——根据实际的业务情况选择不同的存储数据库,比如用ES做全文检索 优化存储结构——比如采用分库分表,CQRS(命令查询职责分离),

  • 3、约束条件2022-08-05 06:31:51

    3.1default默认值 # 插入数据的时候可以指定字段create table t1( id int,   name char(16));insert into t1(name,id) values('haha',1); default使用方法 create table t2( id int,   name char(8),   gender enum('male','female') default 'male&

  • Vue中的mixin2022-08-05 02:02:45

    mixin Mixin是面向对象程序设计语言中的类,提供了方法的实现。其他类可以访问mixin类的方法而不必成为其子类 Mixin类通常作为功能模块使用,在需要该功能时混入,有利于代码复用又避免了多继承的复杂 Vue中的mixin 官方定义:mixin(混入),提供了一种非常灵活的方式,来分发Vue组件中的可复

  • 专题1-按键驱动程序设计-第3课-按键驱动硬件操作实现2022-08-05 00:03:16

    1、回顾裸机玩中断写的程序 底下这个程序主要就是把GPIO的功能设置为中断功能,这样当中断发生了就通过读该寄存器的值判断。 #define GPFCON (volatile unsigned long *)0x56000050 /* * K1,K2,K3,K4对应GPF1、GPF4、GPF2、GPF0 */ #define GPF0_int (0x2<<(0*2)) #define

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

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

ICode9版权所有