- 博客(11)
- 资源 (7)
- 收藏
- 关注
原创 Java中为什么重写equals()就一定要重写hashCode()?
Java中为什么重写equals()就一定要重写hashCode()? 因为HashSet、HashMap以及HashTable中比较key值时认为只有两者的hashCode值相等和equals()比较结果都相等时才为同一key。本来Object类中的equals()相等时hashCode()必然相等,现在如果仅仅重写了equals()就打破了这种逻辑,导致两个明明equals
2016-08-28 01:47:31 763
转载 Java并发编程:volatile关键字解析
原文地址:http://www.cnblogs.com/dolphin0520/p/3920373.html一.内存模型的相关概念大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写
2016-08-27 19:45:08 388
转载 Spring利用Quartz实现定时调度
Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz:首先我们来写一个被调度的类:package com.kay.quartz;public class QuartzJob { public void work(){ System.out.println("Quartz的任务调度!!!"); }
2016-08-25 17:51:40 197
转载 编程的智慧
编程的智慧编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。然而由于软件行业喜欢标新立异,喜欢把简单的事情搞复杂,我希望这些文字能给迷惑中的人们指出一些正确的方向,让他们少走一些弯路,基本做到一分耕耘一分收获。反复推敲代码既然“天才是百分之一的灵感,百分之九十九的汗水”,那我先来
2016-08-25 11:01:04 189
原创 实现ArrayList和HashMap类
实现ArrayList类,定义为MyArrayList.package practice.collections.myArrayList;/** * 实现ArrayList类 * @author 835890 * * @param */public class MyArrayList { private int capacity = 16; private int s
2016-08-25 10:50:23 394
转载 java中String类为什么要设计成不可变的
1.什么是不可变?String不可变很简单,如下图,给一个已有字符串“abcd”第二次赋值成"abced",不是在原内存地址上修改数据,而是重新指向一个新对象,新地址。2.String为什么不可变?翻开JDK源码,java.lang.String类起手前三行,是这样写的:public final class String implements java.io.Ser
2016-08-24 14:38:10 10976 9
转载 定义了两个变量 int i,j;空间复杂度是O(1)吗
你没理解时间复杂度和空间复杂度这两种概念的内涵复杂度指的往往是跟数据量有关的,是指在未知数据量的时候,或者说动态数据量的时候先说空间复杂度,顾名思义,就是你的程序要用多少个内存空间。但这并不是一个具体的数字,因为谁也不知道你的程序真正会具体用到多少字节,所以这只是一个大概的评价算法的一个概念。无论你的程序是用1字节内存还是1亿字节内存,只要这个数字是确定的,你都可以说你的程序的空间复杂
2016-08-17 17:23:14 1535
转载 JVM参数-Xms -Xmx PermSize MaxPermSize的含义
1.参数的含义-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M-vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了-Xms128m JVM初始分配的堆内存-Xmx512m JVM最大允许分配的堆内存,按需分配-XX:PermSize=64M JVM初始分配的非堆内存-
2016-08-16 19:37:40 1088
原创 ArrayList线程不安全性验证及解决方法
ArrayList的add()方法执行过程如下:public boolean add(E e) { ensureCapacity(size + 1); // Increments modCount!! elementData[size++] = e; return true; }分为两个步骤:(1)将add的元素放到size位置(2)将size加1线程不安全
2016-08-09 15:50:27 1185
转载 泛型是什么?为什么要使用泛型?
我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int型数据,另一个是处理String类型数据,或者其它自定义类型数据,但是我们没有办法,只能分别写多个方法处理每种数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现就是专门解决这个问题的。为什么要使用泛型为了了解这个问题,我们先看下面的代码,代码省略了一
2016-08-07 00:06:21 21807 7
转载 JNDI到底是什么,有什么作用
原文地址:http://shitou521.iteye.com/blog/696006NDI的一篇文章前端时间总是在搞不清JNDI到底是干什么,虽然是一值在用,却不知道他最初出现的原因,用来,说不清是用来干什么,下面我相信介能解开这个迷雾里。【转贴一篇】 ------------ JNDI是 Java 命名与目录接口(Java Naming and Di
2016-08-01 21:49:56 424
酒店管理平台(element+vuejs+springboot+mybatis)
2018-03-27
NPPJSONViewer
2017-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人