
java基础
VV伶俐
O(≧口≦)O
展开
-
java编码格式
主要区分清楚内码(internal encoding)和外码(external encoding)就好了。内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编码;外码是程序与外部交互时外部使用的字符编码。“外部”相对“内部”而言;不是char或String在内存里用的内部编码的地方都可以认为是“外部”。例如,外部可以是序列化之后的char或Stri原创 2015-08-25 11:06:52 · 532 阅读 · 0 评论 -
从Java文件的编译到最终执行的过程
JVM(Java虚拟机)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明。Java源文件的编译、下载、解释和执行Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译原创 2015-09-30 11:34:04 · 869 阅读 · 0 评论 -
JAVA正则表达式 Pattern和Matcher
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher对象是一个状态机器,它依据Patt转载 2015-08-16 14:52:02 · 392 阅读 · 0 评论 -
TCP协议之三次握手和四次挥手
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。那如何断开连接呢?简单的过程如下:原创 2015-08-22 15:34:13 · 459 阅读 · 0 评论 -
try catch finally java 异常捕捉
前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理? finally 体遇到 return 怎么办?finally 体里有 System.exit() 方法怎么处理?当 catch 和 finally 体里同时遇上 return 怎么办?相信你在处理异常的时候不是每次都把它 throws 掉就完事了,很多时候异常是需要我们自己来原创 2015-10-07 20:10:46 · 392 阅读 · 0 评论 -
HashMap原理 冲突 拉链 开放地址
了解HashMap原理对于日后的缓存机制多少有些认识。在网络中也有很多方面的帖子,但是很多都是轻描淡写,很少有把握的比较准确的信息,在这里试着不妨说解一二。 对于HashMap主要以键值(key-value)的方式来体现,笼统的说就是采用key值的哈希算法来,外加取余最终获取索引,而这个索引可以认定是一种地址,既而把相应的value存储在地址指向内容中。这样说或许比较概念化,也可能复原创 2015-10-11 11:13:59 · 3412 阅读 · 0 评论 -
java 子类构造函数与父类构造函数
/*子父类中的构造函数在对子类对象进行初始化时,父类的构造函数也会运行那是因为子类的构造函数默认的第一行有一句隐式的语句super()super():会访问父类中空参数的构造函数,而且子类中所有的构造函数默认的第一行都是super()为什么子类一定要访问父类中的构造函数?因为父类中的数据子类可以直接获取,所以子类对象在建立时=,需要查看父类是原创 2015-10-11 20:03:39 · 599 阅读 · 0 评论 -
垃圾回收算法
Java虚拟机的内存区域中,程序计数器、虚拟机栈和本地方法栈三个区域是线程私有的,随线程生而生,随线程灭而灭;栈中的栈帧随着方法的进入和退出而进行入栈和出栈操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这三个区域的内存分配和回收都具有确定性。垃圾回收重点关注的是堆和方法区部分的内存。常用的垃圾回收算法有:(1).引用计数算法:给对象中添加一个引用计数器,每当有一个原创 2015-10-31 14:13:03 · 433 阅读 · 0 评论 -
Java异常
一、 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架, 是Java语言健壮性的一个重要体现。 Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。 在Java API中已经定义了许多异常类,这些异常类分为两大原创 2016-03-31 22:36:17 · 3146 阅读 · 0 评论 -
32位64位编译器各类型数据所占字节
32位编译器char:1个字节char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) shortint : 2个字节int: 4个字节unsigned int: 4个字节float: 4个字节double: 8个字节long: 4个字节原创 2015-08-22 19:42:55 · 1116 阅读 · 0 评论 -
JAVA中内存溢出和内存泄露
内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。Java内存泄漏就是没有及时清理内存垃圾,导致系统无法再给你提供内存资源(内存资源耗尽)。 JAVA中的内存溢出的导致原因很多,最主要的可能是A.由于JVM堆内存设置过小,可以通过-Xms -Xmm设置,B.JVM堆内存是足够的,但只是没有连续的内存空间导致,比如申请连续内存空间的数组原创 2015-08-22 09:23:23 · 464 阅读 · 0 评论 -
java ConcurrentHashMap
术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位原创 2015-08-26 21:55:42 · 488 阅读 · 0 评论 -
Java中Scanner的nextInt(),next(),nextLine()方法总结
看package cn.dx;import java.util.Scanner;public class ScannerTest { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入一个整数");转载 2015-08-16 09:49:14 · 749 阅读 · 0 评论 -
字符串通配符
问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同)?:匹配1个字符输入:通配符表达式;一组字符串。输出:返回匹配的结果,正确输出true,错误输出false知识点字符串运行原创 2015-08-16 10:44:24 · 1222 阅读 · 0 评论 -
JDK源代码研究 TreeSet TreeMap 红黑树算法实现
TreeMap 和 TreeSet 是 Java Collection Framework 的两个重要成员,其中 TreeMap 是 Map 接口的常用实现类,而 TreeSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但 TreeSet 底层是通过 TreeMap 来实现的,因此二者的实现方式完全一样。而 TreeMap 的实现就是红黑树算原创 2015-09-09 21:47:22 · 538 阅读 · 0 评论 -
java多线程理解
实现线程的方式有两种:1、继承java.lang.Thread,并重写它的run()方法,将线程的执行主体放入其中。2、实现java.lang.Runnable接口,实现它的run()方法,并将线程的执行主体放入其中。==>多线程的执行逻辑:当主线程被挂起时, 其它就绪的线程会根据选择最高优先级的来执行;当主线程的挂起时间 > 子线程的执行时间时,子线程执行完后回到主线程,原创 2015-08-25 21:04:51 · 424 阅读 · 0 评论 -
java 平衡二叉树的实现
package com.utils;import java.util.Iterator;import java.util.NoSuchElementException;/** * 平衡二叉树 * 定义:首先它是一种特殊的二叉排序树,其次它的左子树和右子树都是平衡二叉树, * 且左子树和右子树的深度之差不超过1 * 平衡因子:可以定义为左子树的深度减去右子树的深度 * * 平衡二原创 2015-09-05 16:19:48 · 395 阅读 · 0 评论 -
设计模式
设计模式有三种基本类别:创建型模式、结构型模式和行为型模式。A 状态模式:当一个对象状态发生变化时选择该对象的一种行为。属于行为型模式B 装饰器模式:为对象动态添加职责。属于结构型模式C 代理模式:用一个对象表示另一个对象。 属于结构型模式D 观察者模式:一种通知若干类发生变化的机制。属于行为型模式结构型设计模式是从程序的结构上解决模块之间的原创 2015-09-05 17:20:50 · 345 阅读 · 0 评论 -
排序算法时间复杂度对比
解析:几种常见的排序算法对比:排序法平均时间最差情形稳定度额外空间备注冒泡O(n2)O(n2)稳定O(1)n小时较好交换O(n2)原创 2015-09-05 16:44:29 · 398 阅读 · 0 评论 -
java虚拟机自动内存管理机制
之前看周志明的《深入理解java虚拟机》总感觉有点脑袋晕晕的感觉,最近又拿起书来看了看。感觉思路清晰了不少,于是写了个课件,但转念一想这些总归是个人的理解难免会存在一定的局限性于是就把课件写成笔记,让它成为众矢之的,从中想学到写自己未曾注意到或者没想到的东西,这本身就是个不断进步的过程...Java内存划分 程序计数器:当前线程所执行的字节码的行号指示器 Jav原创 2016-04-03 22:43:30 · 518 阅读 · 0 评论