自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (3)
  • 收藏
  • 关注

原创 ES分布式搜索引擎的故事

我们每天都会用到搜索引擎,那么,思考几个问题:输入“2020年美国大选结果是啥?”后,- 搜索引擎如何从海量数据中,以一种可以接受的延迟将最优的结果展现出来?- 海量的数据是如何存储的,原理是什么?- 对于大选新闻,如何实时的发布,让用户能搜索到?

2020-11-08 16:34:13 536

原创 Redis+Cookie实现分布式会话与单点登录

抛个问题:分布式系统中各个机器到底是怎样交互的???

2020-11-04 00:02:53 1216 1

原创 Keepalived双主热备架构

双机主备请求来了之后,先去匹配到主机,若主机不可用就去匹配备用机主备两机的配置要相似。假若主结点能接受100个,备结点能接受60个,当主结点挂了,所有请求会定向到备用机,会导致备用机宕机由于配置相似,而备用机使用的频率并不高,这就造成了备用机性能的浪费。云服务器的价格是比较昂贵的,备用机就这样闲着,很浪费。双主热备用户发起请求(www.csu-runze.top)–> 由DNS服务器解析到目标的IP(由云服务器进行配置)之后,若解析到了第一台服务器,那么,对于这次请求,第一台服

2020-10-31 11:47:21 296

原创 Redis从入门到实战

本文从redis的基础概念和操作开始,逐层递进,介绍了发布订阅、持久化、主从复制、集群、缓存穿透、缓存雪崩等内容,并结合实际项目进行了一些优化

2020-10-31 01:33:11 2481 7

原创 并发容器

本文主要介绍CurrentHashMap、CopyOnWriteArrayList等集合类的原理特点

2020-10-27 11:34:21 245

原创 2020.10.26字节后端开发一面

两道算法、计网、数据库、项目数据库中的索引

2020-10-26 22:11:14 179

原创 Atomic原子类、CAS

Atomic原子类、CAS原理

2020-10-24 12:11:10 163

原创 2020.10.14京东云测开二面

本来以为京东一面已经凉了,因为是国庆之前面的,时间太久了。没想到,昨天面试官小姐姐打电话约了二面,还是蛮激动的。这次面试还是电话面,聊了50分钟,涉及到项目、算法、测试、未来的方向

2020-10-14 12:33:46 526 1

原创 2020.10.12东吴金科Java研发一面

2020.10.12东吴金科Java研发一面

2020-10-12 18:15:25 1152 11

原创

本文主要介绍Java中的锁

2020-10-12 00:40:17 149

原创 ThreadLocal

本文主要介绍ThreadLocal,包括它的底层结构、源码以及注意事项(内存泄漏问题)

2020-10-09 12:18:07 205 1

原创 线程池

本文主要介绍线程池的相关用法和基础知识

2020-10-07 22:38:28 120

原创 2020.9.28京东云测试开发一面面经(电话面)

2020.9.28京东云测试开发一面面经(电话面)

2020-09-28 12:33:08 876 1

原创 2020.9.25字节跳动后端实习一面面经

文章目录前言一、自我介绍二、挖项目1、看到你用过unity3D,C#写的代码上线后怎么做到扩展(热部署)?2、仿饿了么项目怎样部署上线的?3、这个项目在做的时候考虑到流量控制和服务降级了吗?4、你知道漏桶和令牌的区别吗?5、看见你写了项目过程中用了腾讯会议?6、聊天室用了什么框架写的,SpringBoot?7、项目中协议?8、这样做有没有扩展性问题?三、计算机网络9、TCP UDP区别10、你的项目里写的UDP传文件,你怎样保证安全的?11、这样做和用TCP/IP相比哪个更好一些?12、讲下拥塞控制四、J.

2020-09-26 10:43:29 1726 2

原创 HappyTalk——基于BIO模型的多功能网络聊天室

一、引言1.1编写目的本文对聊天室项目进行需求分析,为后期开发设定方向。同时,本文作为个人对软件工程基础课程的练习。1.2背景聊天室是计算机网络课设项目,本人结合软件工程基础进行练习。1.3参考资料二、任务概述1.1系统功能简述用户用账号密码进行登录用户获取当前账户好友列表用户通过服务器转发实现一对一聊天1.2项目开发运行环境三、需求规定3.1需求定义客户端连接服务器登录查看好友列表在线好友聊天服务器接受客户端处理客户端登录请求向客户端发送好友列表

2020-09-21 19:07:29 486 2

原创 线程死锁的触发、修复、避免策略

本文主要介绍死锁的前世今生,关于死锁的策略、活锁以及一些面试题

2020-09-06 23:50:56 477

原创 并发编程底层原理(Java内存模型、重排序、可见性、原子性、单例模式)

本文从JMM讲起,引出重排序、可见性、原子性这三个重要内容,在这中间讲了volatile、synchronized的区别,最后展示了单例模式的创建方式,在单例模式中用到了前面的重排序、可见性、原子性的原理。

2020-09-06 15:03:23 339

原创 多线程会导致的问题——安全、性能

本文主要介绍多线程的安全和性能问题,包括几个线程不安全的例子和解决办法

2020-09-02 19:49:34 598

原创 线程异常处理

本文主要介绍线程中如何全局处理异常

2020-09-01 17:14:35 637

原创 线程属性

线程ID可以看到,线程ID是从1开始,子线程ID直接跳到了12,而不是2,原因是在JVM启动时,会创建很多守护线程。守护线程作用:给用户线程提供服务特性:线程类型默认继承自父线程守护线程由JVM启动,JVM启动过程中只有一个线程是用户线程:main守护线程不会影响JVM的退出守护线程和用户线程的区别:大体一样,不同点是:用户线程全部结束后,JVM不管守护线程是否结束,都可以直接退出受否需要将线程设置为守护线程:不应该将用户线程设置为守护线程。如果将用户线程设置为守护线程,会变得危险。.

2020-09-01 16:38:23 136

原创 SpringBoot源码剖析(一)——系统初始化器

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2020-08-23 15:23:46 231

原创 SpringBoot源码剖析(二)——监听器

文章目录前言一、监听器模式例子1.1 创建抽象类WeatherEvent创建下雨、下雪事件继承WeatherEvent1.2 创建天气监听器接口WeatherListener创建监听器实现WeatherListener接口1.3 创建广播器接口创建抽象类实现广播器接口实现天气事件广播1.4 创建天气监听器代理1.5 在test中进行测试1.6 总结1.7 附:监听器模式图解(图源:慕课网)二、SpringBoot事件监听器源码剖析2.1 监听器模式四要素2.2 SpringBoot七大事件(图源:慕课网)2

2020-08-22 18:05:38 283

原创 SSM同springBoot创建流程对比

SSM搭建流程

2020-08-18 09:38:27 124

原创 三数之和、矩阵置零、字母异位词分组

三数之和方法一 暴力解法三重循环 public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> result = new ArrayList<List<Integer>>(); Arrays.sort(nums); for (int i = 0; i < nums.length; i++) {

2020-08-17 09:49:15 107

原创 wait、notify、notifyAll、sleep、join、yield详解

一、wait、notify、notifyAllwait、notify、notifyAll都要求当前线程拥有该object的monitor锁1.1 wait-notify演示//创建俩线程,一个wait之后,另一个notify唤醒public class Wait { public final static Object object = new Object(); static class Thread1 extends Thread{ @Override

2020-08-15 20:21:53 350

原创 位1的个数 、汉明距离

位1的个数 public int hammingWeight(int n) { if (n == 0) { return 0; } int i = 1; int count = 0; for (int j = 0; j < 32; j++) { if ((n & i) != 0) { count++; }

2020-08-15 11:04:08 138

原创 计算质数 统计所有小于非负整数 n 的质数的数量 最优解法

简单思路循环内部,从0到根号n,如果遇到能整除的数,就不是质数最优解法public int countPrimes(int n) { //初始化创建大小为n的数组, boolean[] isPrim = new boolean[n]; //初始化为true Arrays.fill(isPrim, true); //逆向思维:从小数开始,例如:2--》2*2=4,则4不是质数;2*3=6,则6不是质数······ //.

2020-08-15 10:52:30 314

原创 线程生命周期

一、线程的六种状态NewRunnableBlockedWaitingTimed WaitingTerminatedNew、Runnable、Terminatedpublic class NewRunnableTerminated implements Runnable{ public static void main(String[] args) { Thread thread = new Thread(new NewRunnableTerminated());.

2020-08-13 11:38:42 106

原创 优雅的启动和关闭线程

1、启动线程:start和run的区别启动线程时,要调用start方法。而start方法会去调用run方法,那么为什么不直接调用run方法?public static void main(String[] args) { Runnable runnable = () -> { System.out.println(Thread.currentThread().getName()); }; runnable.run();

2020-08-10 21:11:26 1092

原创 创建线程到底有几种方式?

创建线程有几种方式呢??1、其实,创建线程在本质上只有**两种方式**继承thread类实现Runnable接口①通过Thread创建线程public class ThreadStyle extends Thread{ @Override public void run(){ System.out.println("用Thread类实现线程"); } public static void main(String[] args) {

2020-08-07 09:55:56 653

原创 连接云服务器的MySQL数据库报错The driver has not received any packets from the server.

很多时候并不是像网上写的那样1、改jdbc.url=jdbc:mysql://localhost:3306/tgmtest?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false2、改MySQL配置文件 wait_timeout=31536000 interactive_timeout=31536000重点要确定一下服务器的防火墙是否关闭了,,因为有时候它会开机重

2020-07-12 10:45:53 3477

原创 “Ubuntu 20.04 LTS _Focal Fossa - Release amd64 (20200423)” 的盘片插入驱动器“/cdrom/”再按「回车」键

首先:cd /etc/apt打开编辑sources.list: sudo nano source.list注释掉deb cdrom:开头的行sudo apt-get update参考文章:https://blog.csdn.net/qq_27148893/article/details/88834057

2020-05-19 09:00:01 4426 7

原创 树莓派安装opencv报错:make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:56...

错误:make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:56: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] Error 1make[1]: *** [CMakeFiles/Makefile2:21149: modules...

2020-05-07 10:24:05 13866 34

原创 简单动态规划题解总结(leetcode探索 初级算法)

简单动规四道练习题爬楼梯==思路一:简单递归====思路二:hashmap====思路三:动规==买卖股票最佳时机==思路一:暴力法====思路二:保存最小值、最大利润==最大子序和==思路一:暴力法====思路二:改进暴力====思路三:动规==打家劫舍==解法==爬楼梯题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼...

2020-04-25 11:41:17 370

原创 计算机网络——应用层

目录应用层协议原理1、应用程序体系结构2、进程通信3、运输层服务4、因特网提供的运输服务WEB和HTTP1、Http概况2、非持续连接和持续连接应用层协议原理1、应用程序体系结构客户-服务器体系结构P2P体系结构P2P体系结构特点:1、对数据中心的专用服务器有最小的依赖。2、具有自扩展性,例如在文件共享应用中,每个对等方都由于请求文件产生工作量,但它们向其他对等方分发文件也为系统增加...

2020-04-20 00:07:24 1808

原创 JVM字节码执行引擎(二)——方法调用(解析、动态分派、静态分派)

参考文章:JVM(十四)方法调用方法调用阶段就是确定被调用方法的版本,即调用哪一个方法。解析我们已经知道,class文件中需要调用的方法都是一个符号引用,而在方法调用中的解析阶段,就是要把一部分符号引用转化为直接引用。能在解析阶段将方法的符号引用转化成直接引用的的方法,必须在方法运行前就确定一个可调用的版本,并且这个版本在运行阶段是不可改变的。“编译期可知,运行期不可变”,符合这个规则的...

2020-01-29 11:13:01 324

原创 虚拟机字节码执行引擎(一)——运行时栈帧结构

栈帧中包括:局部变量表、操作数栈、动态链接、方法出口。动态连接在Java虚拟机类加载机制(二)——类加载的过程中已介绍过类加载过程中的解析阶段,是将符号引用转换为直接引用,但是是静态的。在与运行期间转化为直接引用就是动态连接。其他部分可参考阅读JVM底层结构通过Java字节码深入理解Java执行过程及JVM底层结构...

2020-01-26 19:19:01 223

原创 Java虚拟机类加载机制(三)——类加载器

类加载器:实现 “ 通过类的全限定名来获取描述此类的二进制字节流 ” 的模块 类加载器种类:启动类加载器:负责加载支撑JVM运行的位于jre/lib目录下的核心类库(例如:String、Object类),在虚拟机启动时就会加载完,以支撑虚拟机的运行。对于hotspot,这个类加载器使用C++实现。扩展类加载器:负责加载支撑JVM运行的位于jre/lib/ext中的JAR包。由Java...

2020-01-26 15:43:14 271

原创 Java虚拟机类加载机制(二)——类加载的过程

加载将类的.class文件中的二进制数据读入到内存中将其放在运行时数据区的方法区内然后再内存中创建一个java.lang.Class对象用来封装类在方法区内的数据结构简单地说,加载:在硬盘上查找并通过IO读入字节码文件验证目的:确保Class文件字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机自身的安全。主要分为四个检验部分:文件格式验证:检验是否为class文件...

2020-01-22 22:18:31 202

原创 Java虚拟机类加载机制(一)——类加载的时机

虚拟机如何加载Class文件?Class文件里的信息进入虚拟机会发生怎样的变化?虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是类加载机制类加载的时机类从被加载到内存到卸载出内存,生命周期:加载、连接(验证、准备、解析)、初始化、使用、卸载初始化遇到new、getstatic、putstati...

2020-01-22 18:55:33 246

JVM中文指令手册.pdf

这个是jvm指令手册,可以通过该手册查找理解字节码程序,超详细,超好用!!

2020-01-21

IATK(未修订版).pptx

这是一个介绍IATK的ppt,IATK可帮助您在沉浸式环境(虚拟/增强现实)中构建高质量,交互式和可扩展的 数据可视化,而这个PPT介绍如何使用IATK工具包

2019-10-14

空空如也

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

TA关注的人

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