对通义千问做一次技术面试(第一个问题就挂了)

2023-07-16
阅读 2 分钟
350
问:对一个系统的描述如下:系统中有大量注册用户,用户可以关注其他用户。用户可以发布消息,消息包含发布者、发布时间和可见性。消息的可见性可以是公开、不公开或仅对关注自己的用户可见。请设计这个系统的数据库表。

Spark 集群执行任务失败的故障处理

2023-02-23
阅读 1 分钟
1k
在 Spark Master 管理界面上看到任务的 Driver 地址不是真实 IP 地址,而是一个叫做“host.containers.internal”的主机名;

对 ChatGPT 做一次技术面试(ChatGPT 没能通过)

2023-02-10
阅读 5 分钟
5.2k
问:对一个系统的描述如下:系统中有大量注册用户,用户可以关注其他用户。用户可以发布消息,消息包含发布者、发布时间和可见性。消息的可见性可以是公开、不公开或仅对关注自己的用户可见。请设计这个系统的数据库表。
封面图

SSH 公钥私钥的生成管理

2022-09-26
阅读 1 分钟
2k
一、生成公钥/私钥对生成公钥/私钥对的命令(Windows/Linux): {代码...} 参数说明:-b 4096:表示密钥的长度,建议 4096 起。-C 张三:在公钥末尾加上注释,表名这是谁的公钥。-N password:设置私钥密码。如果想在生成过程中输入密码,可以不用这个参数。-f [file]: 设置生成的密钥保存文件名,生成成功后会得到 [fil...
封面图

关于Java的取时间戳方法的争论

2022-01-13
阅读 3 分钟
2.1k
Java有两个取时间戳的方法:System.currentTimeMillis() 和 System.nanoTime(),它们的使用场景是有区别的,当前网上一些文章对于这两个方法的性能讨论存在一些片面的描述,本文希望能给出一个简单的最终答案。
封面图

【实用】Bash 常用脚本片段

2021-12-20
阅读 3 分钟
2.6k
这段脚本非常有用,你只要在你的脚本开头加上下面的内容,就能以 --param value 的格式解析参数。由于这段脚本尽可能写的短小不占空间,所以格式方面会要求所有的参数都有值,例如不接受无参数的 --daemon,而必须传 --daemon true。
封面图

如何在 Java 11 下运行 RocketMQ

2021-12-10
阅读 1 分钟
5.7k
说到这里我想劝各位发布类似开源项目的时候,脚本里面不要带上一大堆的 -XX: 调优参数,这些应该交给用户自己去调整,因为你不知道用户用的是什么 JVM,你不要强行帮用户去“优化”,只要留个口子就行了。
封面图

Java 9-16 新增语法元素一览

2021-03-25
阅读 7 分钟
3.3k
随着 Java 16 的正式发布(以及长期支持版 17 的即将到来),还在用 Java 8 的小伙伴们可能已经觉得有太多东西要学了。本人将整理从 Java 9 到 Java 16 带来的主要新特性,按照分类陆续展示供大家参考。
封面图

为什么我们不应该写长方法

2021-01-10
阅读 2 分钟
1.8k
初学者在学习了语法和一堆的 API 之后,就会尝试自己写一些具有完整功能的程序。这个过程当中很容易养成写一个上百行甚至几百行的方法的习惯。总的来说,这是思维当中缺少抽象、设计和封装的表现。随着编程经验的丰富,总会有克服的一天。
封面图

理解 MyBatis 是如何在 Spring 容器中初始化的

2020-11-09
阅读 5 分钟
3.7k
MyBatis 初始化过程就是生成一些必须的对象放到 Spring 容器中。问题是这个过程到底生成了哪些对象?当遇到 MyBatis 初始化失败时,如何正确的找到分析问题的切入点?本文将针对这些问题进行介绍。
封面图

Windows 如何手动将程序加入自动启动

2020-10-23
阅读 1 分钟
1.2k
有的软件没有登录自启动的选项,我们可以简单的自己操作。1. 按 Win + R 组合键,打开运行对话框2. 输入 shell:startup这样就能打开启动文件夹:3. 粘贴快捷方式将你想要自动启动的程序快捷方式粘贴到这个文件夹里即可。

TiDB 插入性能测试和优化

2020-09-29
阅读 1 分钟
5.5k
环境一共 4 个 TiKV 实例,CPU 数量每个实例 30-40 核不等。需要特别说明的是 TiKV 都是机械硬盘,不是 SSD!插入数据插入数据量 80000 条左右,只有两个字段。单线程批量插入可以看到单线程批量 insert 效率非常低,OPS 只有 100 左右,80000 条记录插入花了差不多 13 分钟。这个过程中 TiKV 实例的 I/O 比较紧张。按照...

CompletionService 介绍

2020-08-13
阅读 4 分钟
5.1k
java.util.concurrent.CompletionService 是对 ExecutorService 的一个功能增强封装,优化了获取异步操作结果的接口。
封面图

Jackson 快速入门

2020-07-14
阅读 6 分钟
6k
本文是对 Jackson 的快速入门介绍,主要分为四部分:基本使用基础配置自定义序列化/反序列化对泛型的处理上面这几个话题足以覆盖日常开发的场景了。限于篇幅所限,本文力求读者读完后能掌握 Jackson 在日常使用中的绝大部分场景,以及了解如何着手探索 Jackson 的深层定制。基本使用引入 Jackson本文假设读者熟悉 Maven ...

关于 Immutable Object 模式适用场景的探讨

2020-06-10
阅读 1 分钟
2.8k
Immutable Object 模式是一种将对象设计为一旦创建就不能修改其属性值,所有的属性值都只有 getter 方法没有 setter 方法的模式。

实现限制执行频率的线程池

2020-05-19
阅读 3 分钟
4.6k
Java 中的线程池类叫做 ThreadPoolExecutor,它的执行机制,简单讲就是启动多个线程,不停的从队列里面取任务执行。但是我们可能遇到下面这样的场景:

MyBatis 如何实现流式查询

2020-04-26
阅读 3 分钟
14.6k
如果没有流式查询,我们想要从数据库取 1000 万条记录而又没有足够的内存时,就不得不分页查询,而分页查询效率取决于表设计,如果设计的不好,就无法执行高效的分页查询。因此流式查询是一个数据库访问框架必须具备的功能。
封面图

快速理解 HTTP/2

2020-04-08
阅读 2 分钟
1.2k
之所以制定 HTTP/2,是为了弥补 HTTP/1.1 存在的缺陷。HTTP/1.1 从 1999 年公布至今,已经开始不能使用互联网的发展了,主要体现在:
封面图

【译】【Java】【多线程】饥饿与公平

2020-03-04
阅读 5 分钟
2.8k
译注:本文展示了实现一个多线程同步工具类的过程当中,会遇到和解决那些与并发有关的问题。关于锁的更详细的文章,以及现实当中应该用哪种公平锁,推荐这篇文章。

MySQL 的 LIMIT 查询优化

2020-02-18
阅读 1 分钟
3.2k
如果 LIMIT N 和 ORDER BY 组合起来用,那么 MySQL 不会对整个查询结果集排序,而是在找到满足条件的 N 条记录后就停止对剩余的记录排序。如果排序是通过索引来进行的话,这会非常快。否则的话,如果出现 filesort 的情形,那么所有满足条件的记录都会被选取参与排序,排序过程依然是找到满足条件的 N 条记录后停止。

Java 线程池快速入门

2019-12-06
阅读 3 分钟
2.9k
一、线程池是哪个类?java.util.concurrent.ThreadPoolExecutor 这个类。在搞清楚这个类怎么用之前,我们先要过一遍基本概念。二、线程池基本概念线程池由两个部分组成:池和任务队列。池中有很多线程用于执行任务,而任务队列则是用于缓存将要执行的任务。池中的线程都是并发执行,因此池越大,可以同时处理的任务就越...
封面图

MySQL 的时间进位问题

2019-11-30
阅读 2 分钟
8.5k
MySQL 当中默认的时间类型(datetime 和 timestamp)的精度是秒,如果设置进去的时间值精度小于秒的话,就会被四舍五入,可能导致数据库中的值比原始值多了一秒。也就是说,本来属于今天的记录可能会被记到明天。
封面图

XShell 的替代品 FinalShell

2019-09-30
阅读 2 分钟
23.7k
很多人在 Windows 下第一个接触的 SSH 终端工具是 XShell 或 SecureCRT,他们都是收费的,XShell 目前的价格是 人民币 899 元,SecureCRT 则是 99 美金/年。

(4/4)Java 垃圾回收监控和分析工具

2019-09-27
阅读 5 分钟
3.4k
In this Java garbage collection tutorial series let us look about the tools available for garbage collection monitoring and analysis. Then use a tool and monitor an example Java application for garbage collection process. If you are a beginner it is better for you to go through this series of tut...

(3/4)Java 垃圾回收方式

2019-09-20
阅读 6 分钟
2.7k
In this tutorial we will go through the various type of Java garbage collectors available. Garbage collection is an automatic process in Java which relieves the programmer of object memory allocation and de-allocation chores. This is the third part in the garbage collection tutorial series. In th...

(2/4)Java 垃圾回收的运行机理

2019-09-17
阅读 10 分钟
2k
This tutorial is to understand the basics of Java garbage collection and how it works. This is the second part in the garbage collection tutorial series. Hope you have read introduction to Java garbage collection, which is the first part.本系列教程用于帮助读者了解 Java 垃圾回收的基本概念和运作机...

(1/4)Java 垃圾回收介绍

2019-09-17
阅读 5 分钟
2.2k
In Java, allocation and de-allocation of memory space for objects are done by the garbage collection process in an automated way by the JVM. Unlike C language the developers need not write code for garbage collection in Java. This is one among the many features that made Java popular and helps pr...

如何搭建 MongoDB 分片(无主从)

2019-07-26
阅读 2 分钟
1.5k
首先,在运行分片的服务器上将 MongoDB 准备好。我们需要规划: 一台配置服务器,用来保存分片信息以及协调数据存储; 若干台分片服务器,用来保存数据本身; 一个 broker 服务器,用来执行分片操作,同时也是客户端的访问入口。 1. 启动分片服务器 此时我们先将每个分片服务器独立运行起来,同时加上 --shardsvr 参数,...

[IntelliJ] 在格式化代码的同时去掉空的 javadoc 标记

2019-04-13
阅读 1 分钟
2.4k
在右边选中 JavaDoc 标签页,勾选 “Enable JavaDoc formatting”,去掉勾选 Invalid tags 下面最后三个选项框。

Alibaba Sentinel(1):快速上手

2019-04-10
阅读 5 分钟
4.6k
该项目的地址是 [链接] 。但是阿里的文档一贯看起来一头雾水,所以本文介绍如何用一个最简单的项目来上手。如果你熟悉 Spring Boot,那么几分钟就可以搞定。