java基础知识
zhanghua01721
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java synchronized 线程同步
1、synchronized 关键字作用域有两种: 1)某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的sync转载 2013-01-23 11:28:17 · 206 阅读 · 0 评论 -
Java HashMap的工作原理
面试的时候经常会遇见诸如:“java中的HashMap是怎么工作的”,“HashMap的get和put内部的工作原理”这样的问题。本文将用一个简单的例子来解释下HashMap内部的工作原理。首先我们从一个例子开始,而不仅仅是从理论上,这样,有助于更好地理解,然后,我们来看下get和put到底是怎样工作的。我们来看个非常简单的例子。有一个”国家”(Country)类,我们将要用Country转载 2015-01-05 16:56:50 · 308 阅读 · 0 评论 -
Java 8:HashMap的性能提升
HashMap是一个高效通用的数据结构,它在每一个Java程序中都随处可见。先来介绍些基础知识。你可能也知道,HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶里。桶的数量通常要比map中的记录的数量要稍大,这样每个桶包括的值会比较少(最好是一个)。当通过key进行查找时,我们可以在常数时间内迅速定位到某个桶(使用hashCode()对桶的数量进行取模)以及要转载 2015-01-05 17:09:01 · 325 阅读 · 0 评论 -
JSON和XML比较
XML设计了两种解析方式:DOM和SAX。DOM是把一个数据交换格式XML看成一个DOM对象,需要把XML文件整个读入内存,这一点上JSON和XML的原理是一样的,但是XML要考虑 父节点和子节点,这一点上JSON的解析难度要小很多,因为JSON构建于两种结构:key/value,键值对的集合;值的有序集合,可理解为数组;SAX不需要整个读入文档就可以对解析出的内容进行处理,是一种逐步解析转载 2014-02-26 17:12:19 · 404 阅读 · 0 评论 -
Map取值四种方法
public static void main(String[] args) { Map map = new HashMap(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过转载 2013-06-17 17:27:48 · 2018 阅读 · 0 评论 -
堆和栈的 区别
堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵转载 2013-05-23 11:56:48 · 297 阅读 · 0 评论 -
接口和抽象类之间的关系
接口和抽象类之间的关系:相同点:(1)接口和抽象了都不能被实例化,它们都位于继承树的顶端,用于被其他的类实现和继承。(2)接口和抽象类都是可以包含抽象方法的,实现接口或是继承抽象类的普通子类都必须实现这些抽象方法。不同点: (1)接口只能包含抽象方法,不能包含已经提供实现的方法;抽象类则完全可以包含普通的方法(2)接口不能定义静态方法;抽象类完全可以定义静态方法。(3)接口转载 2013-05-08 15:39:17 · 381 阅读 · 0 评论 -
4种基本的xml解析方案
1、DOM为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)。 import java.转载 2013-05-07 17:48:54 · 342 阅读 · 0 评论 -
7中字符串反转方法
import java.util.Stack;public class StringReverse { public static String reverse1(String s) { int length = s.length(); if (length <= 1) return s; String left = s.substring(0, lengt转载 2013-04-19 13:16:10 · 312 阅读 · 0 评论 -
REST和SSH
解释:维基百科(http://zh.wikipedia.org/zh-cn/REST)1、REST是基于HTTP的处理web项目前后台交互的架构。它给后台的每个service(或者叫resource,简单说就是后台的一个java类,一个方法)都定义了一个独一无二的url。2、使用SSH框架时,可以依循REST架构模式,以使软件有良好的架构。但是REST不限于 Web开发,特别是在网络服务的原创 2013-04-01 16:56:42 · 554 阅读 · 0 评论 -
反射
package com.demo;public class tt { public void test1(){ System.out.println("----------tt.1111"); } public static void test2(String s1,int a){ System.out.println("----------tt.222 s原创 2013-03-29 11:21:03 · 378 阅读 · 0 评论 -
Java中static、final用法小结
一、final1.final变量:当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中。这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了转载 2013-01-16 10:56:10 · 219 阅读 · 0 评论 -
I/O
编程语言的I/O类库中常常使用流这个抽象的概念,它代表任何有能力产生数据的数据源对象或时有能力接收数据的接收端对象。“流”概念源于UNIX中的管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等,它屏蔽了实际的I/O设备中处理数据的细节。 一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Inte转载 2013-01-15 16:28:15 · 208 阅读 · 0 评论
分享