Avril Lavigne Blog

Happiness is accompanied by sorrow,and it would turn sunny after rain as well.
If rain remainsafter rain and sorrow remains after sorrow ,please take those farewells easy,
and turn to smiling look for yourself who is never to appear.

JAVA对象OOP-Klass模型

"welcome to ARTAvrilLavigne Blog"

一、HotSpot的对象模型   HotSpot中采用了OOP-Klass模型,它是用来描述Java对象实例的一种模型,OOP(Ordinary Object Pointer)指的是普通对象指针,而Klass用来描述对象实例的具体类型。那么为何要设计这样一个一分为二的对象模型呢?这是因为HotSopt JVM的设计者不想让每个对象中都含有一个vtable(虚函数表),所以就把对象模型拆成k...

JDK8移除永久代

"welcome to ARTAvrilLavigne Blog"

一、移除永久代的原因   首先理解方法区与永久代的区别。在Java虚拟机规范中,方法区在虚拟机启动的时候创建,虽然方法区是堆的逻辑组成部分,但是简单的虚拟机实现可以选择不在方法区实现垃圾回收与压缩。这个版本的虚拟机规范也不限定实现方法区的内存位置和编译代码的管理策略。所以不同的JVM厂商,针对自己的JVM可能有不同的方法区实现方式。在HotSpot中,设计者将方法区纳入GC分代收集。Hot...

JAVA对象分配

"welcome to ARTAvrilLavigne Blog"

一、JAVA创建对象分配   似乎加班太多拖更好久了,最近刚好在充电,该补补作业了…Java语言中,new的对象是分配在堆空间中的,但是实际的情况是大部分的new对象会进入堆空间中,而并非是全部的对象,还有另外两个地方也可以存储new的对象,我们称之为栈上分配以及TLAB(Thread Local Allocation Buffer,即线程本地分配缓存区,这是一个线程专用的内存分配区域)。...

集合遍历时ConcurrentModificationException异常

"welcome to ARTAvrilLavigne Blog"

一、异常说明   今天晚上下班途中同事讨论到使用HashMap遍历时删除key抛出异常报错的问题,搜索一些博文总结如下。在Java开发过程中,使用iterator或者foreach遍历集合的同时对集合进行修改(增加或删除)就会抛出java.util.ConcurrentModificationException异常,现在就以ArrayList(或者HashMap等集合)为例分析这种异常的出...

JAVA设计模式之单例模式

"welcome to ARTAvrilLavigne Blog"

一、简介   单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。   单例模式要求类能够有返回对...

基于python3的you-get视频下载工具

"welcome to ARTAvrilLavigne Blog"

一、you-get介绍   在回看经典的无限挑战2015歌谣祭这一期后,准备从爱奇艺下载保存起来,但是发现爱奇艺流氓地要求下载客户端才能下载。所以拒绝这种方式,发现了一款基于python3的you-get视频下载工具。这是命令行程序,用于从Web下载媒体内容(视频,音频,图像)。例如YouTube,优酷,Bilibili,爱奇艺等等。大致原理:通过抓取URL视频资源的加密方式,然后根据解析...

YOLO目标检测算法基本使用

"welcome to ARTAvrilLavigne Blog"

一、YOLO算法介绍   人类视觉系统快速且精准,只需瞄一眼(You Only Look Once)即可识别图像中物品及其位置。作者用了You Only Look Once的首字母YOLO来表示其算法,相当有趣。YOLO为一种新的目标检测方法,该方法的特点是实现快速检测的同时还达到较高的准确率。作者将目标检测任务看作目标区域预测和类别预测的回归问题。该方法采用单个神经网络直接预测物品边界和类...

看准网模糊信息查看

"welcome to ARTAvrilLavigne Blog"

一、内容模糊化遮挡   闲暇之余去看准网找找幸福感,发现不登录就无法查看,所以找了找原因解决一下。如图所示为看准网上蚂蚁金服的一项面试信息,大部分内容进行了模糊化遮挡处理:   该部分对应的前端代码为: 二、实现不登录查看看准网遮挡信息   本以为该部分隐藏内容在放在js中,但是我在前端js代码中并没有找到。所以我猜想应该是需要认证用户后请求到服务器重新获取该部分内容才行。经验证,实...

设计模式六大原则

"welcome to ARTAvrilLavigne Blog"

  设计模式的六大原则有:单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。 一、单一职责原则   定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。   解决方案:遵循单一职责原则。分别建立两个...

常用推荐算法介绍

"welcome to ARTAvrilLavigne Blog"

一、余弦公式   常用的推荐算法分为:基于内容的推荐、基于内容的协同过滤、基于用户的协同过滤、基于标签的推荐。量化两个事物的相似度,这是推荐系统需要多次面临的问题。我们知道向量的概念,可以形象化地表示为带箭头的线段。二维空间向量表示方法为: 多维空间向量表示为:   比如,假设用户有5个维度: 对IU的喜欢程度(1~5分) 对佐佐木希的喜欢程度(1~5分) 对Avril Lavigne的喜...

みなさんのごおうえんをおねがいします~~