关闭
当前搜索:

HashMap的工作原理--重点----数据结构示意图的理解

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入......
阅读(17) 评论(0)

jdk1.6 1.7 1.8 运行时常量池位置的变化

运行如下代码来探究常量池的位置 public static void main(String[] args) throws Throwable { List list = new ArrayList(); int i=0; while(true){ list.add(String.valueOf(i++).i...
阅读(30) 评论(0)

JAVA变量及内存分配

JAVA变量的要素包括便变量名、类型、作用域。本质上讲,变量实际上是内存中的一块区域,使用变量名来访问这块区域。每个变量使用前必须要先声明,然后赋值才可以使用。 根据变量的声明位置,可以分成 ①局部变量:声明在方法体内(包含方法的参数)或语句块内部的变量。 ②成员变量:声明在方法体外,类内部的变量。成员变量可以使用任何一种数据类型,包括引用类型和基本类型(见下面),在定义成员变量...
阅读(20) 评论(0)

分页

最近做一个项目,要用到分页功能,参考了很多方法,有的不合适,有的不喜欢,于是自己在他们的基础上整了一个;思路是这样的:先把需要分页的数据或是记录都查询出来 存入一个集合类里如List或是Vector,然后利用其sublist(int findex,int eindex)方法,获取需要分页的数据或记录,关于sublist()函数就自己去查API了。下面贴下代码吧,首先是将分页所需的一些个东东抽象出一...
阅读(125) 评论(0)

java堆、栈、方法区、常量池

1:栈    在函数中定义的一些基本类型的变量数据和对象的引用变量都在函数的栈内存中分配。      当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当该变量退出该作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。    每个线程包含一个栈区,每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。栈分为3个部分:...
阅读(36) 评论(0)

java中volatile关键字的含义

在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。   synchronized  同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synch...
阅读(24) 评论(0)

java中成员变量和局部变量的初始化

java中成员变量和局部变量的初始化 成员变量的初始化 在java中,成员变量存在于类之内,方法和代码块之外。 class A{ 修饰符 数据类型 成员变量名; 方法(){} }1234 这类变量在创建时如果不给初始化值,创建之后java会自动赋默认值: 基本数据类型 默认值 byte 0 short 0 in...
阅读(34) 评论(0)

JAVA中this用法小结

Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的thi...
阅读(20) 评论(0)

十张图解释机器学习的基本概念

在解释机器学习的基本概念的时候,我发现自己总是回到有限的几幅图中。以下是我认为最有启发性的条目列表。 1. Test and training error: 为什么低训练误差并不总是一件好的事情呢:ESL 图2.11.以模型复杂度为变量的测试及训练错误函数。 2. Under and overfitting: 低度拟合或者过度拟合的例子。PRML 图1.4.多项式曲线有...
阅读(46) 评论(0)

范数的直觉性理解

思考了一些关于范数的直觉性理解,想先记下来,好好消化消化。 关于矩阵的理解,这里有一篇文章非常不错,对矩阵的直觉理解有深入的剖析,如何理解线性代数 那么在链接的文章中,如果你看过了,就可以理解两个重要的概念: 1.矩阵的本质是运动(跃迁)的描述,线性变换是描述运动的过程,所以线性变换可以用矩阵来表示。 2.一个对象可以表达为无穷多个合理选择的对象的线性和。所以向量表征对象,...
阅读(44) 评论(0)

[Machine Learning] 梯度下降法的三种形式BGD、SGD以及MBGD

阅读目录 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. 总结   在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练。其实,常用的梯度下降法还具体包含有三种不同的形式,它们也各自有着不同的优缺点。   下面我们以线性回归算法来对三种梯度下降法进行比较。   一般线性回归函数的假设函数为: h...
阅读(81) 评论(0)

机器学习之训练集_验证集_测试集

在NG的ML课程中和西瓜书中都有提到:最佳的数据分类情况是把数据集分为三部分,分别为:训练集(train set),验证集(validation set)和测试集(test set)。那么,验证集和测试集有什么区别呢?   实际上,两者的主要区别是:验证集用于进一步确定模型的参数(或结构)而测试集只是用于评估模型的精确度!   举个例子:假设建立一个BP神经网络,对于隐含层的节点数目,...
阅读(122) 评论(0)

海量数据处理十个方法大总结

第一部分、十道海量数据处理面试题 1、海量日志数据,提取出某日访问百度次数最多的那个IP。       首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率...
阅读(118) 评论(0)

tomcat设置直接通过域名访问项目(不需要接 /项目名)

效果图 打开 tomcat - ->conf- ->server.xml 编辑> 修改端口号为80端口(是为了避免http://192.29.193.128:8080/项目名) 改成如下代码 Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" ...
阅读(242) 评论(0)

spring:控制反转

一、 ioc的思想 ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,这可以带来很多好处。第一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度。 也就是说,甲方要达成某种目的不需要直接依赖乙方,它只需要达到的目的告诉第三方机构就可以了,比如甲方需要一双袜子,而乙方它卖一双袜子,它要把袜子卖出去,并不需要自...
阅读(69) 评论(0)

[python] 时间序列分析之ARIMA

1 时间序列与时间序列分析 在生产和科学研究中,对某一个或者一组变量 x(t) 进行观察测量,将在一系列时刻 t1,t2,⋯,tn 所得到的离散数字组成的序列集合,称之为时间序列。  时间序列分析是根据系统观察得到的时间序列数据,通过曲线拟合和参数估计来建立数学模型的理论和方法。时间序列分析常用于国民宏观经济控制、市场潜力预测、气象预测、农作物害虫灾害预报等各个方面。 2 时间序列建...
阅读(69) 评论(0)

网站缓存技术总结( ehcache、memcache、redis对比)

网站技术高速发展的今天,缓存技术已经成为大型网站的一个关键技术,缓存设计好坏直接关系的一个网站访问的速度,以及购置服务器的数量,甚至影响到用户的体验。 网站缓存按照存放的地点不同,可以分为客户端缓存、服务端缓存。 客户端缓存 客户端缓存又可分为:浏览器缓存、网关或代理服务器缓存 网关或代理服务器缓存是将网页缓存中网关服务器上,多用户访问同一个页面时,将直接从...
阅读(366) 评论(0)

高可用与高并发

概念解析: 高可用HA(High Availability)是分布式系统架构中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。 假设系统一直能够提供服务,那么该系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,那么该系统的可用性是99%。 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是...
阅读(180) 评论(0)

Struts2工作原理和执行流程图

1、Struts2请求响应流程:   在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller、ActionProxy、ActionMapping、Configuration Manager、ActionInvocation、Inerceptor、Action、Result等。下面根据 struts2.0体系架构图来解析这些组件之间的联系...
阅读(90) 评论(0)

Beanutils基本用法

Beanutils用了魔术般的反射技术,实现了很多夸张有用的功能,都是C/C++时代不敢想的。无论谁的项目,始终一天都会用得上它。我算是后知后觉了,第一回看到它的时候居然错过。 1.属性的动态getter,setter 在这框架满天飞的年代,不能事事都保证执行getter,setter函数了,有时候属性是要需要根据名字动态取得的,就像这样:   BeanUtils.getProperty...
阅读(45) 评论(0)
37条 共2页1 2 下一页 尾页
    个人资料
    • 访问:3843次
    • 积分:138
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:33篇
    • 译文:0篇
    • 评论:0条
    文章分类