
Java基础
xiao_long_guo
努力!奋斗!
展开
-
final
final修饰变量对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象public class FinalDemo { private int val = 2; private final FinalDemo obj = new FinalDemo(); public void原创 2017-11-12 15:24:04 · 171 阅读 · 0 评论 -
Java基础-class 类的基础方法
Class里的方法1. getClasses 和 getDeclaredClassesgetDeclaredClasses 获取到类里所有的的class ,interface 包括了private ,protected,default,public例子:定义一个Payment的基本类如下public class Payment { protected class Inner...原创 2019-06-03 17:55:09 · 3434 阅读 · 1 评论 -
从demo开始理解跨域
网上很的文章说跨域问题,但都是从理论上来说,我这篇从demo开始重现跨域Demo步骤起2个tomcat在第1个tomcat的webapp下建立文件夹app1,在app1里新建立一个index.jsp,内容如下<script src="https://code.jquery.com/jquery-3.1.0.js"></script&原创 2019-03-14 14:24:28 · 596 阅读 · 0 评论 -
Java基础-泛型
泛型的定义类或接口上定义泛型class Demo<T>{ public void show(T t){ }}interface Demo<T>{ public void show(T t)}方法上定义泛型class Demo{ public <E> void show(E e){ ...原创 2019-01-15 00:06:07 · 200 阅读 · 0 评论 -
HashMap
HashMap的内部结构最关键的是容器,该容器是个Node 类的数组 transient Node<K,V>[] table;Node 代码static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; //关键的next指原创 2017-12-15 22:19:19 · 234 阅读 · 0 评论 -
读源码计划
虽然做java已经有7-8年了,做的最多是业务上的if..else,接触过好多框架,比如 struct ,spring ,mybatis也只是会用。 偶尔用一些设计模式写一些业务逻辑实现,可是好像也不是很深入。 感觉自己的水平停滞不前好久,看了各路大神的指点。 我想做2方面的提升 1.基础,直接看使用的jdk的源码,比如java.util包,这也是这篇blog的初衷。 2.差异化提升,想往原创 2017-12-15 11:42:45 · 205 阅读 · 0 评论 -
自己用java实现二叉树的增,删,查
在看TreeMap的源码之前,有必要先了解下tree这个数据结构,很早之前看java版的数据结构与算法,也是卡到tree这里,没再读下去。现在重新复习这块知识。先从二叉树开始吧,BST 英文 binary search tree 直译二分查找树。某个节点的值都大于该节点的左子树里所有的节点。反之右子树的所有节点的值都大于该节点。记忆 : 大佐(左)节点 有父类节点,原创 2017-12-24 00:19:37 · 3335 阅读 · 0 评论 -
LinkedHashMap 源码解读
我看的JDK1.8的源码先从下面得示例开始public class LinkedHashMapDemo { public static void main(String[]args){ Map m = new HashMap(); m.put(2, "b"); m.put(1, "a"); m.put(3, "c");原创 2017-12-20 23:54:49 · 1075 阅读 · 0 评论 -
HashTable的源码分析
看的是JDK1.8的源码HashTable和HashMap类似: 1.threshold,loadFactor 2.都有扩容机制 3.内部都是单链表的数组不同: 1.HashTable继承Dictionary 2.HashTable里的Capacity不需要2的n次幂 3.HashTable里好多方法是synchronized 4.Hash原创 2017-12-20 09:40:05 · 176 阅读 · 0 评论 -
HashMap 源码分析 -- entrySet()
HashMap extends AbstractMap implements Map AbstractMap implements MapAbstractMap已经实现了map里的一些公共的接口,比如 size(),isEmpty() 等。在AbstractMap里留下了一个abstract 方法public abstract Set<Entry<K,V>> entrySet()HashMa原创 2017-11-15 01:02:40 · 1011 阅读 · 0 评论 -
Exception
Throwable是所有Java程序中错误处理的父类子类有:Error和Exception。Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象(一般是由虚拟机抛出).假如转载 2017-11-12 17:15:37 · 194 阅读 · 0 评论 -
vector和arraylist
vector和arraylist 区别vector 和 arrayList 都是对一段数组进行操作, 都继承了AbstractListvector 实现的都是线程安全的 public synchronized E get(int index) public synchronized E set(int index, E element)public synchronized boolean a原创 2017-11-12 15:47:20 · 150 阅读 · 0 评论 -
java-Annotation总结
java-annotationjava.lang.annotation.Annotation Annotation主类java.lang.annotation.Target 表明了annotation 可以放在哪些类型上,和ElementType进行配合使用java.lang.annotation.ElementType 指明Annotation可以放在哪些类型上如下/** Cl...原创 2019-08-06 14:56:21 · 192 阅读 · 0 评论