- 博客(12)
- 资源 (9)
- 收藏
- 关注
原创 Java内存区域划分和内存分配策略
Java内存区域划分和内存分配策略如果不知道,类的静态变量存储在那? 方法的局部变量存储在那? 赶快收藏Java内存区域主要可以分为共享内存,堆、方法区和线程私有内存,虚拟机栈、本地方法栈和程序计数器。如下图所示,本文将详细讲述各个区域,同时也会讲述创建对象过程,内存分配策略, 和对象访问定位原理。觉得写得好的,可以点个收藏,绝对不亏。Java内存区域程序计数器程序计数器,可以看作程序当前线程所执行的字节码行号指示器。字节码解释器工作时就是通过改变计数器的值来选取下一条需要执行的字节码指令,
2020-05-15 12:32:46 3250 37
原创 腾讯面试:我倒在了网络基础知识
文章目录腾讯面试:我倒在了网络基础知识TCP与UDP的区别TCP的三次握手和四次挥手[TCP三次握手 四次挥手](https://o-fawkes.blog.csdn.net/article/details/77413870)TCP流量控制TCP拥塞控制慢开始:乘法增加拥塞避免:加法增大快重传快恢复参考文章腾讯面试:我倒在了网络基础知识腾讯面试十分注重网络基础知识,问的几乎都是一些细节知识,...
2020-05-04 00:53:02 72133 118
原创 简单分析Spring AOP源码
简单分析Spring AOP源码Spring AOP和IOC是Spring源码的核心,也是面试高频点。本文首先讲述AOP的概念,之后从源码角度分析Spring AOP的原理AOP概念AOP, Aspect Oriented Programming,面向切面编程。面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使
2020-05-20 18:44:33 962 2
原创 不一样的二分查找
不一样的二分查找大家肯定一定非常熟悉二分查找法,如果面试官让你写个二分查找法,估计你会在被子里偷笑,但是如果让人查找目标值的最小索引,即如果有多个相同值,直接返回最小的索引。可以直接查出来任意一个目标值,然后向左遍历,但是还有一种优雅的方式,只要改动一两行代码普通二分查找法//最普通的二分查找法public static boolean binarySearch(int start, int end, int[]arr, int target) { if(start > end)
2020-05-18 23:26:04 614
原创 Java NIO真得就这么简单
Java NIO真得就这么简单大多数人肯定了解Java IO, 但是对于NIO一般是陌生的,但是Java NIO是一个高频知识点,又不得不学,所以本文通过图文+代码的方式,保姆级别的讲述Java NIO的各个知识点。觉得写得好的,希望点个赞,给个收藏。Java IO 与 Java NIO的区别Java IO 与 Java NIO读取文件的差别普通Java IOpublic static void ioReadFile(String fileName) throws Exception {
2020-05-18 22:39:29 2262 24
原创 代码详解适配器模式
文章目录适配器模式适配器的定义适配器的类图代码实例总结适配器模式适配器的定义将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间适配器的类图代码实例鸭子的接口(interface Target)interface Duck{ void scream();}绿帽鸭(ConcreteTarget)class GreenDuck implements Duck{ public void scream() { System.o
2020-05-14 17:51:39 1191
原创 令人头大的慢查询分析
文章目录令人头大的慢查询分析前言explain命名使用方法索引失效情况慢查询分析参考文章令人头大的慢查询分析前言建表语句create table student( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `age` INT(11) NOT NULL, `height` INT(11) NOT NULL, PRIMARY KEY (`id`), KEY `name_i
2020-05-14 11:02:56 3022 30
原创 代码详解工厂方法模式和抽象工厂模式
代码详解工厂方法模式和抽象工厂模式工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类,使一个类的实例化延迟到其子类类图具体代码以生产鼠标为例, 有一个抽象的鼠标工厂,工厂有两个实现,一个是戴尔鼠标工厂,一个是联想鼠标工厂,具体的抽象工厂子类,负责决定生产那种鼠标,将类的实例化延迟到了子类抽象的鼠标工厂类abstract class MouseFactory{ //抽象方法 abstract Mouse createMouse();}抽象工厂的具体实
2020-05-12 11:49:28 1344 1
原创 MySQL存储引擎,Innodb与MyISAM谁更叼?
MySQL存储引擎,Innodb与MyISAM谁更叼?固定套路,问mysql数据库知识的时候,一定会带着问存储引擎,innodb,MyISAM,他们最主要的区别是索引的实现方式,然后是加锁粒度等等的区别,最后还会来到送命题你觉得选择Innodb好,还是MyISAM好,为什么?。本文将主要讲述两个存储引擎的实现方式,顺带介绍一下他们的一些特性区别,和适用场景。非聚集索引与聚集索引MyISAM索引实现MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyI
2020-05-10 12:37:26 2375 25
原创 详解Java垃圾回收器
详解Java垃圾回收器上文讲述了垃圾回收算法,本文介绍垃圾回收器,也就是垃圾回收算法的具体实现。垃圾回收系统一般是基于分代收集策略,所以一个完整的垃圾回收系统一般是新生代垃圾收集器和老年代垃圾收集器搭配使用。唯一特别的是G1垃圾收集器,不仅可以对新生代垃圾进行回收,也可以对老年代垃圾进行回收。下图是各个新生代收集器和老年代收集器搭配使用的情况,下文将详细讲述各个新生代垃圾收集器和老年代垃圾收集器。新生代垃圾回收器SerialSerial收集器是最古老,最稳定以及效率高的收集器,只使用一个线程
2020-05-10 11:34:09 1571 4
原创 垃圾回收机制
垃圾回收机制判断对象是否存活的方法引用计数法每个对象上都有一个引用计数,对象每被引用一次,引用计数器就+1,对象引用被释放,引用计数器-1,直到对象的引用计数为0,对象就标识可以回收。但是这个算法有明显的缺陷,对于循环引用的情况下,循环引用的对象就不会被回收。实例:public class ReferenceCountingGC{ public Object instance = null; private static final int _1MB = 1024 * 1024
2020-05-10 00:38:36 1730 29
原创 你知道这linux几个核心命令吗?
你知道这linux几个核心命令吗?找工作的时候,熟悉linux操作系统是一项不可或缺的技能。熟记几个关键的linux命令,可以以不变应万变top命令Linux top命令用于实时显示进程的动态命令参数d : 改变显示的更新速度n : 更新的次数,完成后将会退出 topp : 指定查看的进程号实例#显示进程信息top#设置信息更新次数,表示更新两次后终止更新显示t...
2020-05-01 21:26:16 3643 21
决策树代码。机器学习实战代码
2019-02-28
PAT advanced 1-50题代码
2016-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人