自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 深入理解JVM - 阅读笔记之思维导图 - 目录

深入理解JVM - 阅读笔记之思维导图阅读前须知目录总图阅读前须知本博客的主要作用是记录我在阅读《深入理解Java虚拟机》(周志明著)时的一些阅读笔记,此笔记是采用思维导图的形式记录的,较原书而言较为精简,但可能存在一些错误,如果有错误请在评论区指出,我会尽快修改。在本思维导图中,会看到一个如下图所示的一个小记号,代表笔记/注释,在对应章节的底部我会列出来关于这个笔记/注释的一些具体信息。...

2019-04-07 22:36:48 5462 10

原创 ant design vue createFromIconfontCN中的scriptUrl引入本地文件方案

背景说明:本项目使用vue 3,ant design vue v5,vite 构建。本篇博客实现ant design vue中提供的createFromIconfontCN方法引入本地文件的方案。如果你想要直接了解解决方案,那么你可以将上文中的替换成来实现,这样就可以导入本地的文件。下面是详细的解决方案。

2024-01-14 23:28:32 663

原创 Graylog 更改显示的时区(Display timezone)

每个 Graylog 用户都可以配置他们的显示时区。这会更改用于查看日志消息的时区,但不会更改日志消息的原始时区。默认情况下,Graylog 显示 UTC 格式的所有时间戳。这样调整后重启 Graylog 服务器就可以看到时间是北京时间了。:Admin 的时区只能通过 Graylog 服务器。

2023-08-29 00:23:57 1107

原创 Ubuntu 22.04 通过 Docker 启动 Graylog

这里以 Ubuntu 22.04 举例,如果你和我的系统一样,那么可以照抄下面这个命令来快速安装 docker。如果不是,你也可以来跳转到 Docker 官网来实现安装。$(-cs接下来需要安装 Docker-Compose。

2023-08-28 20:46:14 1279

原创 手把手带你跑通网站上线全流程(一个简单的HTML和Python服务端完整上线流程)

我将向你介绍如何将一个网站部署到公网,包含完整流程。

2023-08-12 21:56:08 618

原创 别让学历成为制约自己的枷锁 - 我一个二本毕业生如何进入字节跳动?

项目开发完后我也进入大三了,我又开始迷茫,不知道下一步是做什么,身边也没有太多的机会,再往下学就是一些屠龙技,平时用不上。在实习的时候我感受到学生和职场人士之间的差异,包括思维方式、处理事情的方法,以及更为规范、流程化的团队合作方式。我能做的就是继续保持积极主动,而且很幸运的是在实习公司带我的导师也是很负责的人,经过他的指导,我完成了导师认为难度很大的工作,在同期实习生中得到了最高一档的评价,也拿到了当年最高一档的offer。

2023-08-11 11:44:59 566

原创 获取 navigator.mediaDevices.getUserMedia 失败

在开发的时候调用下面这段代码是正常工作的,但是用其他设备(如ios,safari,android等任何非本机设备)打开我本地开发环境运行的dev环境就无法调用。

2023-06-07 17:52:00 3443

原创 为什么 nil != nil? Go “==“ 机制详解

这篇文章源于代码中关于 nil 判断的一个问题,我将从这里例子开始慢慢讲解。先从一段代码看起,下面这个代码是将传入的对象转换成 JSON string并返回回去,其中,如果判断 i==nil 时,会返回""。func ToJSONString(i interface{}) string { if i == nil { return "" } bytes, _ := json.Marshal(i) return string(bytes)}这段代码初看并没有太.

2021-07-30 12:35:36 569

原创 10分钟上手 Go 函数式编程

先来说一个简单的例子,加减乘除。var add = func(a, b int) int { return a + b }var multiply = func(a, b int) int { return a * b }var result = multiply(add(1, 2), add(3, 4))这是一个简单的函数,用一个数学上的例子是为了后续将其更改为函数式的写法,目前来看,这个函数还简单的很,后续我会使用函数式的方式改写它。考虑到Go对函数式支持的并不是非常好,且由于确实泛型,所以容

2021-07-29 21:04:53 768

转载 【Go】高效截取字符串

本文作者: 戚银(thinkeridea)本文链接: https://blog.thinkeridea.com/201910/go/efficient_string_truncation.html版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!最近我在 Go Forum 中发现了 [SOLVED] String size of 20 character 的问题,“hollowaykeanho” 给出了相关的答案,而我从中发现了截取字符串的方案.

2021-04-07 16:56:39 6019

原创 Linux解决端口占用

首先用lsof查看端口号被谁占用了$ sudo lsof -i:7000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEfrps 17163 root 7u IPv6 51457487 0t0 TCP *:ospf-lite (LISTEN)上面的PID就是占用该端口的应用,如果提示command not found之类的,可以先通过yum -y install lsof或apt -y install l

2021-03-24 20:07:01 397

原创 Win10 IPv6 远程桌面连接(小米路由器)

背景由于家里是移动网,且懒得向运营商要公网IPv4,所以想着用IPv6试一下。家里的环境是这样的:宽带用的是移动的,没有公网IPv4,但经过测试发现IPv6是公网的上网通过光猫拨号,而不是通过路由器路由器是小米AC2100光猫更改为桥接模式路由器必须要通过PPPoE拨号,如果是光猫拨号,那么要找对应的维护人员辅助你把光猫改成桥接模式。通过PPPoE拨号路由器就能够拿到公网的IPv6网段,也就可以给底下的其他服务分配公网IPv6了。而如果是光猫拨号,那么只有路由器可以拿到公网的IP。其他的设

2021-03-24 09:57:18 14423 4

原创 Golang 并发编程实战——协程、管道、select用法

在阅读本文前,我希望你有一定的Go语言基础,以及一部分关于协程的使用经验。本文旨在帮助你使用高级并发技巧,其主要包含了以下几个部分:goroutine的基本用法;使用chan来实现多个goroutine之间的通信;使用select关键字来处理超时等。文章目录一个简单的例子Go 管道的用法一个简单的使用方法如下【知识点】Chan的概念【案例讲解】两个线程输出数据通过两个管道实现合并管道协程间通信【案例讲解】设定超时等待时间一个简单实现【知识点】select 解析【实战】模拟Google搜索服务Google

2021-03-20 15:11:41 454

原创 计算机专业大学生必备:Docker基础用法

大多数计算机专业的学生都需要学习数据库原理,不管是MySQL、Oracle还是SQL Server,都需要大量的安装时间,甚至可能会安装失败。如果你想要学习不同版本的数据库有什么区别,那几乎做不到。很多情况下,这些技能并不需要你去掌握,也就是我们常说的边际效用很低。除了数据库软件以外,在Web项目中,你可能会需要其他的应用服务,如Redis,FTP服务等。通常来说,一个个的去下载安装不仅费时费力,而且还很难复用环境。这也是我第一个要教你的东西。学习 Docker 的基础功能Docker是什么,简单来说

2021-03-15 16:13:41 2016 10

原创 Go int, int64,string 互相转换

int int64 string 互相转换// string to inta, err := strconv.Atoi("123456") // a = 123456(int)// string to int64b, err := strconv.ParseInt("1234567890123456", 10, 64) // b = 1234567890123456(int64)// int to stringc := strconv.Itoa(123456) // c = "123456"

2020-11-19 20:52:06 184

原创 MySQL数据库实现分布式锁 | 乐观锁 | 比较并交换(CAS)

概述在只有一台机器的情况下,我们也会碰到类似的情况,比如在多个线程需要访问某个共享资源的时候,我们就可以采用加锁的形式。在Java中,一个简单的办法就是使用synchronized关键字来对方法或者变量加锁。...

2020-08-25 17:36:23 623

原创 Java List无法删除元素;List.remove(Obj)异常;UnsupportedOperationException异常

先来看一段代码public void func(String src) { String string = "abc,def,ghi,jkl,mno,pqr" List<String> words = Arrays.asList(string.split(",")); words.removeIf(word -> word.equals(src));}上面这段代码就是将数组拆成List,随后删除其中等于src的部分。这段代码抛出了异常Unsupported

2020-08-24 12:29:38 406

原创 3. 聚合结果、分析数据 | elasticsearch

<< 上一篇 搜索数据本章将会讲解如何使用es来帮助你聚合数据,回答复杂问题,如:“得克萨斯州哪个地区的账户持有者最多”,“纽约的客户平均余额是多少”。下面将会演示使用 terms 关键字聚合所有用户 state 字段,并降序返回账户数量最多的10个州:curl -X GET "localhost:9200/bank/_search?pretty" -H 'Content-Type: application/json' -d'{ "size": 0, "aggs": {

2020-08-14 18:25:32 305

原创 2. 开始搜索 | elasticsearch

<< 上一篇 索引你的数据在执行搜索之前,我们准备了一份数据,可以通过curl来下载。下面的代码将会下载文件,并将其添加到我们的数据库中curl https://gitee.com/timczm/el-learning/raw/master/account.json -o account.jsoncurl -H "Content-Type: application/json" -XPOST "localhost:9200/bank/_bulk?pretty&refresh" --d

2020-08-14 17:40:01 164

原创 1. 索引你的数据 | elasticsearch

在创建了集群后(如何创建单实例的集群?),我们就可以向es中插入数据。这里的数据是以json形式组织的。我们可以通过一个简单的PUT请求直接执行此操作,该请求指定要添加文档的索引,唯一的文档ID以及需要插入的json串,如下:curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d'{ "name": "John Doe"}'如果该请求customer尚不存在,此请求

2020-08-14 16:08:33 98

原创 0. 安装 ElasticSearch,通过 docker | elasticsearch

对于简单的学习来说,从docker中下载是非常合适的。docker pull docker.elastic.co/elasticsearch/elasticsearch:7.8.1docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.8.1有时候,你会考虑需要kinana,那么docker pull docker.ela

2020-08-14 15:09:08 144

原创 mysql 编码的的坑——utf8不是UTF-8?

这两天我碰到一个bug,在向数据库插入数据的时候提示错误:1366 - Incorrect string value: '\xF0\x9F\x91\xA6' for column 'name' at row 1我当时排查了一段时间,发现症状出现在我的输入上——有一个 emoji 字符。这我就很好奇了,utf8难道不能存储emoji吗?号称可以存储所有字符的 utf8 就这?当时找到的解决方案是,将utf8改成utf8mb4就可以了(想到这个的原因是因为另一张表里面存储的字符集是utf8mb4)。那么

2020-08-12 17:26:12 705

原创 深入理解JVM - 阅读笔记之思维导图 - 第 7 章 虚拟机类加载机制

文章目录章节概览笔记1. 遇到 `new`, `getstatic`, `putstatic`, `invokestatic` 这 4 条字节码指令时,类没有初始化时,则初始化该类2. 使用 java.lang.reflect 包进行 `反射` 时,类没有初始化,则初始化该类3. 将常量池内的符号引用替换为直接引用章节概览完整版的内容请点击这里完整版的内容请点击这里完整版的内容请点击这里...

2019-04-17 16:07:29 266

原创 深入理解JVM - 阅读笔记之思维导图 - 第 6 章 类文件结构

文章目录章节概览笔记1. Class 类文件`结构格式`一览2. 常量池具体`结构`3. 字段表修饰符 access_flags 采用了 `9/16` 个标志位4. 字段表 `描述符索引`5. 方法表修饰符 access_flags 采用了 `12/16` 个标志位6. 属性表集合 => Code 属性 => 所需的 `存储空间`7. 属性表集合 => Code 属性 =>...

2019-04-14 16:36:55 316

原创 深入理解JVM - 阅读笔记之思维导图 - 第 3 章 垃圾收集器与内存分配策略

文章目录章节概览笔记1. HotSpot 的算法实现 => 枚举根节点 => 采用 `准确式 GC`2. HotSpot 的算法实现 => 枚举根节点 => 存在 `GC 停顿`3. HotSpot 的算法实现 => 枚举根节点 => 利用 `OopMap` 的数据结构可以得知哪个地方存放着对象引用4. Serial / Serial Old 收集器5. Par...

2019-04-07 23:12:55 1134 3

原创 深入理解JVM - 阅读笔记之思维导图 - 第 2 章 JAVA内存区域与内存溢出异常

文章目录章节概览笔记1. 常见的有:`String.intern()`2. 不同线程预先分配不同的空间,称为 `TLAB` ,可通过设置来决定是否使用3. HotSpot虚拟机对象揭秘 => 对象的内存布局 => `对象头`4. 对象的对象访问 => `句柄`5. 对象的对象访问 => `直接指针`章节概览本章节分为 2 个部分,运行时数据区域和 HotSpot 虚拟机...

2019-04-07 22:30:59 775

原创 Git出现"Everything up-to-date"引发的一系列问题

我在使用IDEA工作的时候,执行了git add .和git commit -m "****"后,发现git push origin master不能工作,提示"Everything up-to-date"。经过排查发现当前的HEAD指针莫名其妙就没有指向任何分支(意思就是当前HEAD在的地方没有名字)。我错误的执行了git branch dev后,发现HEAD指针指向了dev分支,但是之前工作的...

2019-03-14 23:27:20 1648

原创 【最长回文子串】Manacher算法

文章目录题目:LeetCode.5 最长回文子串解法1:暴力法解法2:DP法求解最长公共子串解法3:Manacher算法题目:LeetCode.5 最长回文子串点击这里来查看题目来源。给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "...

2019-01-31 00:35:06 257

原创 【LeeCode】971.翻转二叉树以匹配先序遍历

题目给定一个有 N 个节点的二叉树,每个节点都有一个不同于其他节点且处于 {1, ..., N} 中的值。通过交换节点的左子节点和右子节点,可以翻转该二叉树中的节点。考虑从根节点开始的先序遍历报告的 N 值序列。将这一 N 值序列称为树的行程。(回想一下,节点的先序遍历意味着我们报告当前节点的值,然后先序遍历左子节点,再先序遍历右子节点。)我们的目标是翻转最少的树中节点,以便树的行程与给...

2019-01-26 01:06:09 254

原创 【LeeCode】974.和可被 K 整除的子数组

题目给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。示例:输入:A = [4,5,0,-2,-3,1], K = 5输出:7解释:有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]提示:1...

2019-01-25 00:47:40 377

原创 LeetCode - 买卖股票的最佳时机 II

1

2018-11-05 21:32:31 123

原创 2018年暑假心得

今年暑假我在学校了一个月(8.1-8.31),这一个月我主要是在设计和开发新版亲苍霞应用。 在还没有来学校之前我首先学习了JavaWeb的相关流行框架Spring和Spring MVC,虽然Spring MVC框架在后来的课程中没有涉及到,但是我认为这是一个较为新颖的技术,较SSH框架更为轻盈,适应敏捷开发。由于项目进度和时间原因,我没有继续学习SSM框架中的MyBatis框架,该框架主要是简化...

2018-09-04 16:28:09 130

原创 关于我,还有我的博客人生

该博客创建于2018年6月18日。这是我的第一篇博客,我会在未来的任何一个时间在这里添加一些说明。我为什么要开通我的博客// 创建时间: 2018年9月4日 在我初中和初中以前,我对于外界的认识方式停留在电视和偶尔可以使用的电脑上,我对于学习的态度就是差不多就好,所以我的学习成绩一直都是在中上游,从来没有接触到较高的水平,我对于学习的认知不足。在我高中的时候我有了我自己的手机,我...

2018-09-04 16:20:16 192

深入理解JVM 阅读笔记之思维导图(第 2, 3, 6 章)

本文件的主要作用是记录我在阅读 **《深入理解Java虚拟机》(周志明著)** 时的一些阅读笔记,此笔记是采用思维导图的形式记录的,较原书而言较为精简,并加入了一些个人的理解,但可能存在一些错误,如果有错误请在评论区指出,我会尽快修改。 需要注意的是,这个导图仅包含了原书第 2, 3, 6 章,更多的更新会在之后的时间不断更新。 请使用 MindMaster 软件来打开。 原博客链接:https://blog.csdn.net/timczm/article/details/89076051

2019-04-14

空空如也

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

TA关注的人

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