Java基础学习笔记

如何阅读Java源码 阅读java的真实体会

面向对象

Java创建内部类对象

爬虫

Java爬虫实战(二):抓取一个视频网站上2015年所有电影的下载链接

用Java实现网易云音乐爬虫

揭秘Java网络爬虫程序原理

Java 动手写爬虫: 一、实现一个最简单爬虫

GitHub 上有哪些优秀的 Java 爬虫项目?

多线程

使用 Executors,ThreadPoolExecutor,创建线程池,源码分析理解

如何理解阿里开发规范中这句话?SimpleDateFormat 是线程不安全的类,一般不要定义为static变量

字符编码与序列化

Java几种常见的编码方式

序列化和反序列化的底层实现原理是什么?

Java序列化 - 二进制格式详解

Java序列化算法

Java对象序列化底层原理源码解析

网络

解决java.net.UnknownHostException: 主机名: 主机名: 未知的名称或服务

java.net.UnknownHostException: xxx: 未知的名称或服务

字符串

java的split方法可以实现同时使用多个分隔符劈开字符串方法:

数据类型

java – 如何直接将Double转换为int?

在Java中只获取一个数组的一部分?

java中关于int值的奇偶判断

java那些小事—用偶数做判断,不要用基数做判断

如何判断一个数是否是NaN

如何在java中将float转换为bigDecimal?

BigDecimal如何转换成float数据类型?

NumberFormatException相关的error总结

Java:数值-字符串转换(String转Double)

怎样将不定长的String数组转化成相应的double数组?

开发环境搭建

eclipse中配置jdk

一台电脑如何安装多个版本的JDK

父类与子类的加载及初始化

考点

Java虚拟机初始化一个类时会经过加载,编译,运行三个阶段
静态代码域(静态代码块, 静态变量)在类加载阶段即加载,它们的优先级相同,在类加载阶段只加载一次,并且是按顺序加载
在调用一个类的构造器时, 先调用父类构造器(先调用构造代码块, 再调用构造器), 再调用子类构造器

class A {
    // 构造函数
    public A() {
        System.out.println("class A");
    }

    // 构造代码块
    {
        System.out.println("I'm A class");
    }

    // 静态代码块
    static {
        System.out.println("class A static");
    }
}

相关题目

运行下面代码,输出的结果是()

基础

Java 本地方法:该方法的实现是由非 java 写的,可以用 java 调用 c 或 c++的代码,这是出于性能的考虑 or 访问底层操作系统。

一个类可以有一个 or 多个静态代码块。静态代码块在类被加载时执行,优于构造函数

的执行,并且按照各静态代码块放在类中的顺序执行。

IO

说说你了解的字符编码算法?

Java字符编码方式

在Java中,字符只以一种形式存在,那就是Unicode(不选择任何特定的编码,直接使用他们在字符集中的编号,这是统一的唯一的方法)。
在Java中指在JVM中,在内存中,在你的代码里声明的每一个char, String类型的变量中Reader和Writer类使用的是GBK编码

序列化底层的实现原理?

反射

Java反射的作用?

Java 反射:可以在运行时获取类 or 对象的相关信息。

其他

static关键字的作用和用法?

static变量
static方法
static代码块
static类

相关文档

Java中的static关键字解析
java static关键字理解

final关键字的作用和用法?

final变量
final方法
final类

相关文档

浅析Java中的final关键字
深入理解Java中的final关键字

volatile关键字的作用和用法?

volatile关键字的作用

  • 保证变量对所有线程的可见性
  • 禁止指令重排序优化

相关文档

Java并发编程:volatile关键字解析
Java volatile 关键字底层实现原理解析

你可能感兴趣的:(Java)