自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 讨论Java中的对象都是在堆上分配的吗?

写在前面从开始学习Java的时候,我们就接触了这样一种观点:Java中的对象是在堆上创建的,对象的引用是放在栈里的,那这个观点就真的是正确的吗?如果是正确的,那么,面试官为啥会问:“Java中的对象就一定是在堆上分配的吗?”这个问题呢?看来,我们从接触Java就被灌输的这个观点值得我们怀疑。关于面试题标题中的面试题为:Java中的对象都是在堆上分配的吗?面试官这样问,有些小伙伴心里会想:我从一开始学习Java时,就知道了:Java中的对象是在堆上创建的,对象的引用是存储到栈中的,那Java中的对象

2020-09-22 13:31:53 154

转载 分享Jackson精解-@JacksonInject与@JsonAlias注解

Jackson是Spring Boot(SpringBoot)默认的JSON数据处理框架,但是其并不依赖于任何的Spring 库。有的小伙伴以为Jackson只能在Spring框架内使用,其实不是的,没有这种限制。它提供了很多的JSON数据处理方法、注解,也包括流式API、树模型、数据绑定,以及复杂数据类型转换等功能。它虽然简单易用,但绝对不是小玩具,更多的内容我会写成一个系列,5-10篇文章,请您继续关注我。《序列化与反序列化核心用法-JSON框架Jackson精解第1篇》《特殊数据格式处理-JSON

2020-09-22 13:18:05 156

原创 关于Registry 容器镜像服务端问题

引言通常我们在使用集群或者容器的时候,都会接触到存储在本地的镜像,也或多或少对本地镜像存储有一定的了解。但是服务端的镜像存储细节呢?本文主要介绍容器镜像的服务端存储结构,对于自建镜像服务或是对容器镜像底层原理或优化有兴趣的同学可以了解一下。相关开源项目目前容器镜像服务相关的开源项目主要有以下两个。Registry (https://github.com/docker/distribution)Harbor (https://github.com/goharbor/harbor)Registry

2020-09-22 13:15:08 530

原创 如何数据库性能优化不不讲解!

TSQL语法习惯和规范1,TSQL语法习惯和规范(一切不是教条主义)目标:编写健壮的sql语句,生成更加高效的执行计划所有的性能优化中,理论基础固然重要,但往往经验比理论更重要;经验说明你踩过的坑多;但解决问题的能力也建立在你的知识积累和思考你可以尝试建立一些烂表,烂数据结构,然后尝试优化它优秀的数据结构往往反映了你的领域模型查询语句下面我们以以下这条查询语句来分析Sql的语法规范:UserInfo表,10万行数据,主键Id,非聚集索引UserCodeEmployee表,100万行数据,无

2020-09-13 13:31:30 174

原创 分享关于Linux驱动设备操作集file_operations

前言在上一篇文章中,我们学习了驱动的基本框架。这一章,我们会在上一章代码的基础上,继续对驱动的框架进行完善。要下载上一篇文章的全部代码,请点击这里。1.字符设备的四个基本操作驱动让用户程序具备操作硬件设备的能力,那么对硬件设备有哪些操作呢?在学习编程语言时,我们都学过对文件的操作,包括打开文件、关闭文件、读文件、写文件这四个基本操作。对于Linux来说,一切设备皆文件,所以对设备的基本操作也可以分为打开、关闭、读、写这四个。而对于设备(已字符设备为例),Linux提供了一个操作集合——file_ope

2020-09-13 13:19:36 492

原创 如何动手编写动态数组Java

数组基础回顾1、数组是一种常见的数据结构,用来存储同一类型值的集合2、数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致3、数组是一种顺序存储的线性表,所有元素的内存地址是连续的4、例如:new 一个int基本类型的数组arrayint[] array = new int[]{11,22,33};在这里插入图片描述5、数组的优势与劣势数组具有很高的随机访问能力,通过数组下标就可以读取对应的值数组在插入与删除元素时,会导致大量的元素移动数组的长度是固定的,无法动态扩容,在实际

2020-09-13 13:12:01 228

原创 分享自定义链表细节流程

前言在前面的实现的动手写个Java动态数组里,虽然对于用户而言,看是实现了动态扩容的功能,实际上,只是依托底层写的方法ensureCapacity在数组容量不足的时候,对重新申请一个原数组1.5倍容量的新数组,再将原有数组中存放的元素复制到新数组来,数组指针指向新数组,从根本上来说,这并不是真正的动态。同时,数组的拷贝,以及数组申请的空间并未全部存储元素,会降低效率,也会造成内存空间的浪费,但这对于链表来说,并不是个问题,链表是做到了用多少内存就申请多少内存空间,这才是真正的动态数据结构。概念什么是

2020-09-13 13:05:51 114

原创 带你发现藏在Java数组的背后的知识点

目录引言 概念 区别于C/C++数组 区别于容器数组特性 随机访问 Java数组与内存 解惑数组的本质 Java中的数组是对象吗? Java中数组的类型 Java中数组的继承关系参考资料引言概念数组是数据呈线性排列的一种数据结构,它用一组连续的内存空间,来存储一组相同数据类型的数据,表示一组相同类型的数据的集合,具有固定的长度,并且在内存中占据连续的空间。数组是基本上所有语言都会有的一种数据类型,是我们在开发过程中经常

2020-09-12 13:34:04 159

原创 关于Redis如何助力高并发秒杀系统详细介绍

秒杀业务在电商领域,存在着典型的秒杀业务场景,那何谓秒杀场景呢。简单的来说就是一件商品的购买人数远远大于这件商品的库存,而且这件商品在很短的时间内就会被抢购一空。比如每年的618、双11大促,小米新品促销等业务场景,就是典型的秒杀业务场景。秒杀业务最大的特点就是瞬时并发流量高,在电商系统中,库存数量往往会远远小于并发流量,比如:天猫的秒杀活动,可能库存只有几百、几千件,而瞬间涌入的抢购并发流量可能会达到几十到几百万。所以,我们可以将秒杀系统的业务特点总结如下。(1)限时、限量、限价在规定的时间内进

2020-09-12 13:32:08 83

原创 解析taro-script 0.4 基于Taro v3的js解释器组件流程

taro-scriptGithub地址基于Taro v3开发,支持多端小程序动态加载远程 JavaScript 脚本并执行,支持 ES5 语法最近更新内容新增useScriptContext获取当前执行上下文参数名称调整:useCache -> cache缓存策略调整新增text属性,可直接传入js字符串src支持数组,解决多层TaroScript嵌套问题Usagenpm install --save taro-scriptimport TaroScript from “tar

2020-09-12 13:30:34 118

原创 分享自己的Fragment时长统计笔记

注:本文同步发布于微信公众号:stringwu的互联网杂谈 frament时长统计那些事页面停留时长作为应用统计的北极星指标里的重要指标之一,统计用户在某个页面的停留时长则变得很重要。而Fragment作为Android中页面的重要组成部分,其停留时长的统计就显得非常重要。目前业界能搜索到的方案,主要有两种方案:业务继承于某一个特定的 Fragment;直接通过Fragment的生命周期方法来统计页面的时长;方案一对于业务的侵入性过高,业务只有接入特定的Fragment,才能统计其时长。方案二适用

2020-09-12 13:27:22 800 1

原创 关于java集合之ConcurrentSkipListMap源码分析

今天我们说说,java集合之ConcurrentSkipListMap源码分析——发现个bug,对java感兴趣学员,一起跟课课家小编看看java集合之ConcurrentSkipListMap源码分析——发现个bug究竟是什么回事?简介跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。存储结构跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找

2020-09-11 13:57:21 127

原创 分享详解增强算术赋值:“-=”操作是怎么实现的?

花下猫语: 本篇译文仍是 Brett 大佬的“Python语法糖”系列,他在演示“-=”操作的实现时,竟发现 CPython 的一个 bug,顺手就修复了,这才是大佬……原题 | Unravelling augmented arithmetic assignment作者 | Brett Cannon译者 | 豌豆花下猫(“Python猫”公众号作者)声明 | 本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议。为便于阅读,内容略有改动。序言本文是 Python语法糖 系列

2020-09-11 13:52:18 171

原创 分享如何编写 .NET 微服务

介绍本文的目的是:通过创建一个返回列表的简单服务,并在 Docker 容器中运行该服务,让您熟悉使用 .NET 创建微服务的构建过程。安装 .NET SDK要开始构建 .NET 应用程序,首先下载并安装 .NET Core SDK(软件开发工具包)。根据操作系统的类型下载并安装对应版本的 .NET Core SDK v3.1:.NET SDK (64-位) 或 .NET SDK (32-位)全部 .NET SDK 下载页面(Download .NET SDKs for Visual Studio)

2020-09-07 15:08:15 636

转载 关于java的List集合对象去重及按属性去重的8种方法

最近在写一些关于java基础的文章,但是我又不想按照教科书的方式去写知识点的文章,因为意义不大。基础知识太多了,如何将这些知识归纳总结,总结出优缺点或者是使用场景才是对知识的升华。所以我更想把java相关的基础知识进行穿针引线,进行整体上的总结。总结java中创建并写文件的5种方式总结java从文件中读取数据的6种方法总结java创建文件夹的4种方法及其优缺点总结java中删除文件或文件夹的7种方法总结java中文件拷贝剪切的5种方式比如之前我已经写了上面的这些内容,如果对java基础知识总结

2020-09-07 15:06:36 4126

原创 分享最新版本torchvision.transforms常用API翻译与讲解

参考目录:目录1 基本函数 1.1 Compose 1.2 RandomChoice 1.3 RandomOrder2 PIL上的操作 2.1 中心切割CenterCrop 2.2 随机切割RandomCrop 2.3 随机比例切割 2.4 颜色震颤ColorJitter 2.5 随机旋转RandomRotation 2.6 灰度化Grayscale 2.7 size 2.8 概率随机(常用)3 Tensor上的

2020-09-07 15:04:15 324

原创 我用 Java 8 写了一段逻辑分享给大家!看看有什么精妙之处!

业务背景首先,业务需求是这样的,从第三方电商平台拉取所有订单,然后保存到公司自己的数据库,需要判断是否有物流信息,如果有物流信息,还需要再进行上传。而第三方接口返回的数据是 JSON 格式的,其中物流信息却藏的十分深,如下面所示,JSON 节点是这样的:xxxOrder > xxxShippingInfo > xxxShipmentDetails > xxxTrackingInfo > trackingNumber, trackingLink基本实现因为第三方接口返回的数

2020-09-03 14:39:31 109

原创 分享笔记RabbitMQ高级之消息限流与延时队列

楔子本篇是消息队列RabbitMQ的第五弹。上篇本来打算讲述RabbitMQ的一些高级用法:如何保证消息的可靠性?消息队列如何进行限流?如何设置延时队列进行延时消费?最终因为篇幅缘故,上篇只讲了如何保证消息的可靠性?,本篇将会把剩下两个讲完,本篇也可能是RabbitMQ系列的最后一篇了~我所讲的知识点在工作中基本上也够用了,希望大家好好消化。旧坑填上之后可能会慢慢开新坑了,同时因为现在到九月中旬这段时间我有一场考试需要筹备,所以文章更新可能会比较慢,但是一周一更算是最低限度把,希望大家多多

2020-09-03 14:37:45 149

转载 讲解关于Mutability的可变性

目录简介可变对象和不可变对象创建mutable对象的拷贝为mutable类创建copy方法不要相信equals不要直接暴露可修改的属性public static fields应该被置位finalpublic static final field 应该是不可变的简介mutable(可变)和immutable(不可变)对象是我们在java程序编写的过程中经常会使用到的。可变类型对象就是说,对象在创建之后,其内部的数据可能会被修改。所以它的安全性没有保证。而不可变类型对象就是说,对象一旦

2020-09-03 14:36:13 117

原创 如何让DJL 之 Java 玩转多维数组

一、前言随着数据科学在生产中的应用逐步增加,使用 N维数组 灵活的表达数据变得愈发重要。我们可以将过去数据科学运算中的多维循环嵌套运算简化为简单几行。由于进一步释放了计算并行能力,这几行简单的代码运算速度也会比传统多维循环快很多。这种数学计算的包已经成为数据科学、图形学以及机器学习领域的标准。同时它的影响力还在不断的扩大到其他领域。在 Python 的世界,调用 NDArray(N维数组)的标准包叫做 NumPy。但是如今在 Java 领域中,并没有与之同样标准的库。为了给 Java 开发者创造同一种

2020-09-03 14:33:22 566 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除