项目
文章平均质量分 92
不爱学习的辛
祝您早日学有所成,拿到满意offer。快速升职加薪,出任CEO,赢取白富美,走上人生巅峰。
展开
-
牛批!4个实验,彻底搞懂TCP连接的断开
前言 看到这个标题你可能会说,TCP 连接的建立与断开,这个我熟,不就是三次握手与四次挥手嘛。且慢,脑海中可以先尝试回答这几个问题: 四次挥手是谁发起的? 如果断电/断网了连接会断开吗? 什么情况下没有四次挥手连接也会断开? 这不是面试,而是遇到了实际问题,至于是什么问题,容我先卖个关子,本文也不会解答,后面会有一篇专门的文章来说遇到的问题是啥,所以在讲实际问题之前,先弄懂理论。 正常断开 我们由浅入深,先了解正常情况下 TCP 连接是如何断开的,下图为 TCP 三次握手与四次挥手的经典图(来自《TCP原创 2021-10-26 21:35:59 · 426 阅读 · 0 评论 -
深入理解Java虚拟机之类加载机制篇
概述 虚拟机把描述类的数据从 Class 文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,就是虚拟机的类加载机制。 在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然增加了类加载时系统额外的开销,但是能给 Java 应用程序提供高度的灵活性,Java 的动态扩展优势就依赖于运行期动态加载和动态连接来实现的。例如用户可以在编写一个面向接口的应用程序时,可以等到运行时再指定具体的实现类,还可以通过 Java 预定义的和原创 2021-10-25 19:47:41 · 102 阅读 · 0 评论 -
P8大佬透彻讲解java定时任务调度框架
java定时任务目前主要有三种: Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行;而且作业类需要集成java.util.TimerTask,一般用的较少。 Spring3.0以后自带的task,即:spring schedule,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多。 Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执原创 2021-10-24 20:20:34 · 2385 阅读 · 0 评论 -
如果你还不知道Apache Zookeeper?你凭什么拿大厂Offer!!
很多同学或多或少都用到了Zookeeper,并知道它能实现两个功能 配置中心,实现表分片规则的统一配置管理 注册中心,实现sharding-proxy节点的服务地址注册 那么Zookeeper到底是什么?以及为什么能实现这样的功能?接下来我们就来了解一下Zookeeper。 Zookeeper的前世今生 Apache ZooKeeper是一个高可靠的分布式协调中间件。它是Google Chubby的一个开源实现,那么它主要是解决什么问题的呢?那就得先了解Google Chubby Google Chub原创 2021-10-24 20:14:39 · 101 阅读 · 0 评论 -
面试官:如何实现扫码登录功能?
扫码登录场景 扫码登录场景想必我们都不陌生——很多PC端的网站都提供了扫码登录的功能,无需在网页上输入任何账号和密码,只需要通过手机上的APP,如微信、淘宝、QQ等等,使用扫描功能,扫描网页上的二维码,确认登录,就可以完成网页端登录。 扫码登录分析 我们来分析一下,扫码登录,其实涉及到三种角色,需要解决两个问题。 三种角色 很明显,扫码登录当中涉及到的三种角色:PC端、手机端、服务端。 相关的设计都要围绕这三端来展开,具体的设计其实就是每一端应该完成什么功能?应该怎么实现?端和端应该如何交互? 两个问题原创 2021-10-22 19:26:41 · 491 阅读 · 0 评论 -
清华大牛花费50小时研究出来的java项目教程
一、前言 最近在研究sonar扫面java项目,实在是花费了不少时间,估计有50个小时吧。 从零开始接触sonar,在网上找教程看,按照教程的指引,自己搭建环境,很快成功扫描python项目。 但是,在扫描java项目时,遇到了各种问题,一直扫描不成功。 解决这个问题的过程着实是相当痛苦。 首先是运行命令扫描代码,发现出错,复制出错提示信息百度找答案,就进行尝试,这个过程相当低效,一直没有进展。 然后,我想到直接搜索关键字“sonar扫描Java项目”,发现找到的文章很少,而且内容比较混乱。 接着,我决定自原创 2021-10-18 21:33:06 · 232 阅读 · 0 评论