- Java提高篇——equals()与hashCode()方法详解
优雅的心情
#java提高篇
文章目录equals()方法详解hashcode()方法详解Hashset、Hashmap、Hashtable与hashcode()和equals()的密切关系java.lang.Object类中有两个非常重要的方法:publicbooleanequals(Objectobj)publicinthashCode()Object类是类继承结构的基础,所以是每一个类的父类。所有的对象,包括数组,都实现
- 问题记录
银弹星空
关于Handler使用ThisHandlerclassshouldbestaticorleaksmightoccur警告处理Java提高篇——对象克隆(复制)
- 静态代码块,构造代码块,构造函数执行执行顺序详解
zzj0990
Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序阅读目录构造函数构造代码块静态代码块Java类初始化顺序静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行。执行顺序优先级:静态块,main(),构造块,构造方法。构造函数publicHelloA(){//构造函数}关于构造函数,以下几点要注意:1.对象一建立,
- 阿里P7讲解Java进阶之详解匿名内部类
Java高级架构狮
在java提高篇—–详解内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客。在这篇博客中你可以了解到匿名内部类的使用、匿名内部类要注意的事项、如何初始化匿名内部类、匿名内部类使用的形参为何要为final。一、使用匿名内部类内部类匿名内部类由于没有名字,所以它的创建方式有点儿奇怪。创建格式如下:```new父类构造器(参数列表)|实现接口(){//匿名内部
- Java提高篇(二)----LinkedList
miss晴天
一、LinkedList简介LinkedList继承了AbstractSequentialList类,实现了List,Deque,Cloneable,Serializable接口。二、LinkedList源码分析LinkedList底层是一个双向链表,支持大量的随机新增,删除操作,较ArrayList不支持大量随机的数据访问。2.1底层实现--双向链表/***内部类,链的节点*item节点元素*n
- 内部类
四季树
一前言:在开发中常常遇到内部类,但对一些概念不清晰.做下梳理,并添加一些实践心得.其他很多场景都会使用内部类,我们在看到使用内部类或者想使用的时候要对其有很清晰的认识.编码清晰性很关键.参考java提高篇(八)----详解内部类,在此基础上加自己的整理.二基本概念:在一个类(a)中定义一个类(b).a为外部类,b为内部类.Java中类不支持多继承,支持多实现.利用内部类可以曲线多继承.public
- Java提高篇(一)----ArrayList
miss晴天
一、ArrayList简介 ArrayList是实现了List接口的动态数组,元素允许为null,ArrayList是有序的。 注意,ArrayList实现不是同步的。如果多个线程同时访问一个ArrayList实例,而其中至少一个线程从结构上修改了列表,那么它必须保持外部同步。所以为了保证同步,最好的办法是在创建时完成,以防止意外对列表进行不同步的访问:Listlist=Collections
- java提高篇----TreeSet
廖111
java
一、TreeSet定义我们知道TreeMap是一个有序的二叉树,那么同理TreeSet同样也是一个有序的,它的作用是提供有序的Set集合。通过源码我们知道TreeSet基础AbstractSet,实现NavigableSet、Cloneable、Serializable接口。其中AbstractSet提供Set接口的骨干实现,从而最大限度地减少了实现此接口所需的工作。NavigableSet是扩展
- java提高篇----TreeSet
廖111
java
一、TreeSet定义我们知道TreeMap是一个有序的二叉树,那么同理TreeSet同样也是一个有序的,它的作用是提供有序的Set集合。通过源码我们知道TreeSet基础AbstractSet,实现NavigableSet、Cloneable、Serializable接口。其中AbstractSet提供Set接口的骨干实现,从而最大限度地减少了实现此接口所需的工作。NavigableSet是扩展
- 深入理解Java抽象类
基础部分内容差不多讲解完了,今天开始进入Java提高篇部分,这部分内容会比之前的内容复杂很多,希望大家做好心理准备,看不懂的部分可以多看两遍,仍不理解的部分那一定是我讲的不够生动,记得留言提醒我。好了,没时间了,快上车!本篇内容主要讲解Java中的抽象类。那什么是抽象类呢?顾名思义嘛,就是很“抽象”的类,抽象是具体的代名词,就像老板跟你说,大家加油干,努力干活就跟你涨工资,但很多时候都只是光说不做
- Java提高篇(十一):一个tomcat有几个jvm
azhegps
Java提高篇
1、一个tomcat是一个进程,其中有很多线程(与有多少个application无关)2、一个tomcat启动一个JVM,其中可以有很多application3、一个tomcat中部署的多个app,虽然同处一个JVM里,但是由于无法相互调用,所以也可以认为是分布式的Question:在一个servlet容器(比如说tomcat)里部署了3个.war,那么启动后会有几个JVM存在呢,是一个JVM,还
- java提高篇-----异常(一)
iteye_3829
java
Java的基本理念是“结构不佳的代码不能运行”!!!!!大成若缺,其用不弊。大盈若冲,其用不穷。在这个世界不可能存在完美的东西,不管完美的思维有多么缜密,细心,我们都不可能考虑所有的因素,这就是所谓的智者千虑必有一失。同样的道理,计算机的世界也是不完美的,异常情况随时都会发生,我们所需要做的就是避免那些能够避免的异常,处理那些不能避免的异常。这里我将记录如何利用异常还程序一个“完美世界”。一、为什
- java提高篇(十二)-----equals()
chenssy
equals()超类Object中有这个equals()方法,该方法主要用于比较两个对象是否相等。该方法的源码如下:publicbooleanequals(Objectobj){return(this==obj);}我们知道所有的对象都拥有标识(内存地址)和状态(数据),同时“==”比较两个对象的的内存地址,所以说使用Object的equals()方法是比较两个对象的内存地址是否相等,即若obje
- java提高篇(十四)-----字符串
sinat_26960165
点击打开链接可以证明,字符串操作是计算机程序设计中最常见的行为。一、String首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象。查看源码就会发现String类为final型的(当然也不可被继承),而且通过查看JDK文档会发现几乎每一个修改String对象的操作,实际上都是创建了一个全新的String对象。字符串为对象,那么在初始化之前,它的值为null,到这里就有
- java提高篇—主线程等待分支线程执行后才执行的方法
风麒麟
java线程
最近打算去面试,查找一些面试题,看到京东的面试题中题,将查到的进行了总结,希望能对面试的同行有帮助。主线程等待分支线程执行后才执行方法有以下几种:1.使用countdownlatch解释:CountDownLatch是一个同步辅助类,通过它可以完成类似于阻塞当前线程的功能,即:一个线程或多个线程一直等待,直到其他线程执行的操作完成。缺点:事先必须知道要多少个线程,如果不知道有多少个线程,那么这个方
- java提高篇(二五)-----HashTable
chenssy
java数据结构与算法
原文出自:http://cmsblogs.com/?p=618。尊重作者的成果,转载请注明出处!个人站点:http://cmsblogs.com--------------------------------------------------------------------------------------------------------------------------------
- java提高篇 集合大家族
八块腹肌的指头君
集合基本概念一,集合介绍集合是java提供的一种容器,容器就是用来存储数据的。集合与数组都是容器,他们的不同之处是1,数组的长度是固定的,集合的长度是可变的2,数组用来存放基本类型的数据,集合用来存放数据的引用二,常见的集合常用的集合有List集合,Set集合和Map集合,其中List与Set继承了collection接口,各接口还实现了不同的实现类三,集合类的继承关系Collection(收集)
- Java提高篇之常量池
wingooom
java提高java常量池
一.相关概念1.什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。2.Class文件中的常量池在Class文件结构中,最头的4个字节用于存储魔数MagicNumber,用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版本号,再接着是用于存放常量的
- JAVA提高篇(22)--StringReader和StringWriter的用法
白面小书生
Java高级学习笔记
使用字符串作为物理节点的字符输入输出流的用法,即StringReader和StringWriter的用法[java]viewplaincopypackagenet.nyist.io;importjava.io.IOException;importjava.io.StringReader;importjava.io.StringWriter;publicclassStringNodeTest{pub
- Java提高篇 —— Java关键字之final的几种用法
蹲街式等待
Java提高篇Java基础数据结构
一、前言在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们来了解一下final关键字及其用法。二、final关键字在java中,final的含义在不同的场景下有细微的差别,但总体上来说,它指的是“这是不可变的”。不想被改变的原因有两个:效率、设计。使用到final的有三
- JAVA基础提高
CODE男孩
JAVA基础
时不时回过头来看一看基础,偶然间看到一位达人的博客不错,再次收藏一下!java提高篇(一)-----理解java的三大特性之封装http://blog.csdn.net/chenssy/article/details/12757911java提高篇(二)-----理解java的三大特性之继承http://blog.csdn.net/chenssy/article/details/12785831j
- java提高篇(二)-----理解java的三大特性之继承
chenssy
在《Thinkinjava》中有这样一句话:复用代码是Java众多引人注目的功能之一。但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情。在这句话中最引人注目的是“复用代码”,尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是java三大特性之一---继承。继承在讲解之前我们先看一个例子,该例子是前篇博文(java提高篇-----
- java提高篇(七)_关键字static 转自 http://cmsblogs.com
weixin_30369087
一、static代表着什么在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量、数组和对象的引用,堆内存主要存放一些对象。在JVM加载一个类的时候,若该类存在static修饰的成员变量
- java提高篇(十三)-----字符串
chenssy
可以证明,字符串操作是计算机程序设计中最常见的行为。一、String首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象。查看源码就会发现String类为final型的(当然也不可被继承),而且通过查看JDK文档会发现几乎每一个修改String对象的操作,实际上都是创建了一个全新的String对象。字符串为对象,那么在初始化之前,它的值为null,到这里就有必要提下””
- Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序
code_Zbw
Javajava
文章目录一、构造函数二、构造代码块三、静态代码块四、Java类初始化顺序①、对于一个类的情况②、对于继承情况分析静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行。执行顺序优先级:静态块,main(),构造块,构造方法。一、构造函数publicHelloA(){//构造函数}关于构造函数,以下几点要注意:对象一建立,就会调用与之相应的
- Java提高篇(二七)-----TreeMap
chenssy
java提高篇java提高篇java二叉树红黑树TreeMap
原文出自:http://cmsblogs.com/?p=1013。尊重作者的成果,转载请注明出处!个人站点:http://cmsblogs.com-------------------------------------------------------------------------------------------------------------------------------
- java提高篇(四)-----抽象类与接口
chenssy
java提高篇javajava提高篇抽象类接口
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。一、抽象类我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的。如果一个类没有足够的信息来描述一个
- Java提高篇——JVM加载class文件的原理机制
weixin_34248705
在面试java工程师的时候,这道题经常被问到,故需特别注意。1、JVM简介JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“HelloWorld”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibernate等等,再然后就开发企业级的应用,比如网站、企业内部应用、实时交易系统等等,直到某一天突然发现做的系统咋就这么慢呢,而且时不时还来个内存
- Java提高篇——JVM加载class文件的原理机制(转)
diaogu1943
阅读目录1、JVM简介2、JVM的组成部分3、JVM加载class文件的原理机制在面试java工程师的时候,这道题经常被问到,故需特别注意。1、JVM简介JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“HelloWorld”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibernate等等,再然后就开发企业级的应用,比如网站、企业内部应用
- 网路资源整理
chrislin9
资源
资源整理java基础java提高篇(八)----详解内部类java提高38篇java技术驿站java编程思想笔记Java枚举(enum)详解7种常见的用法java8新特性——时间日期APIjava.util.Calendar是否安全?(不安全)Java反射在实际开发中的应用java实现双向链表通过一个实例介绍LinkedList中常用API的用法关于LinkedList使用方法总结线程安全的Cop
- jquery实现的jsonp掉java后台
知了ing
javajsonpjquery
什么是JSONP?
先说说JSONP是怎么产生的:
其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,小可不才,试着用自己的方式来阐释一下这个问题,看看是否有帮助。
1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;
2、
- Struts2学习笔记
caoyong
struts2
SSH : Spring + Struts2 + Hibernate
三层架构(表示层,业务逻辑层,数据访问层) MVC模式 (Model View Controller)
分层原则:单向依赖,接口耦合
1、Struts2 = Struts + Webwork
2、搭建struts2开发环境
a>、到www.apac
- SpringMVC学习之后台往前台传值方法
满城风雨近重阳
springMVC
springMVC控制器往前台传值的方法有以下几种:
1.ModelAndView
通过往ModelAndView中存放viewName:目标地址和attribute参数来实现传参:
ModelAndView mv=new ModelAndView();
mv.setViewName="success
- WebService存在的必要性?
一炮送你回车库
webservice
做Java的经常在选择Webservice框架上徘徊很久,Axis Xfire Axis2 CXF ,他们只有一个功能,发布HTTP服务然后用XML做数据传输。
是的,他们就做了两个功能,发布一个http服务让客户端或者浏览器连接,接收xml参数并发送xml结果。
当在不同的平台间传输数据时,就需要一个都能解析的数据格式。
但是为什么要使用xml呢?不能使json或者其他通用数据
- js年份下拉框
3213213333332132
java web ee
<div id="divValue">test...</div>测试
//年份
<select id="year"></select>
<script type="text/javascript">
window.onload =
- 简单链式调用的实现技术
归来朝歌
方法调用链式反应编程思想
在编程中,我们可以经常遇到这样一种场景:一个实例不断调用它自身的方法,像一条链条一样进行调用
这样的调用你可能在Ajax中,在页面中添加标签:
$("<p>").append($("<span>").text(list[i].name)).appendTo("#result");
也可能在HQ
- JAVA调用.net 发布的webservice 接口
darkranger
webservice
/**
* @Title: callInvoke
* @Description: TODO(调用接口公共方法)
* @param @param url 地址
* @param @param method 方法
* @param @param pama 参数
* @param @return
* @param @throws BusinessException
- Javascript模糊查找 | 第一章 循环不能不重视。
aijuans
Way
最近受我的朋友委托用js+HTML做一个像手册一样的程序,里面要有可展开的大纲,模糊查找等功能。我这个人说实在的懒,本来是不愿意的,但想起了父亲以前教我要给朋友搞好关系,再加上这也可以巩固自己的js技术,于是就开始开发这个程序,没想到却出了点小问题,我做的查找只能绝对查找。具体的js代码如下:
function search(){
var arr=new Array("my
- 狼和羊,该怎么抉择
atongyeye
工作
狼和羊,该怎么抉择
在做一个链家的小项目,只有我和另外一个同事两个人负责,各负责一部分接口,我的接口写完,并全部测联调试通过。所以工作就剩下一下细枝末节的,工作就轻松很多。每天会帮另一个同事测试一些功能点,协助他完成一些业务型不强的工作。
今天早上到公司没多久,领导就在QQ上给我发信息,让我多协助同事测试,让我积极主动些,有点责任心等等,我听了这话,心里面立马凉半截,首先一个领导轻易说
- 读取android系统的联系人拨号
百合不是茶
androidsqlite数据库内容提供者系统服务的使用
联系人的姓名和号码是保存在不同的表中,不要一下子把号码查询来,我开始就是把姓名和电话同时查询出来的,导致系统非常的慢
关键代码:
1, 使用javabean操作存储读取到的数据
package com.example.bean;
/**
*
* @author Admini
- ORACLE自定义异常
bijian1013
数据库自定义异常
实例:
CREATE OR REPLACE PROCEDURE test_Exception
(
ParameterA IN varchar2,
ParameterB IN varchar2,
ErrorCode OUT varchar2 --返回值,错误编码
)
AS
/*以下是一些变量的定义*/
V1 NUMBER;
V2 nvarc
- 查看端号使用情况
征客丶
windows
一、查看端口
在windows命令行窗口下执行:
>netstat -aon|findstr "8080"
显示结果:
TCP 127.0.0.1:80 0.0.0.0:0 &
- 【Spark二十】运行Spark Streaming的NetworkWordCount实例
bit1129
wordcount
Spark Streaming简介
NetworkWordCount代码
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
- Struts2 与 SpringMVC的比较
BlueSkator
struts2spring mvc
1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。 2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring
- Hibernate在更新时,是可以不用session的update方法的(转帖)
BreakingBad
Hibernateupdate
地址:http://blog.csdn.net/plpblue/article/details/9304459
public void synDevNameWithItil()
{Session session = null;Transaction tr = null;try{session = HibernateUtil.getSession();tr = session.beginTran
- 读《研磨设计模式》-代码笔记-观察者模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;
/**
* “观
- 重置MySQL密码
chenhbc
mysql重置密码忘记密码
如果你也像我这么健忘,把MySQL的密码搞忘记了,经过下面几个步骤就可以重置了(以Windows为例,Linux/Unix类似):
1、关闭MySQL服务
2、打开CMD,进入MySQL安装目录的bin目录下,以跳过权限检查的方式启动MySQL
mysqld --skip-grant-tables
3、新开一个CMD窗口,进入MySQL
mysql -uroot
 
- 再谈系统论,控制论和信息论
comsci
设计模式生物能源企业应用领域模型
再谈系统论,控制论和信息论
偶然看
- oracle moving window size与 AWR retention period关系
daizj
oracle
转自: http://tomszrp.itpub.net/post/11835/494147
晚上在做11gR1的一个awrrpt报告时,顺便想调整一下AWR snapshot的保留时间,结果遇到了ORA-13541这样的错误.下面是这个问题的发生和解决过程.
SQL> select * from v$version;
BANNER
-------------------
- Python版B树
dieslrae
python
话说以前的树都用java写的,最近发现python有点生疏了,于是用python写了个B树实现,B树在索引领域用得还是蛮多了,如果没记错mysql的默认索引好像就是B树...
首先是数据实体对象,很简单,只存放key,value
class Entity(object):
'''数据实体'''
def __init__(self,key,value)
- C语言冒泡排序
dcj3sjt126com
算法
代码示例:
# include <stdio.h>
//冒泡排序
void sort(int * a, int len)
{
int i, j, t;
for (i=0; i<len-1; i++)
{
for (j=0; j<len-1-i; j++)
{
if (a[j] > a[j+1]) // >表示升序
- 自定义导航栏样式
dcj3sjt126com
自定义
-(void)setupAppAppearance
{
[[UILabel appearance] setFont:[UIFont fontWithName:@"FZLTHK—GBK1-0" size:20]];
[UIButton appearance].titleLabel.font =[UIFont fontWithName:@"FZLTH
- 11.性能优化-优化-JVM参数总结
frank1234
jvm参数性能优化
1.堆
-Xms --初始堆大小
-Xmx --最大堆大小
-Xmn --新生代大小
-Xss --线程栈大小
-XX:PermSize --永久代初始大小
-XX:MaxPermSize --永久代最大值
-XX:SurvivorRatio --新生代和suvivor比例,默认为8
-XX:TargetSurvivorRatio --survivor可使用
- nginx日志分割 for linux
HarborChung
nginxlinux脚本
nginx日志分割 for linux 默认情况下,nginx是不分割访问日志的,久而久之,网站的日志文件将会越来越大,占用空间不说,如果有问题要查看网站的日志的话,庞大的文件也将很难打开,于是便有了下面的脚本 使用方法,先将以下脚本保存为 cutlog.sh,放在/root 目录下,然后给予此脚本执行的权限
复制代码代码如下:
chmo
- Spring4新特性——泛型限定式依赖注入
jinnianshilongnian
springspring4泛型式依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- centOS安装GCC和G++
liuxihope
centosgcc
Centos支持yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户。
按照这个思路,我想安装过程如下:
安装gcc:yum install gcc
安装g++: yum install g++
实际操作过程发现,只能有gcc安装成功,而g++安装失败,提示g++ command not found。上网查了一下,正确安装应该
- 第13章 Ajax进阶(上)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- How to determine BusinessObjects service pack and fix pack
blueoxygen
BO
http://bukhantsov.org/2011/08/how-to-determine-businessobjects-service-pack-and-fix-pack/
The table below is helpful. Reference
BOE XI 3.x
12.0.0.
y BOE XI 3.0 12.0.
x.
y BO
- Oracle里的自增字段设置
tomcat_oracle
oracle
大家都知道吧,这很坑,尤其是用惯了mysql里的自增字段设置,结果oracle里面没有的。oh,no 我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列
create table t
(
id number generated by default as identity (start with 1 increment b
- Spring Security(01)——初体验
yang_winnie
springSecurity
Spring Security(01)——初体验
博客分类: spring Security
Spring Security入门安全认证
首先我们为Spring Security专门建立一个Spring的配置文件,该文件就专门用来作为Spring Security的配置