浅谈HashMap

版本 jdk1.7.0_06 引入 ​ HashMap是java中常用的集合类之一,几乎每个程序员都知道它,也会在不经意间使用到它。HashMap常会被用来与Hashtable和ConcurrentHashMap作比较。在弄清它们的区别前,首先应该了解下各个类底层究竟是怎么实现的。本文就...

2019-05-19 16:02:19

阅读数 2

评论数 0

抽象类与接口的区别

什么是抽象类 在java中,使用abstract修饰的类就是一个抽象类。如下就是一个抽象类: /** * 抽象类 */ public abstract class A { /** * 抽象类中可以有成员变量,可以有常量 */ private int...

2018-03-18 23:08:21

阅读数 180

评论数 0

继承和组合的区别

什么是继承 继承是面向对象三大基本特征之一(继承,封装,多态),继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。在java中通过关键字extends实现继承,java中所有类默认都是java.lang.Object的...

2018-03-18 23:03:32

阅读数 1394

评论数 0

java中的代理模式(Proxy)

代理模式介绍 什么是代理模式 代理模式:为其他对象提供一种代理以控制对这个对象的访问; 代理模式的好处:在目标对象的基础上,去添加额外的功能操作,而不修改原先的业务方法。让业务方法去专注于自己的业务逻辑。代理模式让我们可以去扩展目标对象的功能。 通俗点,就是有个代理人去帮我们处理琐碎的...

2018-01-11 16:49:35

阅读数 260

评论数 0

java中的fail-fast(快速失败)机制

引入 在前面介绍ArrayList的扩容问题时对于modCount的操作没有详细说明,该变量的操作在add,remove等操作中都会发生改变。那么该变量到底有什么作用呢? 简介 fail-fast 机制,即快速失败机制,是java集合(Collection)中的一种错误检测机制。当在迭代集合的过程...

2017-10-30 16:38:06

阅读数 6361

评论数 0

浅谈ArrayList动态扩容

环境:eclipse,jdk1.8 简介 ArrayList实现了List接口,继承了AbstractList,底层是数组实现的,一般我们把它认为是可以自增扩容的数组。它是非线程安全的,一般多用于单线程环境下(与Vector最大的区别就是,Vector是线程安全的,所以ArrayList 性能相对...

2017-10-23 22:54:24

阅读数 30327

评论数 8

浅谈Java泛型中的<? extends E>和<? super E>的区别

引入 再说这个之前,先来看一段代码: 假设有这么几个类及其继承关系,后面的例子也用这几个类作为基础示范 class People { //人 } class Man extends People { //男人 } class Woman extends People { ...

2017-09-23 21:50:30

阅读数 1535

评论数 2

哈夫曼树与哈夫曼编码

哈夫曼树 哈夫曼树又称最优二叉树, 是一种带权路径长度最短的二叉树。在这个二叉树中,只有叶子节点才是有效的数据节点,其他只是作为路径而构造的。 带权路径长度 又称WPL,树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度,即树中所有叶节点的带权路径长度之和。 WPL= (W1*L...

2017-09-22 22:15:47

阅读数 398

评论数 0

mybatis中的#和$的区别

简介     MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ol...

2017-09-22 22:10:18

阅读数 8583

评论数 1

死锁的定义、产生原因、必要条件和处理方法

死锁的定义 在一组进程发生死锁的情况下,这组死锁进程中的每个进程,都在等待另一个死锁进程所占有的资源。死锁的定义如下: 如果一个进程中的每一个进程都在等待仅该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。 死锁的产生原因 死锁的起因,通常是源于多个进程对资源的争夺,不仅对不可抢占...

2017-09-20 23:31:22

阅读数 537

评论数 0

java中非静态内部类可以有常量但不能有staic修饰的属性

先看下面的代码: package com.howard.test; /** * java中非静态内部类不能有staic修饰的属性,但可以有常量 * 2017年9月12日 * @author hongwu */ public class Test2 { public static...

2017-09-20 23:24:02

阅读数 275

评论数 0

最大奇约数

package com.howard.algorithm.test; import java.util.Scanner; /** * 小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 1...

2017-08-31 22:05:48

阅读数 167

评论数 0

java中创建对象的几种方法

这是前段时间在某本书上看到的文章,具体是什么书名我也忘了。只记得当时做了记录。 最常见的就是通过new的方式来创建对象,这种方式通过调用构造方法来完成。除此之外,还有以下三种方式可以创建对象。 方法1:通过调用对象的clone方法 package com.howard.demo.cons...

2017-08-31 21:42:17

阅读数 266

评论数 0

交错01串

package com.howard.algorithm.test; import java.util.Scanner; /** * [编程题] 交错01串 * 时间限制:1秒 * 空间限制:32768K * 如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01...

2017-08-31 21:26:32

阅读数 219

评论数 0

数字翻转

package com.howard.algorithm; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * [编程题] * 时间限制:1秒 * 空间限制:32768K ...

2017-08-31 21:11:05

阅读数 170

评论数 0

优雅的点

package com.howard.algorithm; import java.util.Scanner; /** * 优雅的点 * 时间限制:1秒 * 空间限制:32768K * 小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅...

2017-08-31 21:07:49

阅读数 155

评论数 0

Nginx配置文件nginx.conf详解

#定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log...

2017-07-31 11:45:06

阅读数 241

评论数 0

nginx反向代理和负载均衡

一、反向代理       通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理 服务器向Internet上的web服务器发起请求,最终达到客户机上网的目的。       而反向代理(...

2017-07-28 20:32:35

阅读数 471

评论数 1

nginx虚拟主机的配置

一、说明       虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响的。 在nginx安装目录下的conf文件夹里,有个nginx.conf的...

2017-07-28 20:12:45

阅读数 527

评论数 0

nginx的安装和配置

一、什么是nginx    Nginx是一个使用c语言开发的高性能的http服务器及反向代理服务器。    Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发...

2017-07-28 20:04:33

阅读数 359

评论数 0

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