03 2019 档案
摘要:一、概述 流是磁盘或其他外围设备中存储的数据的源点或终点。标准输入输出、文件的操作、网络上的数据流、字符串流、对象流、zip文件流等,java将输入输出抽象为流。 数据流分类:既可以是未经加工的原始二进制数据,也可以是经一定编码处理后符合某种格式规定的特定数据。 1. 字节流:数据流中最小的数据单元
阅读全文
摘要:集合类存放在java.util包中。集合类存放的都是对象的引用,而非对象本身。集合类型主要有3种:set(集)、list(列表)和map(映射) 1. List List集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List集合允许加入重复元素,因为他可以通过索引来访问指定
阅读全文
摘要:基于特征的推荐系统架构: 当用户到来之后,推荐系统需要为用户生成特征,然后对每个特征找到和特征相关的物品,从而最终生成用户的推荐列表。因此,推荐系统的核心任务就被拆解为两部分,一个是如何给定用户生成特征,另一个是如何根据特征找到物品。 用户的特征包括: (1) 人口统计学特征:年龄、性别等 (2)
阅读全文
摘要:一、时间上下文 1. 用户的兴趣是变化的 2. 物品有生命周期 3. 季节效应 系统时间特性的分析 在给定时间信息后,推荐系统从一个静态系统变成了时变系统,而用户的行为数据也变成了时间序列。 二、地点上下文
阅读全文
摘要:基于用户标签的推荐算法步骤 1. 统计每个用户最常用的标签 2. 对于每个标签,统计被打过这个标签次数最多的物品 3. 对于一个用户,首先找到他常用的标签,然后找到具有这个标签的最热门物品推荐给这个用户。
阅读全文
摘要:冷启动主要分为3类: 1. 用户冷启动:主要解决如何给新用户做个性化推荐的问题。对于新用户,没有行为数据,无法根据历史行为预测其兴趣,从而无法为其做个性化推荐。 2. 物品冷启动:主要解决新的物品推荐给可能对它感兴趣的用户 3. 系统冷启动:在一个新开发的网站上设计个性化推荐系统。 一、利用用户注册
阅读全文
摘要:基于用户行为分析的推荐算法是个性化推荐系统的重要算法,学术界一般将这种类型的算法称为协同过滤算法。顾名思义,协同过滤就是指用户可以齐心协力,通过不断地和网站互动,使自己的推荐列表能够不断过滤掉自己不感兴趣的物品,从而越来越满足自己的需求。 一、 用户行为数据简介 用户行为在个性化推荐系统中一般分两种
阅读全文
摘要:1. 概述 java异常是java提供的一种识别及响应错误的一致性机制,java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。 throwable:异常类的最终父类,它有两个子类,Error与Exception。throwable常用的方法: (1) g
阅读全文
摘要:1. 概述 java反射机制是在运行时,能够知道任意一个类的所有属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取信息以及动态调用对象的方法的功能称为java语言的反射机制。反射就是把java类中的各种成分映射成一个个的java对象。 2. 获取Class对象的三种方式
阅读全文
摘要:JDK:编写java程序的程序员使用的软件 JRE:运行java程序的用户使用的软件,包含虚拟机,不包含编译器。为不需要编译器的用户提供的。 1. 三种字符串 String:字符串常量 StringBuffer:字符串变量(线程安全) StringBuilder:字符串变量(非线程安全) 三种字符串
阅读全文
摘要:public class Demo{ //运行代码时,jvm把Demo的信息都放入到方法区 public static void main(String[] args){ //main方法本身放入方法区 People p1 = new People("xiaowang", 22); //p1是引用,
阅读全文
摘要:1. 概述 对于从事c和c++程序开发的开发人员来说,在内存管理领域,他们既拥有最高权力的”皇帝“又是从事最基础工作的”劳动人民“ 既拥有每个对象的”所有权“,又担负着每个对象开始到终结的维护责任。java把内存控制的权利交给了java虚拟机,一旦出现内存泄露和溢出方面的问题,如果不了解虚拟机是怎样
阅读全文
摘要:1. 概述 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机的执行引擎是自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。 2. 运行时栈帧结构
阅读全文
摘要:1. 概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。与那些在编译时需要进行连接工作的语言不同,在java语言中,类型的加载、连接和初始化过程都是在程序运行期间完成的。 2. 类加载的时机
阅读全文
摘要:1. 概述 计算机只认识0和1,所以我们写的程序需要经过编译器翻译成0和1构成的二进制格式才能由计算机执行,现在越来越多的程序语言选择了与操作系统和机器指令集无关的、平台中立的格式作为程序编译后的存储格式。各种不同平台的虚拟机与所有平台都统一使用的程序存储格式--字节码,是构成平台无关性的基石。同时
阅读全文
摘要:java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”。jvm解决的两个问题:给对象分配内存以及回收分配给对象的内存。GC:将内存中不再被使用的对象进行回收。GC的作用域是JVM运行时数据区的方法区和堆。频繁收集Young区;较少收集Old区;基本不动Perm区。 1.概述 垃圾收集
阅读全文
摘要:一、概念: 个性化推荐系统通过建立用户与信息产品之间的二元关系,利用已有的选择过程或相似性关系挖掘每个用户潜在感兴趣的对象,进而进行个性化推荐,其本质就是信息过滤。推荐算法主要有:协同过滤算法、基于内容的推荐系统、混合推荐系统、基于用户——产品二部图网络结构的推荐系统。一个完整的推荐系统由3个部分组
阅读全文