Y先森0.0

时间并不会因为你的迷茫和迟疑而停留

java后台面试之计算机网络问题集锦

java后台面试之计算机网络问题集锦 1.http和https的区别 2.对称加密和非对称加密 3.三次握手与四次挥手的流程 4.为什么TCP需要三次握手?两次不可以吗?为什么 5.为什么TCP挥手需要四次?三次不行吗? 6.TCP协议如何来保证传输的可靠...

2019-05-11 08:06:00

阅读数 18

评论数 0

Java后台面试之java基础

Java后台面试之java基础 经典类概念性问题 1.java支持的数据类型有哪些?什么是自动拆装箱? 12.Java有哪些特性,举个多态的例子。 14.请列举你所知道的Object类的方法。 15.重载和重写的区别?相同参数不同返回值能重载吗? 23....

2019-05-11 08:05:00

阅读数 45

评论数 0

JAVA 后台面试之操作系统问题集锦

JAVA 后台面试之操作系统问题集锦 1.进程和线程以及他们的区别 2.进程间通信的几种方式 3.线程同步的方式 4.死锁 5.分页和分段有什么区别?(内存管理) 6.操作系统中进程调度的策略有哪几种? 7.页面置换算法: 8.系统颠簸 9.程序局部...

2019-05-11 08:05:00

阅读数 16

评论数 0

WebBench压力测试工具(详细源码注释+分析)

WebBench压力测试工具(详细源码注释+分析) 本文适合人群:对WebBench实现感兴趣的人WebBench原理:Linux下使用的服务器压力测试工具,利用fork建立多个子进程,每个子进程在测试时间内不断发送请求报文,建立多个连接,然后由父进程统计:TCP连...

2019-04-28 15:55:00

阅读数 69

评论数 0

Redis学习之字典源码分析

Redis学习之字典源码分析 字典,又叫映射,是一种用于保存键值对的抽象数据结构 划重点:抽象数据结构 Redisd字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表结点,而每个哈希表结点就保存了字典中的一个键值对 一.哈希表结构 // di...

2019-04-25 09:16:00

阅读数 18

评论数 0

Redis学习之底层链表源码分析

Redis学习之底层链表源码分析 ps:C语言没有内置的链表,所以Redis构建了自己的链表实现,研究Redsi源码的话链表必须要研究一下! 一.链表结点的结构(单个结点): // listNode 双端链表节点 typedef struct list...

2019-04-20 21:46:00

阅读数 21

评论数 0

Redis学习之SDS源码分析

Redis学习之SDS源码分析 一.SDS的简单介绍 SDS:简单动态字符串(simple dynamic string) 1)SDS是Redis默认的字符表示,比如包含字符串值的键值对都是在底层由SDS实现的 2)SDS用来保存数据库中的字符串值 3)SD...

2019-04-20 10:53:00

阅读数 23

评论数 0

目前最详细的红黑树原理分析(大量图片+过程推导!!!)

目前最详细的红黑树原理分析(大量图片+过程推导!!!) 一.为什么要有红黑树这种数据结构? 我们知道ALV树是一种严格按照定义来实现的平衡二叉查找树,所以它查找的效率非常稳定,为O(log n),由于其严格按照左右子树高度差不大于1的规则,插入和删除操作中需要大...

2019-04-18 21:39:00

阅读数 656

评论数 0

深入源码理解ThreadLocal和ThreadLocalMap

深入源码理解ThreadLocal和ThreadLocalMap 一.ThreadLoacl的理解: 官方的讲: ThreadLocal是一个本地线程副本变量工具类,主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰 通俗的讲: ...

2019-04-18 12:35:00

阅读数 17

评论数 0

八大排序算法思想介绍

八大排序算法思想介绍 1.插入排序 *直接插入排序 *希尔排序2.选择排序 *简单选择排序 *堆排序3.交换排序 *冒泡排序 *快速排序4.归并排序5.基数排序不稳定排序:简单选择排序,快速排序,希尔排序,堆排序稳定排序:冒泡排序,直接插入排序,归并排序,奇数排序一...

2019-04-13 10:45:00

阅读数 21

评论数 0

关于高并发问题的点滴思考

关于高并发问题的点滴思考 问题背景:曾经做过一个项目,医院预约挂号系统,挂号的话专家号很多人抢,这是一个高并发的问题,我以前针对专家号系统的解决方案就是直接在数据库MySQL上面加锁,简单有效,完美完成任务,但是这是针对并发量很少的情况,最近在思考,如果并发量很大的...

2019-04-10 11:47:00

阅读数 35

评论数 0

一致性Hash算法的原理与实现(分布式映射算法)

一致性Hash算法的原理与实现(分布式映射算法) 一致性Hash算法解决的问题: 解决分布式系统中的负载均衡问题 背景问题:有N台服务器提供缓存服务,需要对服务器进行负载均衡,将请求平均发到每台服务器上,每台服务器负载1/N的服务 硬Hash映射:将每...

2019-04-08 10:02:00

阅读数 14

评论数 0

JAVA面试之数据库篇

JAVA面试之数据库篇 1.什么是存储过程?优缺点?类似编程语言中函数一样的东西,封装我们的代码优点:*代码封装 *保存在数据库中 *让编程语言调用 *预编译代码块,执行效率高 *可以替代大量sql语句,降低网络通信量,提高通信速率缺点:*每个数据库的存储过程语法都...

2019-04-04 16:37:00

阅读数 35

评论数 0

Java线程安全与锁优化

Java线程安全与锁优化 线程安全的严谨定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交题执行,也不需要进行额外的同步,或者调用方法进行其他任何操作,调用这个对象的行为都可以或者正确的结果,那么这个对象是线程安全的!java共享数据分类(...

2019-04-03 10:18:00

阅读数 22

评论数 0

JAVA体系的线程的实现,线程的调度,状态的转换

JAVA体系的线程的实现,线程的调度,状态的转换 java体系中线程的实现1.使用内核线程实现内核线程就是直接由操作系统内核支持的线程,这种线程由内核来完成线程切换,内核通过操作调度器对线程进行调度,并负责将线程的任务映射到各个处理器上,每个内核线程可以视作内核的一...

2019-04-02 18:40:00

阅读数 11

评论数 0

Java内存模型(和堆栈等不是同一层次的划分)

Java内存模型(和堆栈等不是同一层次的划分) 背景知识: *每秒处理事务数:衡量一个服务性能的高低好坏,每秒处理事务数是重要的衡量指标之一 *高速Cache:由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机都不得不加入一层读写速度尽可能的接...

2019-04-02 18:15:00

阅读数 10

评论数 0

JAVA 垃圾收集算法,垃圾收集器与内存分配策略(内容全面,解析简单易懂)...

JAVA 垃圾收集算法,垃圾收集器与内存分配策略(内容全面,解析简单易懂) 垃圾收集器需要解决的三个问题: 1)哪些内存需要回收 2)什么时候回收 3)如何回收 背景:程序计数器,虚拟机栈,本地方法栈3个区域随线程而生,随线程而灭,在这几个区域内不需要过多的...

2019-03-29 11:55:00

阅读数 161

评论数 0

OOM异常的4种可能分析

OOM异常的4种可能分析 OOM异常:OutOfMemoryError1.JAVA堆溢出JAVA堆用于存储对象实例,只要不断的创建对象,并且保证GC Roots到这些对象之间有路径可以来避免垃圾回收机制清除这些对象,那么在对象数量达到最大堆的容量限制之后就会产生OO...

2019-03-28 11:02:00

阅读数 36

评论数 0

HotSpot虚拟机对象探秘(对象创建,对象内存布局,对象访问定位)

HotSpot虚拟机对象探秘(对象创建,对象内存布局,对象访问定位) 以常用的HotSpot虚拟机和JAVA内存区域堆为例,探讨对象的创建,对象的内存布局以及对象的访问定位一.对象的创建1)类加载:虚拟机遇到一条new指令时,先检测这个指令的参数能否在常量池中定位到...

2019-03-28 10:20:00

阅读数 21

评论数 0

线程安全之CAS机制详解(分析详细,通俗易懂)

线程安全之CAS机制详解(分析详细,通俗易懂) 背景介绍:假设现在有一个线程共享的变量c=0,让两个线程分别对c进行c++操作100次,那么我们最后得到的结果是200吗? 1.在线程不安全的方式下:结果可能小于200,比如当前线程A取得c的值为3,然后线程A阻...

2019-03-25 20:36:00

阅读数 35

评论数 0

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