自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 开发面试 TopK问题 从排序算法优化的角度分析海量数据TopK优化问题

海量数据的TopK问题几乎是后台开发面试必备题,本文从排序算法从0优化的角度分析TopK问题的优化。 什么是TopK问题:给定一个很大的数据量n,要求从n中提取出最大/最小/重复频度最高的K个数(K相对于n较小,如n为10亿量级,而K为100)。 解决这个问题,很容易想到要使用排序算法,首先,使用方法1笨办法 – 全部排序,解出来再说。 将n个数全部排序 使用普通排序,将n个数全部排序之后,取...

2019-02-28 13:38:55 645

原创 Spring入门教程 学习笔记 IOC控制反转DI依赖注入AOP面向切面编程详细解析

Spring Spring框架是以简化Java EE应用程序的开发为目标而创建的 DI和AOP: 基于注解+反射+动态代理,见《java编程的逻辑》p573、p584 用Java实现AOP 面向切面编程 Aspect Oriented Programming 在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。AOP技术恰恰相反,它利用一种称为"横切"的技术,剖解开封装的对象内部,并将...

2019-02-28 13:31:33 601 1

原创 Session和Cookie的关系. Cookie禁用之后Session是否受到影响?

由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。在服务端保...

2019-02-22 11:18:45 1095

原创 JVM GC垃圾收集器详解

垃圾收集器 GC主要用于JVM堆内存的管理自动化,分析需要回收的内存依靠的算法为可达性分析。 收集器 串行、并行or并发 新生代/老年代 算法 目标 适用场景 Serial 串行 新生代 复制算法 响应速度优先 单CPU环境下的Client模式 Serial Old 串行 老年代 标记-整理 响应速度优先 单CPU环境下的Client模式、CMS的后备预案 ParNew 并...

2019-02-22 11:17:45 314

原创 JVM类加载过程详解 & 类加载器的两种架构模型:双亲委派模型和OSGi模块化模型

类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。 类加载的过程包括了加载、验证、准备、解析、初始化五个阶段 (验证、准备、解析合称连接阶段) 记:加载-验证,准备-解析,初始化 加载 载入字节流 ​ 加载时类加载过程的第一个阶段,在加载阶段,虚拟机需要完成以下三件事情: 通过一个类的全限定名来获取其定义的二进制字节...

2019-02-22 10:32:35 492

原创 Java代码优化技术 编译期优化 - 前期优化,运行时优化 - 后期优化

优化 分为编译期优化和运行时优化 编译期优化 前端编译:字节流 -> 抽象语法树 -> jvm规范class字节码 javac优化:语法糖:在编译期解语法糖。 泛型及其擦除,自动拆装箱,Foreach循环,变长参数,条件编译,内部类,枚举类,断言语句,对字符串的switch支持,字符串加法 泛型 java中的泛型只存在于源码中,会在编译期间替换为原生类型,在字节码中已经不存在泛型,...

2019-02-22 10:17:50 287

原创 《Java编程的逻辑》学习笔记

Java编程的逻辑 编程基础 基本数据类型分类 整数类型:有4种整型byte/short/int/long,分别有不同的取值范围: 8, 16, 32, 64位,(1,2,4,8个字节) 存放(-27~27-1, …, -231~231-1,…) 在给long类型赋值时,如果常量超过了int的表示范围,需要在常量后面加大写或小写字母L,因为数字常量默认为是int类型。 类似的, 对于floa...

2019-02-21 16:28:38 792 1

空空如也

空空如也

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

TA关注的人

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