随笔分类 - Java
学习:http://www.cyc2018.xyz/#java,希望学过一遍之后能得到颇多收获
摘要:小而美博客学习地址: SpringBoot开发一个小而美的个人博客 1、购买云服务器 阿里云服务器学生免费领取指南 2、Xshell和Xftp下载与使用 如何使用Xshell连接阿里云服务器 3、安装JDK Linux下使用yum安装jdk 4、安装MySQL 云服务器部署MySQL数据库 按照上述
阅读全文
摘要:本篇内容学习自:Java多线程学习(吐血超详细总结) 基本理论 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。
阅读全文
摘要:学习自: CS-Notes Java并发 Java创建线程的方式有哪些?Java创建线程的三种方式 有三种使用线程的方法: 实现 Runnable 接口; 实现 Callable 接口; 继承 Thread 类。 实现 Runnable 和 Callable 接口的类只能当做一个可以在线程中运行的任
阅读全文
摘要:(这部分待进一步了解分析) ConcurrentHashMap 1、存储结构 static final class HashEntry<K,V> { final int hash; final K key; volatile V value; volatile HashEntry<K,V> next
阅读全文
摘要:学习自CS-Notes Java容器 为了便于理解,以下源码分析以 JDK 1.7 为主。 1、存储结构 内部包含了一个 Entry 类型的数组 table。Entry 存储着键值对。它包含了四个字段,从 next 字段我们可以看出 Entry 是一个链表。即数组中的每个位置被当成一个桶,一个桶存放
阅读全文
摘要:概览 基于双向链表实现,使用 Node 存储链表节点信息。 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.it
阅读全文
摘要:读写分离 写操作在一个复制的数组上进行,读操作还是在原始数组中进行,读写分离,互不影响。 写操作需要加锁,防止并发写入时导致写入数据丢失。 写操作结束之后需要把原始数组指向新的复制数组。 // 测试代码package javaCollection; import java.util.concurre
阅读全文
摘要:同步 他的实现类似与ArrayList,但是使用了synchronized进行同步 public synchronized boolean add(E e) { modCount++; add(e, elementData, elementCount); return true; } private
阅读全文
摘要:概览 因为 ArrayList 是基于数组实现的,所以支持快速随机访问。RandomAccess 接口标识着该类支持快速随机访问。 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess,
阅读全文
摘要:容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。 Collection 1. Set TreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet,Hash
阅读全文
摘要:反射的主要用途 摘自:深入解析Java反射(1) - 基础 很多人都认为反射在实际的 Java 开发应用中并不广泛,其实不然。当我们在使用 IDE(如 Eclipse,IDEA)时,当我们输入一个对象或类并想调用它的属性或方法时,一按点号,编译器就会自动列出它的属性或方法,这里就会用到反射。 反射最
阅读全文
摘要:访问权限 Java 中有三个访问权限修饰符:private、protected 以及 public,如果不加访问修饰符,表示包级可见。 可以对类或类中的成员(字段和方法)加上访问修饰符。 类可见表示其它类可以用这个类创建实例对象。 成员可见表示其它类可以用这个类的实例对象访问到该成员; protec
阅读全文
摘要:public native int hashCode() public boolean equals(Object obj) protected native Object clone() throws CloneNotSupportedException public String toStrin
阅读全文
摘要:final 1、数据 声明数据为常量,可以是编译时常量,也可以是在运行时被初始化后不能被改变的常量。 对于基本类型,final 使数值不变; 对于引用类型,final 使引用不变,也就不能引用其它对象,但是被引用的对象本身是可以修改的。 final int x = 1; // x = 2; // c
阅读全文
摘要:参数传递 Java 的参数是以值传递的形式传入方法中,而不是引用传递。 以下代码中 Dog dog 的 dog 是一个指针,存储的是对象的地址。在将一个参数传入一个方法时,本质上是将对象的地址以值的方式传递到形参中。 package Java基础; public class PassByValueE
阅读全文
摘要:概览 String 被声明为 final,因此它不可被继承。(Integer 等包装类也不能被继承) 在 Java 8 中,String 内部使用 char 数组存储数据。 public final class String implements java.io.Serializable, Comp
阅读全文
摘要:基本类型 byte/8 char/16 short/16 int/32 float/32 long/64 double/64 boolean/~ boolean只有两个值:true、false,可以用1bit来存储,但是具体大小没有明确规定。JVM会在编译时期将boolean类型的数据转换为int,
阅读全文
摘要:json 就是一个键对应一个值,简单的一对一关系。 JSONObject json对象,就是一个键对应一个值(键值对),使用的是大括号{ },如:{key:value} JSONArray json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的 Json对象中添加的是键值对,JS
阅读全文
摘要:Date类(java.util.Date) 时间原点:1970年1月1日 8点0分0秒。 创建日期对象: package blog; import java.util.Date; public class Datetest01 { public static void main(String[] a
阅读全文

浙公网安备 33010602011771号