Java基础
文章平均质量分 94
大苏打seven
这个作者很懒,什么都没留下…
展开
-
Java学习笔记:内部类,静态内部类,匿名内部类
Java基础,内部类,静态内部类,匿名内部类的概念和写法原创 2023-04-18 21:17:45 · 483 阅读 · 0 评论 -
Java学习笔记:反射
目录1、通过反射获取Class对象2、通过反射获取类Class中的构造方法类Constructor3、通过反射获取类Class中的方法类Method4、通过反射获取类CLASS中的成员变量类Field5、访问CLASS对应类包含的Annotation6、访问CLASS对应类包含的内部类7、通过反射获取对象实例8、通过反射使用对象实例的方法9、通过反射访问类中的成员变量什么是反射:当我们得到一个Object时,我们不知道这个对象具体是哪一个类,但我们又需要操作这个对象里的方法或者变量时,我们可以通过反射得到原创 2021-04-26 11:55:18 · 114 阅读 · 0 评论 -
Java学习笔记(多线程):任务和线程池(未完成)
本文是个人的学习笔记,主要参考以下资料:Java核心技术 卷一,Cay S.Horstmann著,林琪、苏钰涵等译,机械工业出版社出版 代表线程池的类:ExecutorService构造一个线程的代价巨大,因为涉及与操作系统的交互。所以,如果一个程序中有大量生命期很短的线程,那势必会影响都系统的运行。Java中每个Runnable我们都可以看成是一个任务,我们可以在线程执行完一个Runnable的run方法之后不去销毁这个线程,而是让这个线程继续去执行其他Runnable的run方法。这样就可以原创 2020-10-17 16:13:23 · 372 阅读 · 1 评论 -
Java学习笔记:Lambda表达式
这篇文章是对自己学习的一个总结,学习资料是疯狂Java讲义第三版,李刚编,电子工业出版社出版。 1、Lambda表达式入门2、Lambda表达式的各种写法2.1、省略方法中形参的类型3、Lambda表达式与函数式接口3.1、引用类方法3.2、引用特定对象的实例方法3.3、引用某类对象的实例方法3.4、引用构造器1、Lambda表达式入门学习Lambda之前,要先了解匿名内部类。相关知识可以看这篇文章。https://blog.csdn.net/sinat_38393872/article/deta原创 2020-09-04 14:16:20 · 131 阅读 · 0 评论 -
Java学习笔记(多线程):ThreadLocal
本文简单介绍ThreadLocal的用法,通过源码解释ThreaLocal的存储结构。详解了ThreadLocal内存泄漏的原因,以及如何降低这个风险。原创 2020-09-04 10:50:52 · 162 阅读 · 0 评论 -
Java学习笔记:WeakReference
本文是自己学习的一个总结,主要学习资料来自Java文档和以下链接。https://brightloong.github.io/2018/05/27/关于Java中的WeakReference/#more@[TOC]( )1、WeakReference简介这个类其实是对应着JVM中的弱引用的概念。与此类似的还有强引用,虚引用,软引用。弱引用的特征是,一旦弱引用被GC注意到,那弱引用的引用对象就会被回收。但是弱引用本身不会被回收。一开始是为了弄懂ThreadLocal才来学习WeakRefere原创 2020-09-03 16:23:44 · 166 阅读 · 1 评论 -
Java学习笔记(多线程):volatile关键字
本文参考以下资料:https://www.cnblogs.com/dolphin0520/p/3920373.html 1、导言2、计算机的写与读3、并发编程中的三个概念3.1、原子性3.2、有序性与指令重排序3.3、可见性4、Java内存模型4.1、Java内存模型对原子性的支持4.2、Java内存模型对可见性的支持1、导言这篇文章对Java的volatile关键字进行较详尽的探讨,讨论其实现机制,使用的注意事项等。volatile与多线程编程有关,用来修饰一变量,使其简单达到synchro原创 2020-08-26 10:49:09 · 160 阅读 · 0 评论 -
Java学习笔记:反射
什么是反射:当我们得到一个Object时,我们不知道这个对象具体是哪一个类,但我们又需要操作这个对象里的方法或者变量时,我们可以通过反射得到这个对象的类信息。先介绍一下Java里一个使用一个类之前JVM里发生了什么。当程序使用某个类时,JVM会连续完成类的加载,连接和初始化这三个步骤。后面两个步骤先不考虑,就单独说说加载。类加载就是将类的class文件读入内存,并且为之创建一个java.l...原创 2019-06-22 15:52:17 · 107 阅读 · 0 评论 -
Java学习笔记:枚举类
这篇文章是对自己学习的一个总结,学习资料是疯狂Java讲义第三版,李刚编,电子工业出版社出版。枚举类存在的意义有时候,一个类的对象是有限固定的,比如季节类,就只有四个对象。这种实力有限且固定的类就是枚举类。以前就用简单的静态常量来表示枚举,比如下面的定义季节枚举public static final int SEASON_SPRING = 1;public static final int SEASON_SUMMER = 2;public static final int SEASON_AUT原创 2020-05-24 15:57:39 · 112 阅读 · 0 评论 -
Java学习笔记(多线程):基础
本文主要讲解Java的线程基础,比如线程的创建方式原创 2020-05-24 15:44:44 · 379 阅读 · 0 评论 -
Java学习笔记:静态代理,JDK代理和CGLIB代理
这篇文章不对JDK代理和CGLIB代理的内部实现细节讲解,这只是简单提一下如何使用,以及代理技术在实际中的用处。先说一下静态代理。明确一个原则,写出的代码投入到生产中后,最好不要对代码再进行修改。比如我们在一个账户类中有一个取钱的函数。public interface Count{ public void getMoney();}public class CountImpl implements Count{ @Override public void getMoney(原创 2020-05-24 15:44:22 · 152 阅读 · 0 评论 -
Java学习笔记:如何区分节点流和处理流
这篇文章是对自己学习的一个总结节点流和处理流概述Java流可以分节点流和处理流两类。节点流是面向各种物理节点的流,比如面向读写文件的FileInputStream和FileOutputStream;面向对象的ObjectInputStream和ObjectOutputStream等等。处理流则需要依附于节点流,用来对节点流的功能进行拓展和加强。比如BufferedInputStream,用它来包装FileInputStream(或者其他的节点输入流也一样)以后 ,直接调用BufferedInput原创 2020-05-24 15:44:06 · 1629 阅读 · 0 评论 -
Java学习笔记:使用File.walkFileTree遍历文件
这篇文章是对自己学习的一个总结,学习资料是Java1.8官方文档。这篇文章主要是讲如何使用walkFileTree方法,会涉及到部分源码,但是浅尝辄止,主要还是讲如何应用。方法简介1.7以前的Java想要遍历指定目录下的所有文件和子目录的话,就只能使用递归的方式。这种方式不仅复杂,灵活性也很差。但现在不一样了,Files类提供了walkFileTree()方法来灵活遍历文件。walkF...原创 2019-12-23 15:51:32 · 3474 阅读 · 0 评论 -
Java学习笔记:异常
这篇文章是对自己学习的一个总结,学习资料是疯狂Java讲义第三版,李刚编,电子工业出版社出版。异常概述每个函数正常请款下回返回一些值或者不返回,但是在实际业务中,程序总是会出现各种各样的错误。比如一个方法中使用到了数学的运算,然后人眼看上去逻辑没问题,运行一段时间后也没出什么问题。但是突然有一天参数输入错了,出现出除零的错误。很明显,这样程序就不能继续运行下去,又不能正常的返回值,这时候就...原创 2019-11-13 15:16:26 · 143 阅读 · 0 评论 -
Java学习笔记:输入、输出
这篇文章是对自己学习的一个总结,学习资料是疯狂Java讲义第三版,李刚编,电子工业出版社出版。流的分类Java将不同的输入/输出流(键盘、文件、网络连接等)抽象表达为“流”(stream),通过流的方式允许Java程序使用相同过的方式来访问不同的输入/输出流。stream是从起源到接受的有序数据。流从不同的角度可以分为以下几类 输入流和输出流 从流的流向来分可以分为输出流和输...原创 2019-11-11 17:24:17 · 274 阅读 · 0 评论 -
Java学习笔记:BigDecimal
本篇文章是自己学习的总结。BigDecimal舍弃小数BigDecimal中将小数精确到多少位的操作有很多,可以基于四舍五入,可以暴力截断,也可以只要有小数直接进位等等,有多种方式,下面就说一下有哪些精确小数的方式。BigDecimal中精确到几位小数是通过setScale(int scale,RoundingModeroundingMode)这个函数实现的,所以理解了这个函数就理解...原创 2019-10-29 11:00:31 · 562 阅读 · 0 评论 -
Java学习笔记:Lambda表达式
这篇文章是对自己学习的一个总结,学习资料是疯狂Java讲义第三版,李刚编,电子工业出版社出版。Lambda表达式入门匿名内部类可以现写一个类当做方法的参数,比较灵活,有关匿名内部类的知识可以看这篇文章。比如下面的代码,ProcessArray类中有一个process方法,参数需要一个数组和一个Command接口的子类,其中Command接口有一个抽象的process方法。publ...原创 2019-10-22 08:47:50 · 132 阅读 · 0 评论 -
Java学习笔记:静态代理,JDK代理和CGLIB代理
这篇文章不对JDK代理和CGLIB代理的内部实现细节讲解,这只是简单提一下如何使用,以及代理技术在实际中的用处。先说一下静态代理。明确一个原则,写出的代码投入到生产中后,最好不要对代码再进行修改。比如我们在一个账户类中有一个取钱的函数。public interface Count{ public void getMoney();}public class CountI...原创 2019-09-05 13:41:28 · 2190 阅读 · 3 评论 -
Java学习笔记:泛型
这篇文章是对自己学习的一个总结,学习资料是疯狂Java讲义第三版,李刚编,电子工业出版社出版。 这片文章对泛型的细节进行了进一步的探讨,没写基础。 在Java7以前,定义有泛型的接口时比较繁琐。等号的左右边都需要加上接口可接受的类型,比如下面的例子List<String> strList = new ArrayList<String>();Map<S...原创 2019-07-06 16:22:12 · 197 阅读 · 0 评论 -
Java学习笔记:枚举类
这篇文章是对自己学习的一个总结,学习资料是疯狂Java讲义第三版,李刚编,电子工业出版社出版。枚举类存在的意义有时候,一个类的对象是有限固定的,比如季节类,就只有四个对象。这种实力有限且固定的类就是枚举类。以前就用简单的静态常量来表示枚举,比如下面的定义季节枚举public static final int SEASON_SPRING = 1;public static fin...原创 2019-09-18 17:40:36 · 138 阅读 · 0 评论