Java
文章平均质量分 95
灰灰是菇凉呀
欢迎访问个人博客——http://huihui.couplecoders.tech
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AbstractStringBuilder源码分析
抽象类AbstractStringBuilder实现了接口Appendable和CharSequence,接口Appendable中有三个重载的append方法,专门来处理字符串的添加操作。Appendable append(CharSequence csq) throws IOException;Appendable append(CharSequence csq, int start, ...原创 2018-12-17 16:34:38 · 318 阅读 · 0 评论 -
Tomcat获取Nginx反向代理的客户端域名
问题Nginx反向代理之后,Tomcat应用通过request.getHeader("host")取到的是Nginx的host,并非客户端浏览器地址栏上的真实域名。例如在某一台服务器上,Tomcat的端口号为8080,Nginx的端口号为80,Nginx反向代理8080端口。server { listen 80; location / { proxy_pas...原创 2018-12-11 15:47:06 · 722 阅读 · 0 评论 -
Java基本类型和包装类
基本类型。byte、short、int、long、float、double、char和boolean。包装类。Byte、Short、Integer、Long、Float、Double、Character和Boolean。基本类型所占字节数及默认值。基本类型所占字节取值范围默认值byte1−27-2^{7}−27~27−12^{7}-127−1...原创 2018-12-11 15:44:57 · 165 阅读 · 0 评论 -
Java创建线程的三种方式
Javaz创建线程主要有三种方式:继承Thread类创建线程、实现Runnable接口创建线程和实现Callable和Future创建线程。继承Thread类public class Thread1 extends Thread { @Override public void run() { for (int i = 0; i < 10; i++) {...原创 2018-12-11 15:44:00 · 146 阅读 · 0 评论 -
Java序列化与反序列化
序列化与反序列化Java对象是有生命周期的,当生命周期结束它就会被回收,但是可以通过将其转换为字节序列永久保存下来或者通过网络传输给另一方。把对象转换为字节序列的过程称为对象的序列化;把字节序列恢复为对象的过程称为对象的反序列化。Serializable接口一个类实现java.io.Serializable接口就可以被序列化或者反序列化。实际上,Serializable接口中没有任何变量...原创 2018-12-11 15:42:54 · 160 阅读 · 0 评论 -
Java 8 接口新特性
在Java SE 8之前,接口中是不能提供方法实现的,但是JDK8提供了接口的默认方法和静态方法的支持。默认方法方法前加default关键字就可以提供默认实现,类实现接口时,可以继承接口的默认方法,也可以覆盖默认方法。interface People { default void eat(String name) { System.out.println(name ...原创 2018-12-11 15:41:31 · 2013 阅读 · 2 评论 -
Java StringBuffer和StringBuilder源码阅读
StringBuffer和StringBuilder的类关系图如下,可以看出,两者都继承了序列化接口Serializable,都实现了抽象类AbstractStringBuilder。StringBuffer和StringBuilder的源码几乎相同,而且方法大都调用了父类AbstractStringBuilder的方法,不同之处就在于StringBuffer多了一个变量toStringC...原创 2018-12-16 19:16:16 · 310 阅读 · 0 评论 -
Java 源码--String
String类被定义为final,实现了Serializable、Comparable和CharSequence接口。String的值是char类型数组。private final char value[];在方法isEmpty()中,判断的其实就是字符串的长度,长度为0返回true。public boolean isEmpty() { return value.length ...原创 2018-12-16 19:15:19 · 216 阅读 · 0 评论 -
Java 源码--Long
字段MIN_VALUELong的最小值。@Native public static final long MIN_VALUE = 0x8000000000000000L;MAX_VALUELong的最大值。@Native public static final long MAX_VALUE = 0x7fffffffffffffffL;TYPE类原始类型long的类实例。@S...原创 2018-12-16 19:14:15 · 385 阅读 · 0 评论 -
Java 源码--LinkedList
LinkedList类继承了AbstractSequentialList抽象类,实现了List、Deque、Cloneable、Serializable接口。由此可以看出,LinkedList也是一种双端队列。LinkedList是基于链表实现的,每个元素是一个结点。private static class Node<E> { E item; Node<E&...原创 2018-12-16 19:13:30 · 165 阅读 · 0 评论 -
Java 源码--Character
Character被定义为final,不可以被继承,实现了Serializable和Comparable的接口。字段MIN_RADIX最小基数。public static final int MIN_RADIX = 2;MAX_RADIX最大基数。public static final int MAX_RADIX = 36;MIN_VALUE最小值。public stat...原创 2018-12-16 19:12:39 · 348 阅读 · 0 评论 -
Java 源码--Arrays
前言数组比较特殊,一个数组属于一个对象,但是它的创建方式却不同于一般对象。Java中的数组创建数组有以下三种方式:// 第一种int[] array = new int[5];// 第二种int[] array = {1, 2, 3, 4, 5};// 第三种int[] array = new int[]{1, 2, 3, 4, 5};判断数组是否属于一个对象可使用下列语句:...原创 2018-12-16 19:11:57 · 304 阅读 · 0 评论 -
Java 源码--Object
Object是Java的基类,它的大部分方法都是native修饰的,标记方法是Java中的本地方法,一般是用C/C++语言实现的。下面我们就来分析一下这个类。registerNatives方法将C/C++种的方法映射到Java中的native方法,实现方法命名的解藕。此函数在类的静态代码块中,在类首次加载时执行。private static native void registerNativ...原创 2018-12-16 19:11:13 · 138 阅读 · 0 评论 -
Java 源码--ArrayList
ArrayList类继承了AbstractList抽象类,AbstractList抽象类对于一些通用的方法提供了默认实现。ArrayList类实现了接口List、RandomAccess、Cloneable和Serializable。后三者都是语义标志接口,不提供任何实现,标记这个类具有某种功能。RandomAccess标记类具有随机访问的功能,Cloneable标记类具有克隆功能,Seriali...原创 2018-12-16 19:10:09 · 130 阅读 · 0 评论 -
Java 源码--Integer
Integer类继承Number类,实现Comparable接口。Integer类被修饰为final,所以其不可被继承。字段MIN_VALUE最小值,@Native表示该字段可以从本地代码引用。@Native public static final int MIN_VALUE = 0x80000000;MAX_VALUE最大值。@Native public static fina...原创 2018-12-16 19:09:02 · 298 阅读 · 0 评论 -
Java 源码--HashMap
HashMap结构HashMap采用数组+链表+红黑树的存储结构。当一个键值对要存储到HashMap中时,HashMap会根据它的键值的哈希值映射到数组的某个位置。如果发生了哈希碰撞,就以链表的形式接在碰撞元素的后边。当链表过长时,就会转变为红黑树。下边我们就先来看下链表和红黑树的数据结构。链表内部类Node定义了链表的每个结点的结构,它记录结点的hash、key、value和下一个结...原创 2018-12-16 19:07:09 · 201 阅读 · 0 评论 -
Thread的几种状态以及sleep/yield/join/wait/notify/notifyAll方法的区别
线程状态Java的Thread类中对线程的状态有如下定义:public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED;}NEWThread state for a thread which has not yet started.尚...原创 2018-12-26 17:13:32 · 877 阅读 · 1 评论 -
Java 源码--ArrayList
ArrayList类继承了AbstractList抽象类,AbstractList抽象类对于一些通用的方法提供了默认实现。ArrayList类实现了接口List、RandomAccess、Cloneable和Serializable。后三者都是语义标志接口,不提供任何实现,标记这个类具有某种功能。RandomAccess标记类具有随机访问的功能,Cloneable标记类具有克隆功能,Seriali...原创 2018-12-11 14:49:07 · 146 阅读 · 0 评论
分享