
Java学习笔记
文章平均质量分 95
本专栏下为本人的Java学习笔记
大家好我是Boger
吾于此生,竭尽所能
展开
-
JVM 类加载机制
本篇将带你入门学习JVM中的类加载机制原创 2022-03-06 14:40:07 · 1164 阅读 · 1 评论 -
Java并发(六)线程池入门
本篇将讲述Java的JUC包中开发常用的线程池,包括线程池的优点、核心参数、拒绝策略等原创 2022-03-21 21:09:44 · 749 阅读 · 0 评论 -
Java并发(五)ConcurrentHashMap如何解决线程安全问题
本篇将讲述Java中的ConcurrentHashMap是如何解决线程安全问题的,分JDK1.7和JDK1.8两个版本来介绍。原创 2022-03-20 23:56:18 · 9943 阅读 · 0 评论 -
Java并发(四)ThreadLocal类
本篇将讲述Java中的ThreadLocal类,包括ThreadLocal类的应用场景、ThreadLocal的实现、为什么ThreadLocal中要用到弱引用以及ThreadLocal如何解决内存泄露问题。原创 2022-03-19 18:58:01 · 877 阅读 · 0 评论 -
Java并发(三)volatile关键字
本篇将讲述Java中的volatile关键字,将提及volatile关键字所带来的可见性、有序性以及JVM是如何实现这些特性的。原创 2022-03-18 15:02:57 · 381 阅读 · 0 评论 -
Java并发(一)锁机制、悲观锁、乐观锁
本篇文章涉及Java并发中的锁机制、悲观锁、乐观锁、Synchronized关键字、CAS算法等内容。之前关于Java并发的学习之后总是忘了部分内容,每次都需要重新去看资料。于是今天我做了这篇笔记,用于记录自己对Java并发的学习。原创 2022-03-15 23:54:47 · 716 阅读 · 0 评论 -
Java并发(二)AQS、Reentrantlock
Java中最著名的并发包是JUC (java.util.concurrent),用于更好地让java支持高并发的任务。在本篇文章中,将会谈到JUC中的核心组件AQS,以及基于AQS的Reentrantlock。原创 2022-03-17 23:01:00 · 736 阅读 · 0 评论 -
JVM 垃圾回收
本篇将讲述JVM中垃圾回收机制相关的内容,包含各种垃圾回收算法、垃圾回收器(包含CMS垃圾回收器、G1垃圾回收器等等)原创 2022-03-07 22:56:07 · 1415 阅读 · 0 评论 -
JVM 内存结构
本篇将带你入门学习JVM中的内存结构原创 2022-03-06 20:06:08 · 626 阅读 · 1 评论 -
Java8的新特性
以下是本人观看尚硅谷Java学习视频所做的笔记目录Java 8 新特性简介Lambda表达式Lambda表达式的使用函数式(Functional)接口Java内置四大核心函数式接口方法引用与构造器引用强大的Stream APIOptional类Java 8 新特性简介Java 8 (又称为jdk 1.8) 是Java语言开发的一个主要版本。Java 8是oracle公司于2014年3月发布,可以看成是自Java 5以来最具革命性的版本。Java 8为Java语言、编译器、类库、开发工具与JVM带来了原创 2022-02-11 02:18:54 · 413 阅读 · 0 评论 -
Java中的反射
以下为本人观看尚硅谷Java学习视频所做的笔记目录Java反射机制概述补充:动态语言 vs 静态语言Java反射机制研究及应用反射相关的主要API理解Class类并获取Class实例类的加载与ClassLoader的理解创建运行时类的对象获取运行时类的完整结构调用运行时类的指定结构反射的应用:动态代理Java反射机制概述Reflection(反射)是被视为动态语言的天键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任何对象的内部属性及方法。加载完类之后原创 2022-02-06 20:27:17 · 556 阅读 · 0 评论 -
Java中的网络编程
以下是本人观看尚硅谷Java学习视频所做的笔记目录网络编程概述网络基础网络通信要素概述通信要素1:IP和端口号IP地址: InetAddress端口号通信要素2:网络协议TCP / IP协议簇TCP和UDPTCP网络编程客户端 -- 服务端TCP编程示例UDP网络编程UDP编程示例URL编程URL编程示例 网络编程概述Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序Java提供的网络类库,可以实现无痛的网络连接,联网原创 2022-02-03 03:32:11 · 400 阅读 · 0 评论 -
Java中的IO流
以下为本人观看尚硅谷Java学习视频所做的笔记目录File类的使用File类常用构造器路径分隔符File类常用方法IO流原理及流的分类节点流(或文件流)缓冲流转换流标准输入、输出流打印流数据流对象流随机存取文件流NIO.2中Path、Paths、File类的使用File类的使用java.io.File类: 文件和文件目录路径的抽象表示形式,与平台无关File能新建、删除、重命名文件和目录,但File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流想要在Java程序中表示一个原创 2022-01-31 03:46:39 · 675 阅读 · 0 评论 -
Java中的泛型
以下为本人观看尚硅谷Java学习视频所做的笔记目录为什么要有泛型泛型的概念使用泛型的好处jdk7.0泛型新特性:类型推断自定义泛型结构泛型类、泛型接口泛型方法泛型在继承上的体现通配符的使用泛型应用举例为什么要有泛型泛型(Generic)可以理解为标签,是jdk5.0新增的特性类比:中药店中每个抽屉外边贴着标签,抽屉里只能存放标签代表的药物。我们可以把Java中的容器类比为抽屉,那么泛型就是标签,意味着这个容器只能存放泛型所指定类型的对象泛型的设计背景:集合容器类在设计阶段/声明阶段不能确定这个容原创 2022-01-26 02:27:54 · 447 阅读 · 0 评论 -
Java中的集合
以下为本人观看尚硅谷Java学习视频所做的笔记目录Java集合框架概述Collection接口方法Iterator迭代器接口Collection子接口一:ListCollection子接口二:SetMap接口Collections工具类看到了p512 Java集合框架概述 Collection接口方法 Iterator迭代器接口 Collection子接口一:List Collection子接口二:Set Map接口&原创 2022-01-24 23:34:34 · 428 阅读 · 0 评论 -
Java中的注解(Annotation)
以下为本人观看尚硅谷Java学习视频所做的笔记目录注解注解(Annotation)概述常见的Annotation示例示例一: 生成文档相关的注解示例二: 在编译时进行格式检查(JDK内置的三个基本注解)示例三: 跟踪代码依赖性,实现替代配置文件功能自定义AnnotationJDK中的元注解@Retention@Target@Documented@InheritedJDK8中注解的新特性可重复注解类型注解 注解注解(Annotation)概述从JDK 5.0开始, Java增加了对元数据原创 2022-01-20 03:44:23 · 467 阅读 · 0 评论 -
Java中的枚举类
以下为本人观看尚硅谷Java学习视频所做的笔记目录枚举类自定义枚举类使用enum关键字定义枚举类Enum类的主要方法:使用enum关键字定义的枚举类实现接口的情况情况一:实现接口,在enum类中实现抽象方法情况二:让枚举类的对象分别实现接口中的抽象方法 枚举类类的对象只有有限个,确定的。 举例如下:星期: Monday(星期一)、…、Sunday(星期天)性别: Man(男)、Woman(女)季节: Spring(春节)…Winter(冬天)支付方式: Cash(现金)、We原创 2022-01-20 02:29:19 · 624 阅读 · 0 评论 -
Java中的System类、Math类、BigInteger类、BigDecimal类
以下为本人观看尚硅谷Java学习视频所做的笔记目录System类Math类BigInteger类BigDecimal类System类System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。成员变量System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显原创 2022-01-17 01:25:11 · 175 阅读 · 0 评论 -
Java中的比较器
以下为本人观看尚硅谷Java学习视频所做的笔记目录Cpmparable接口 → 自然排序Comparator接口 → 定制排序Comparable接口与Comparator接口的区别在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题Java实现对象排序的方式有两种:自然排序: java.lang.Comparable定制排序: java.util.Comparator Cpmparable接口 → 自然排序Comparable接口强行对实现它的每个类的原创 2022-01-17 00:29:53 · 316 阅读 · 0 评论 -
Java中日期时间相关的类
以下为本人观看尚硅谷Java学习视频所做的笔记目录JDK8之前日期时间APIjava.lang.System类java.util.Date类java.sql.Date类java.text.SimpleDateFormat类java.util.Calendar(日历)类JDK8中新日期时间APIDate类和Calendar类存在的问题新时间日期API JDK8之前日期时间APIjava.lang.System类System类提供的public static long currentTime原创 2022-01-16 22:47:11 · 113 阅读 · 0 评论 -
Java中的多线程
以下内容为本人观看尚硅谷Java学习视频所做的笔记目录基本概念:程序、进程、线程程序、进程、线程的概念单核CPU和多核CPU的理解并行与并发多线程的优点线程的创建和使用线程的创建和启动基本概念:程序、进程、线程程序、进程、线程的概念程序 (program) 是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程 (process) 是程序的一次执行过程,或是正在进行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期原创 2022-01-14 02:45:00 · 197 阅读 · 0 评论 -
Java中字符串相关的类
以下内容为本人观看尚硅谷Java学习视频所做的笔记目录String类String的不可变性String对象的创建String不同拼接操作的对比JVM中涉及字符串的内存结构String常用方法String与基本数据类型的转换字符串 → 基本数据类型、包装类基本数据类型、包装类 → 字符串String与字符数组的转换字符数组 → 字符串字符串 → 字符数组String与字节数组的转换字节数组 → 字符串字符串 → 字节数组StringBuffer类StringBuilder类String类String类:原创 2022-01-16 01:15:58 · 167 阅读 · 0 评论 -
Java中的异常
以下为本人观看尚硅谷Java学习视频所作的笔记目录异常概述异常处理方式手动抛出异常对象用户自定义异常类异常概述在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式,读取文件是否存在,网络是否始终保持通畅等等。异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常)Java程序在执行过程中所发生的异常事件可分为两原创 2022-01-08 23:08:49 · 126 阅读 · 0 评论 -
面向对象编程(下)
以下为本人观看尚硅谷Java学习视频所整理的笔记static关键字当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都单独分配一个用于代表国家名称的变量。static关键字的使用:1原创 2022-01-08 15:37:23 · 100 阅读 · 0 评论 -
面向对象编程(中)
以下为本人观看尚硅谷Java学习视频所整理的学习笔记目录继承性方法的重写四种访问权限修饰符super子类对象实例化过程多态性instanceof关键字Object类的使用包装类的使用继承性单词extends的含义:延展、拓展继承性的好处:1、减少了代码的冗余,提高了代码的复用性2、便于功能的扩展3、为之后多态性的使用,提供了前提继承性的格式:class A extends B {}A:子类、派生类、subclassB:父类、超类原创 2022-01-08 15:12:41 · 441 阅读 · 0 评论 -
面向对象编程(上)
以下为本人观看尚硅谷Java学习视频所做的笔记目录Java面向对象学习的三条主线理解面向过程和面向对象类和对象方法封装与隐藏构造器JavaBeanthis的使用package的使用MVC设计模式import的使用Java面向对象学习的三条主线1、Java类及类的成员:属性、方法、构造器、代码块、内部类2、面向对象的三大特征:封装性、继承性、多态性、(抽象性)3、其它关键字:this、s...原创 2022-01-08 14:20:14 · 101 阅读 · 0 评论 -
Java中的数组
以下内容为本人观看尚硅谷Java学习视频所做的笔记数组:多个相同类型数据按一定顺序排列的组合,使用一个名字命名,并通过编号的方式对这些数据进行统一管理。数组的特点:1、有序排列2、属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型3、创建数组对象会在内存中开辟一整块连续的空间4、数据的长度一旦确定,就不能修改数组的分类:1、按照维数:一维数组、二维数组……...原创 2022-01-08 13:51:42 · 477 阅读 · 0 评论 -
Java入门知识
以下内容为本人观看尚硅谷Java学习视频前期对Java入门知识的整理万维网:world wide web(www),可以让web客户端访问浏览web服务器上的页面图形化界面:graphical user interface(GUI)简单直观,易于接受命令行方式:command line interface(CLI)控制台输入指令,需要记录一些命令java舍弃了C语言中的指针、运算符重载、多重继承等特性,增加了垃圾回收器功能用于回收不再被引用 的对象所占用的内存空间。JDK1.5引入了原创 2022-01-08 13:44:34 · 230 阅读 · 0 评论 -
前期观看郝斌老师Java学习视频整理的部分笔记
在学习Java的前期看了一部分郝斌老师的Java学习教程视频,当时做了一些笔记,现在将这些笔记整理到这里,也当是边整理边复习。Java与C/C++不同的部分特点1、Java摒弃了C/C++中容易引发程序错误并且难以掌握的一些特性,如指针、结构以及内存管理等。2、Java安全性比C/C++高,原因如下:1.Java是一种强类型语言,类型检查比C/C++还要严格(例如写int i=6.6会报错)2.提供垃圾回收机制,有效避免内存泄漏问题3....原创 2022-01-08 13:17:46 · 580 阅读 · 0 评论