Java开发面试高频考点学习笔记(每日更新)
Java开发面试高频考点学习笔记(每日更新)1.深拷贝和浅拷贝2.接口和抽象类的区别3.java的内存是怎么分配的4.java中的泛型是什么?类型擦除是什么?5.Java中的反射是什么6.序列化与反序列化7.Object有哪些方法?8.JVM内存模型9.类加载机制10.对象的创建和对象的布局11.Java的四种引用
Jacquelyn38 Jacquelyn38
4年前
JavaScript预解析处理过程原来是这回事
讲解一般来说,Javascript代码的执行包括两个过程:预解析处理过程和逐行解读过程。在代码逐行解读前,Javasript引擎需要进行代码的预处理过程。预解析处理的工作主要是变量提升和给变量分配内存,具体过程是在每个作用域中查找var声明的变量、函数定义和命名函数(函数参数),找到它们后,在当前作用域中给他们分配内存,并给他们设置初始值。预解析设置的初
Wesley13 Wesley13
3年前
java并发编程实战:第十六章
一、什么是内存模型,为什么要使用它如果缺少同步,那么将会有许多因素使得线程无法立即甚至永远看到一个线程的操作结果编译器把变量保存在本地寄存器而不是内存中编译器中生成的指令顺序,可以与源代码中的顺序不同处理器采用乱序或并行的方式来执行指令保存在处理器本地缓存中的值,对于其他处理器是不可见在单线程中,只要
Stella981 Stella981
3年前
SpringBoot,用200行代码完成一个一二级分布式缓存
   缓存系统的用来代替直接访问数据库,用来提升系统性能,减小数据库复杂。早期缓存跟系统在一个虚拟机里,这样内存访问,速度最快。后来应用系统水平扩展,缓存作为一个独立系统存在,如redis,但是每次从缓存获取数据,都还是要通过网络访问才能获取,效率相对于早先从内存里获取,还是差了点。如果一个应用,比如传统的企业应用,一次页面显示,要访问数次redis,
Stella981 Stella981
3年前
GDB原理之ptrace实现原理
在程序出现bug的时候,最好的解决办法就是通过 GDB 调试程序,然后找到程序出现问题的地方。比如程序出现 段错误(内存地址不合法)时,就可以通过 GDB 找到程序哪里访问了不合法的内存地址而导致的。本文不是介绍GDB的使用方式,而是大概介绍GDB的实现原理,当然GDB是一个庞大而复杂的项目,不可能只通过一篇文章就能解释清楚,所以
Wesley13 Wesley13
3年前
CPU知识点一览
关于CPU和程序的执行1、程序的运行过程,实际上是程序涉及到的、未涉及到的一大堆的指令的执行过程。当程序要执行的部分被装载到内存后,CPU要从内存中取出指令,然后指令解码(以便知道类型和操作数,简单的理解为CPU要知道这是什么指令),然后执行该指令。再然后取下一个指令、解码、执行,以此类推直到程序退出。2、这个取指、
Stella981 Stella981
3年前
Android服务开发经验——优雅地活着 by个推推送
具体来说,就是要做到两点:1\.尽可能运行2\.尽可能省电看似寻常的道理,实现起来还真不容易,下面一个个来看:尽可能运行Android系统会根据当前资源状况(主要是内存空闲的情况)对后台服务进行不定期的清理,尤其是当内存高度紧张时,会出现大堆服务交替处于“正在重启服务”的状态。前台服务可以避免这个问题的发生,但是
Wesley13 Wesley13
3年前
Java垃圾回收机制详解
前言Java相比C/C最显著的特点便是引入了自动垃圾回收(下文统一用GC指代自动垃圾回收),它解决了C/C最令人头疼的内存管理问题,让程序员专注于程序本身,不用关心内存回收这些恼人的问题,这也是Java能大行其道的重要原因之一,GC真正让程序员的生产力得到了释放,但是程序员很难感知到它的存在,这就好比,我们吃完饭后在桌
Wesley13 Wesley13
3年前
Java基础之数组队列及Java堆外内存学习笔记[图]
Java基础之数组队列及Java堆外内存学习笔记\图\1.数组1.1数组基本概念:数组是一个容器,可以存储同一数据类型的N个数据;数组是一个数据结构,是数据结构中访问速度最快的;数组是直接通过下标进行定位;数组是属于引用数据类型(数组名中存储的是内存首地址);数组本身只有有length属性(获取数组能存储的数据个数),但是
十月飞翔 十月飞翔
3年前
解决数据库高并发访问瓶颈问题
一、缓存式的Web应用程序架构:  在Web层和db层之间加一层cache层,主要目的:减少数据库读取负担,提高数据读取速度。cache存取的媒介是内存,可以考虑采用分布式的cache层,这样更容易破除内存容量的限制,同时增加了灵活性。二、业务拆分:  电商平台,包含了用户、商品、评价、订单等几大模块,最简单的做法就是在一个数据库中分别创建users、sh