• avatar 程序员面试之道 2021-01-02 19:13:03

    Java空指针异常的几种情况

                              Java空指针异常的几种情况 NullPointerException 说法一 NullPointerException由RuntimeException派生出来,是一个运行级别的异常。意思是说可能会在运行的时候才会被抛出,而且需要看这样的运

  • avatar 程序员面试之道 2021-01-02 19:13:24

    java中形参和实参的区别(值传递 引用传递)

                     java中形参和实参的区别(值传递  引用传递)  形参和实参的区别 形参 就是形式参数,用于定义方法的时候使用的参数,用来接收调用者传递的参数。形参只有在方法被调用的时候,虚拟机才会分配内存单元,在方法调用结束之后便会释放所分配的内存单元。 因此,形参只在

  • avatar 程序员面试之道 2021-01-02 19:13:44

    设计模式最全总结

                                      设计模式最全总结   什么是设计模式  设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

  • avatar 程序员面试之道 2021-01-02 19:14:28

    java main()方法 主函数 面试点

                              java main()方法 主函数 面试点 public static void main(String[] args) 这并不是什么规定,也不是创始人们拍脑袋凭空想象出来的,这行语句中每一个关键字都有其存在的价值,不可或缺。 public

  • avatar 程序员面试之道 2021-01-02 19:14:49

    设计模式---命令模式

                                       设计模式---命令模式   package com.ibeifemg.ex4; public abstract class Command { private Peddler peddler; publi

  • avatar 程序员面试之道 2021-01-02 19:15:11

    设计模式---解释器模式

                                 设计模式---解释器模式       /* * 上下文环境类,用来保存文法 */ public class Context { private String input; private int output; pu

  • avatar 程序员面试之道 2021-01-02 19:15:32

    设计模式---备忘录模式

                                   设计模式---备忘录模式 以前 public class MainClass { public static void main(String[] args) { Person per = new Person(&qu

  • avatar 程序员面试之道 2021-01-02 19:15:55

    设计模式---状态模式

                                      设计模式---状态模式   以前的示例 public class Person { private int hour; public int getHour() { return hour; } pu

  • avatar 程序员面试之道 2021-01-02 19:16:17

    设计模式---策略模式

                                设计模式---策略模式   public class Context { private Strategy strategy; public Context(Strategy strategy) { this.strate

  • avatar 程序员面试之道 2021-01-02 19:16:40

    设计模式---模板方法模式

                                     设计模式---模板模式       /* * 组装车 */ public abstract class MakeCar { //组装车头 public abstract void makeHead(); //

  • avatar 程序员面试之道 2021-01-02 19:17:02

    设计模式---访问模式

                                 设计模式---访问模式       代码     /* * 公园每一部分的抽象 */ public interface ParkElement { //用来接纳访问者 public void accept(Visito

  • avatar 程序员面试之道 2021-01-02 19:17:24

    设计模式---中介者模式

                                   设计模式---中介者模式   代码展示 以前的  package com.ibeifeng.ex1; public class Man extends Person { public Man(String name, int

  • avatar 程序员面试之道 2021-01-02 19:17:46

    leetCode---两两交换链表中的节点

                               两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->

  • avatar 程序员面试之道 2021-01-02 19:18:28

    redis---第五部分 多线程实现redis

                             redis---第五部分 多线程实现redis    线上有大量的Redis实例在运行,规模比较庞大,有些Redis集群实例规模超过100+,所以对Redis进行了多线程版本的改造     https://www.c

  • avatar 程序员面试之道 2021-01-02 19:18:51

    redis---第三部分 多机数据库的实现

                               redis---第三部分 多机数据库的实现  1 复制 2 Sentinel 3 集群 主服务器和集群中的主节点,从服务器和集群中的从节点有什么区别?  1 复制 1 同步   命令传播   新版复制功

  • avatar 程序员面试之道 2021-01-02 19:19:21

    redis---第四部分 独立功能的实现

                               redis---第四部分 独立功能的实现 1 发布与订阅 2 事务 3 Lua脚本 4 排序 5 二进制数组 6 慢查询日志 7 监视器 1 发布与订阅 # 发布与订阅  Redis的发布与订阅功能由PUBLISH、SUB

  • avatar 程序员面试之道 2021-01-02 19:19:57

    reids设计与实现---单机数据库的实现

                            reids设计与实现---单机数据库的实现 1服务器中的数据库 2 数据库的键空间 3 键的过期处理 1 键的过期时间 2 过期键删除策略 3  AOF、RDB、和复制功能对过期键的处理 4 RDB的持久化 5 AOF持久化 6 事件

  • avatar 程序员面试之道 2021-01-02 19:20:40

    redis设计与实现---数据结构与对象

                                   redis 数据结构与对象 1 动态字符串  SDS    (redis中字符串值、AOF缓冲区以及客户端输入缓冲区) 2 链表  linkedlist(发布与订阅、慢查询、监视器、redis本身保存多客户端的状态信息、构建客户端输出

  • avatar 程序员面试之道 2021-01-02 19:21:21

    Redis——dict

                                         Redis——dict Redis本质上是一个数据结构服务器(data structures server),以高效的方式实现了多种现成的数据结构,研究它的数据结构和基于其上的算法,对于我们自己提升局部算法的编程水平有很重要

  • avatar 程序员面试之道 2021-01-02 19:21:45

    Redis——跳跃表

                                      Redis——跳跃表  一、跳跃表简介 跳跃表(skiplist)是一种随机化的数据结构,由 William Pugh 在论文《Skip lists: a probabilistic alternative to balance

  • avatar 程序员面试之道 2021-01-02 19:22:13

    堆溢出、栈溢出、永久代溢出、直接内存溢出

                    堆溢出、栈溢出、永久代溢出、直接内存溢出 栈溢出(StackOverflowError) 堆溢出(OutOfMemoryError:Java heap space) 永久代溢出(OutOfMemoryError: PermGen space) 直接内存溢出

  • avatar 程序员面试之道 2021-01-02 19:22:34

    字节算法题--N阶台阶,每次走一步或两步,计算共有多少种走法,并将每种走法打印出来。

     N阶台阶,每次走一步或两步,计算共有多少种走法,打印出每种走法。   一 走台阶算法(本质上是斐波那契数列)在面试中常会遇到,描述就如题目那样:总共100级台阶(任意级都行),小明每次可选择走1步、2步或者3步,问走完这100级台阶总共有多少种走法? 一、 题目分析 这个问题本质上是斐波那

  • avatar 程序员面试之道 2021-01-02 19:22:55

    MVCC的实现

    https://zhuanlan.zhihu.com/p/64576887 https://zhuanlan.zhihu.com/p/40208895 https://blog.csdn.net/whoamiyang/article/details/51901888 https://www.j

  • avatar 程序员面试之道 2021-01-02 19:23:15

    TCP/IP的底层队列

                                        TCP/IP的底层队列 我自己比较了解Java语言,对Java网络编程的理解就止于Netty框架的使用。 Netty的源码贡献者Norman Maurer对于Netty网络开发有过一句建议,"Never block

  • avatar 程序员面试之道 2021-01-02 19:23:39

    25 逆波兰表达式、波兰表达式

                              逆波兰表达式、波兰表达式 1.前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前。比如:- × + 3 4 5 6 2.中缀表达式就是常见的运算表达式,如(3+4)×5-6 3.后缀表达式又称逆波兰表达式,与前缀表达式相似,只是运算符位于操作

  • avatar 程序员面试之道 2021-01-02 19:24:00

    24 高原数组 局部最大值

                                 高原数组 局部最大值 https://blog.csdn.net/weixin_41563161/article/details/101027801 题目          给定一个无重复元素的数组A[0…N-1],求找到一个该数组的

  • avatar 程序员面试之道 2021-01-02 19:24:22

    23 二叉树的所有路径

                                     二叉树的所有路径 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 输入:    1  /   \ 2     3  \   5 输出: ["1->2-&g

  • avatar 程序员面试之道 2021-01-02 19:24:46

    22 二叉树的最长的路径长度和最大路径和

                      二叉树的最长的路径长度和最大路径和  二叉树中的最大路径和 给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 示例 1: 输入: [1,2,3]    

  • avatar 程序员面试之道 2021-01-02 19:25:09

    MySQL中的日志

                                   MySQL中的日志 MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(ge

  • avatar 程序员面试之道 2021-01-02 19:25:30

    Innodb中的事务隔离级别和锁以及MVCC之间的关系

                Innodb中的事务隔离级别和锁以及MVCC之间的关系 目录             Innodb中的事务隔离级别和锁以及MVCC之间的关系 ACID 1. 原子性(Atomicity) 2. 一致性(Consistency) 3. 隔离性(Isolation)

  • avatar 程序员面试之道 2021-01-02 19:25:54

    21 最长数字字符串

    具体算法为:从头到尾遍历字符串,每当遇到数字连续数字子串时,记录其长度。并与全局记录的最长长度相比较。如果更长的话,就记录当前长度和开始index。   public class LongestNumberSubstring { public static int[] findLonges

  • avatar 程序员面试之道 2021-01-02 19:26:15

    20 七进制数、36进制加法

                                     七进制数、36进制加法 /** * 36进制由0-9,a-z,共36个字符表示,最小为'0' * '0''9'对应十进制的09,'a''z'对应十进制的1035 * 例如:'1b' 换算成10进制等于 1 * 36^1 + 1

  • avatar 程序员面试之道 2021-01-02 19:26:35

    面试智力题

                                          面试智力题 【绳子类】 1、 一条绳子(粗细不均,长短不一),从一头点燃,全部烧完要耗时1个小时,问如何用这条绳子测出半个小时?(初级) 2、 有一些绳子(粗细不均,长短不一),但是每根绳子点燃后都烧一个小时,问用什么

  • avatar 程序员面试之道 2021-01-02 19:26:59

    LFU-LRK

                                               LFU 1. LFU 1.1. 原理 LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”。 1.2.

  • avatar 程序员面试之道 2021-01-02 19:27:20

    java实现开根号的运算

                                    java实现开根号的运算 如果某个数字正好可以开根号为2个整数,例如1,4,9等,那就很简单了。 如果某个数字不可以正好开根号为2个整数,而且要保留几位精度,例如:2,3,5等,我们该怎么办呢????? 首先我们可以把这个数字分成

  • avatar Bernard5 2021-01-02 19:27:57
    来自 Bernard5
    10
  • avatar 程序员面试之道 2021-01-02 19:28:09

    01 背包问题

                                         01 背包问题        

  • avatar 程序员面试之道 2021-01-02 19:28:34

    19 均分钱币(0 1背包问题)

                                       均分钱币 (0 1背包问题) 题目大意: 给你一堆硬币,让你分成两堆,分别给A,B两个人,求两人得到的最小差。 解题思路: 求解两人分得钱币的最小差值,巧妙地转化为01背包问题。 sum代表这堆钱币的总价值,ans=su

  • avatar 程序员面试之道 2021-01-02 19:28:55

    18 一个01字符串,求出现0、1出现次数相等的最长子串长度

          一个01字符串,求出现0、1出现次数相等的最长子串长度 题目描述:     已知一个长度为N的字符串,只由0和1组成, 求一个最长的子串,要求该子串出0和1出现的次数相等。     要求算法时间复杂度尽可能的低。     比如:  10000010111000001,所求为8,加

  • avatar 程序员面试之道 2021-01-02 19:29:16

    二叉搜索树中的搜索

                                       二叉搜索树中的搜索   给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 给定二叉搜索树:         4

  • avatar 程序员面试之道 2021-01-02 19:29:36

    关系型数据库和非关系型数据及其区别

                          关系型数据库和非关系型数据及其区别 关系型数据库 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织 优点: 1、易于维护:都是使用表结构,格式一致; 2、使用方便:SQL语言通用,可用于复杂查询; 3、复杂操作:支持SQ

  • avatar 程序员面试之道 2021-01-02 19:29:58

    16 替换字符串中的通配符?

                              替换字符串中的通配符? /*  * 给定字符串(合法字符只包括0,1,?),替换字符串中的通配符?为0或者1,生成所有可能的字符串。  * Input str = "1??0?101"  * Output:  *  

  • avatar 程序员面试之道 2021-01-02 19:30:18

    输入网址之后解析的过程

                               输入网址之后解析的过程 一、URL 解析 1地址解析: 2 HSTS  由于安全隐患,会使用 HSTS 强制客户端使用 HTTPS 访问页面。 3 其他操作 安全检查、访问限制(之前国产浏览器限制 996.icu)。 4 检查缓存

  • avatar 程序员面试之道 2021-01-02 19:30:41

    深入理解Java异常

                                          深入理解Java异常  异常时什么?就是指阻止当前方法或作用域继续执行的问题,当程序运行时出现异常时,系统就会自动生成一个Exception对象来通知程序进行相应的处理。Java异常的类型有很多种,下面我们就使用一张图来看

  • avatar 程序员面试之道 2021-01-02 19:31:07

    计算机中的 图

    https://blog.csdn.net/Unknownfuture/article/details/104467900?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2

  • avatar 程序员面试之道 2021-01-02 19:31:27

    滑动窗口原理

                                            滑动窗口原理 TCP 滑动窗口 作用: 1. 提供TCP可靠性:对发送的数据进行确认 2. 流量控制:窗口大小随链路变化 一、TCP窗口机制 TCP中窗口大小是指tcp协议一次传输多少个

  • avatar 程序员面试之道 2021-01-02 19:31:49

    java 统计文章中每个单词出现的次数

                            java 统计文章中每个单词出现的次数   思路:扫描文章,使用正则表达式分割出一个个单词, 然后把这个单词放到map<String,Integer>集合中作为key,同时它的value置1,以后每扫描到一个单吃都去检查map里面有没

  • avatar 程序员面试之道 2021-01-02 19:32:09

    TCP长连接和短链接的区别及应用场景

                        TCP长连接和短链接的区别及应用场景  TCP在真正的读写操作之前,服务端与客户端之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立通过三次握手,释放则需要四次挥手,所以说每个连接的建立都是需要资源消耗和时间消耗的

  • avatar 程序员面试之道 2021-01-02 19:32:30

    AES加密过程详解

                                         AES加密过程详解 AES简介 高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具

  • avatar 程序员面试之道 2021-01-02 19:32:56

    12 最长公共子序列

                                             最长公共子序列 问题 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以

  • avatar 程序员面试之道 2021-01-02 19:33:17

    hashmap中两次hash过程

                                hashmap中两次hash过程 // 计算二次Hash int hash = hash(key.hashCode()); // 通过Hash找数组索引 int i = indexFor(hash, table.length);

  • avatar 程序员面试之道 2021-01-02 19:33:38

    TCP心跳检测包

                                          TCP心跳检测包  

  • avatar 程序员面试之道 2021-01-02 19:33:59

    B+树分裂

                                          B+树分裂  B+树的插入 1)若为空树,创建一个叶子结点,然后将记录插入其中,此时这个叶子结点也是根结点,插入操作结束。 2)针对叶子类型结点:根据key值找到叶子结点,向这个叶子结点插入记录。插入后,若当前结点k

  • avatar 程序员面试之道 2021-01-02 19:34:41

    char和varchar

                                           char和varchar 在MYSQL中,char是指:使用指定长度的固定长度表示字符串的一种字段类型;比如char(8),则数据库会使用固定的1个字节(八位)来存储数据,不足8位的字符串在其后补空字符。 varch

  • avatar 程序员面试之道 2021-01-02 19:35:01

    Tcp三次握手中细节

                                      Tcp三次握手中细节 TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如下图所示。 主机A为客户机,主机B为服务器 说明:(1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B

  • avatar 程序员面试之道 2021-01-02 19:35:26

    9 LeetCode 树中两个结点的最低公共祖先

                                树中两个结点的最低公共祖先   二叉搜索树的最近公共祖先 题目要求从根结点为root的树返回p、q的最近公共祖先,使用递归,很自然地, 如果p、q均小于root,则应该由root的左子树返回p、q的最近公共祖先; 如果p、q均大于roo

  • avatar 程序员面试之道 2021-01-02 19:35:47

    回溯法介绍

                                              回溯法介绍  https://www.jianshu.com/p/3f8ada396b9f https://blog.csdn.net/Herishwater/article/details/98989512?d

  • avatar 程序员面试之道 2021-01-02 19:36:09

    8 LeetCode数组中和为定值的子集

                                  数组中和为定值的子集 题目具体是这样的,给定n个数字,比如{2,6,1,7,4,9},并给定一个SUM,比如SUM=20,在上述这6个数字中,挑出一些,使得他们的和等于SUM,把所有的组合都找出来。我们这个例子的结果就是: 1 + 2 +

  • avatar 程序员面试之道 2021-01-02 19:36:30

    数组中重复的数字

                                      数组中重复的数字   找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的

  • avatar 程序员面试之道 2021-01-02 19:36:51

    6 只出现一次的数字I II III

                                    只出现一次的数字I II III https://leetcode-cn.com/problems/single-number/ 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个

  • avatar 程序员面试之道 2021-01-02 19:37:11

    5 删除链表中的节点

                                  删除链表中的节点 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; *

  • avatar 程序员面试之道 2021-01-02 19:37:32

    4 无重复字符的最长子串

                                     无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3  解释: 因为无重复字符的最长子串是 "abc"

  • avatar 程序员面试之道 2021-01-02 19:37:53

    按位与、或、非、异或总结

                                 按位与、或、非、异或总结  https://blog.csdn.net/weixin_42216574/article/details/82885102

  • avatar 程序员面试之道 2021-01-02 19:38:13

    红黑树叶子节点都为黑色

    https://www.cnblogs.com/AhuntSun-blog/p/12458115.html

  • avatar 程序员面试之道 2021-01-02 19:38:34

    ConcurrentHashMap17 1.8

                              ConcurrentHashMap17 1.8 其实可以看出JDK1.8版本的ConcurrentHashMap的数据结构已经接近HashMap,相对而言,ConcurrentHashMap只是增加了同步的操作来控制并发,从JDK1.7版本的Re

  • avatar 程序员面试之道 2021-01-02 19:38:54

    四种引用

                                              四种引用 https://juejin.im/post/5b82c02df265da436152f5ad 弱引用 如果一个对象是偶尔(很少)的使用,并且希望在使用时随时就能获取到,但又不想影响此对象的垃圾收集,

  • avatar 程序员面试之道 2021-01-02 19:39:15

    redis参考

                                               redis参考  1 https://blog.csdn.net/ThinkWon/article/details/103522351   Redis面试题(2020最新版)   2 https://mp.

  • avatar 程序员面试之道 2021-01-02 19:39:35

    Redis-避免缓存穿透的利器之BloomFilter

                          Redis-避免缓存穿透的利器之BloomFilter Bloom Filter 概念 布隆过滤器(英语:Bloom Filter)是1970年由一个叫布隆的小伙子提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元

  • avatar 程序员面试之道 2021-01-02 19:39:57

    Redis双写一致性、并发竞争、线程模型

                         Redis双写一致性、并发竞争、线程模型 1 Redis有几种基础数据类型? String: Hash: List: Set: 2 如果你多个系统同时操作(并发)Redis带来的数据问题? 那这种情况怎么解决呢? 3 你只要用缓存,就可能会涉

  • avatar 程序员面试之道 2021-01-02 19:40:20

    Redis哨兵、持久化、主从

                               Redis哨兵、持久化、主从  1 为啥Redis那么快 2 单线程的,我们现在服务器都是多核的,那不是很浪费? 3 Redis cluster 4 他们之间是怎么进行数据交互的?以及Redis是怎么进行持久化的?Redis数据都在内存中

  • avatar 程序员面试之道 2021-01-02 19:40:43

    redis缓存雪崩、击穿、穿透

                              redis缓存雪崩、击穿、穿透 1 Redis雪崩 2 缓存穿透和击穿么,可以说说他们跟雪崩的区别么? 布隆过滤器(Bloom Filter) 1 Redis雪崩 目前电商首页以及热点数据都会去做缓存 ,一般缓存都是定时任务去刷新,或

  • avatar 程序员面试之道 2021-01-02 19:41:06

     Redis2

                                              Redis2  数据结构 如果有大量的key需要设置同一时间过期,一般需要注意什么? Redis分布式锁 假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们全部找

  • avatar 程序员面试之道 2021-01-02 19:41:27

    Redis

                                                   Redis 1 redis 简介 2 为什么要用 redis/为什么要用缓存 3 为什么要用 redis 而不用 map/guava 做缓存? 4 redis 的线程模型 5 redis 和 me

  • avatar 程序员面试之道 2021-01-02 19:41:49

    转置矩阵

                                                  转置矩阵   给定一个矩阵 A, 返回 A 的转置矩阵。 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。 示例 1: 输入:[[1,2,3],[4,5,6],[7,8,9]] 输出:

  • avatar 程序员面试之道 2021-01-02 19:42:10

    3 旋转数组

                                           旋转数组   /** * @Auther: liuhaidong * Data: 2020/4/7 0007、16:24 * Description: * @version: 1.0 */ public cl

  • avatar 程序员面试之道 2021-01-02 19:42:30

    Lambda表达式

                                Lambda表达式 Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动。特性之一便是随同发布的lambda表达式,它将允许我们将行为传到函数里。在Java 8之前,如果想将

  • avatar 程序员面试之道 2021-01-02 19:42:51

    虚拟内存?

                                               虚拟内存? 虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行

  • avatar 程序员面试之道 2021-01-02 19:43:16

    对象的发布与逸出

                                       对象的发布与逸出 发布(publish) 使对象能够在当前作用域之外的代码中使用 逸出(escape) 当某个不应该发布的对象被发布了   常见逸出的有下面几种方式: 静态域逸出 public修饰的get方法

  • avatar 程序员面试之道 2021-01-02 19:43:38

    java并发编程实战

                                        java并发编程实战      目录                                     java并发编程实战      1 ThreadLocal就是这么简单  一、什么是ThreadLocal

  • avatar 程序员面试之道 2021-01-02 19:44:28

    fastjson 反序列化源码解析

                          fastjson 反序列化源码解析 https://www.iflym.com/index.php/code/201508160001.html http://www.lmxspace.com/2019/06/29/FastJson-%E5%8F%8D

  • avatar 程序员面试之道 2021-01-02 19:44:49

    fastJson序列化和反序列化流程

    https://blog.csdn.net/yetaoii/article/details/104658188

  • avatar 程序员面试之道 2021-01-02 19:45:09

    Fastjson内幕

    https://www.iteye.com/blog/wenshao-1142031

  • avatar 程序员面试之道 2021-01-02 19:45:30

    asm

    https://www.cnblogs.com/liuling/archive/2013/05/25/asm.html

  • avatar 程序员面试之道 2021-01-02 19:45:50

    Java线程池实现原理---美团技术栈

                          Java线程池实现原理---美团技术栈 1 线程池是什么 线程池解决的问题是什么 2 线程池核心设计与实现 2.1 总体设计 2.2 生命周期管理 2.3 任务执行机制 2.3.1 任务调度 2.3.2 任务缓冲 2.3.3 任务申请

  • avatar 程序员面试之道 2021-01-02 19:46:24

    Java内存模型

                                          Java内存模型   JVM如何从入门到放弃的? 之前在写JVM的时候,还一度把JVM内存结构与Java内存模型给搞混了~~~还好有热心的网友给我指出来。 JVM内存结构: 操作变量时的规则: J

  • avatar 程序员面试之道 2021-01-02 19:46:49

    TCP通信丢包原因总结

                                 TCP通信丢包原因总结   TCP在不可靠的网络上实现可靠的传输,必然会有丢包。TCP是一个“流”协议,一个详细的包将会被TCP拆分为好几个包上传,也是将会把小的封裝成大的上传,这就是说TCP粘包和拆包难题。   但是许多人有不同

  • avatar 程序员面试之道 2021-01-02 19:47:10

    什么是拆包粘包?为什么会出现?

                               什么是拆包粘包?为什么会出现? 在进行Java NIO学习时,可能会发现:如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数据包粘在一起的情况。  TCP的首部格式: TCP是基于字节流的,虽然应用层和TCP传输

  • avatar 程序员面试之道 2021-01-02 19:47:31

    Synchronize锁优化手段有哪些

                             Synchronize锁优化手段有哪些  synchronized锁在jdk1.6以后会有各种的优化:适应自旋锁,锁消除,锁粗化,轻量级锁,偏向锁。 适应自旋锁 锁竞争是kernal mode下的,会经过user mode(用户态)到kerna

  • avatar 程序员面试之道 2021-01-02 19:47:52

    神奇的Integer

                                          神奇的Integer 使用==的情况: 如果比较Integer变量,默认比较的是地址值。 Java的Integer维护了从-128~127的缓存池 如果比较的某一边有操作表达式(例如a+b),

  • avatar 程序员面试之道 2021-01-02 19:48:15

    linux总结

                                                 linux 目录                                              linux 1  find命令和grep命令查找文件和文件内容   区别: 一.find命令

  • avatar 程序员面试之道 2021-01-02 19:48:40

    fastjson深度源码解析JSON成员函数

                                         JSON成员函数 概要 fastjson序列化主要使用入口就是在JSON.java类中,它提供非常简便和友好的api将java对象转换成json字符串。   /** * 便捷序列化java对象,序列

  • avatar 程序员面试之道 2021-01-02 19:49:00

    fastjson深度源码解析-IOUtils.getChars

                        fastjson深度源码解析-IOUtils.getChars getChars(i, size, buf); 那么接下来就深入理解一下getChars方法。这部分我把关于这段代码的分析直接写到注释中,便于结合代码理解。 static void getC

  • avatar 程序员面试之道 2021-01-02 19:49:21

    ps aux 命令和 top命令

                                      ps aux 命令和 top命令  ps命令 ps命令用于查看系统中的进程状态,格式为“ps [参数]”。 估计读者在第一次执行这个命令时都要惊呆一下—怎么会有这么多输出值,这可怎么看得过来?其通常会将ps命令与第3章的管道符

  • avatar 程序员面试之道 2021-01-02 19:50:04

    左移右移

                                             左移右移 https://www.cnblogs.com/shoubianxingchen/p/5110491.html

  • avatar 程序员面试之道 2021-01-02 19:50:24

    fastjson词法和语法解析

                                    fastjson词法和语法解析 目录                                 fastjson词法和语法解析 一 token定义解析 JSONToken成员 (二) - 基础类型实现解析 JSON T

  • avatar 程序员面试之道 2021-01-02 19:50:45

    com.alibaba.fastjson 序列化 反序列

                                      fastjson  序列化 反序列 目录                                   fastjson  序列化 反序列 序列化 SerializeWriter成员变量 一 SerializeWri

  • avatar 程序员面试之道 2021-01-02 19:51:08

    lambda箭头函数 线程创建

                                      lambda箭头函数   // Java 8之前: new Thread(new Runnable() { @Override public void run() { System.out.println

  • avatar 程序员面试之道 2021-01-02 19:51:31

    com.alibaba.fastjson 初介绍

                                 com.alibaba.fastjson 目录                              com.alibaba.fastjson Json 一:什么是Json 二:JSON形式与语法 三: JSON对象数组 四

  • avatar 程序员面试之道 2021-01-02 19:52:03

    数据库引擎

                                              数据库引擎 1事务 MyISAM快, InnoDB提供事务支持 2 MyISAM 不支持外键   InnoDB支持外键 3 MyISAM支持表级锁    InnoDB表级和行级 4 MyISAM全文索引,