java基础
java基础内容
Mr.YHL
坚持学习
展开
-
年轻代和老年代都有哪些垃圾回收器?
年轻代的垃圾收集器包含: Serial、ParNew、Parallell老年代则包括Serial Old老年代版本、CMS、Parallel Old老年代版本和JDK11中的G1收集器。Serial:单线程版本收集器,进行垃圾回收的时候会STW(Stop The World),也就是进行垃圾回收的时候其他的工作线程都必须暂停ParNew:Serial的多线程版本,用于和CMS配合使用Parallel Scavenge:可以并行收集的多线程垃圾收集器Serial Old:Serial的老年代版本,原创 2020-11-21 17:17:07 · 2080 阅读 · 0 评论 -
ThreadLocal类的简单理解
ThreadLocal类并不是用来解决多线程环境下的共享变量问题,而是用来提供线程内部的共享变量,在多线程环境下,可以保证各个线程之间的变量互相隔离、相互独立。在线程中,可以通过get()/set()方法来访问变量。ThreadLocal实例通常来说都是private static类型的,它们希望将状态与线程进行关联。这种变量在线程的生命周期内起作用,可以减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。...原创 2020-11-19 15:36:46 · 99 阅读 · 0 评论 -
最头疼的必问哈希
HashMap 底层实现原理HashMap 根据键的hashCode 值存储数据,大多数情况下可以直接定位到它的值.因而具有很快的访问速度,但是遍历顺序却不确定的.HashMap 最多只允许一条记录的键为null,允许多条记录的值为null。HashMap 非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要满足线程安全,可以用Collections 的synchronizedMap 方法使HashMap 具有线程安全的能力,或者使用ConcurrentHashM原创 2020-11-16 21:06:21 · 252 阅读 · 0 评论 -
gc——Java垃圾清理
gc垃圾清理什么是GCGC 的区域在哪里?GC 的操作对象是什么?GC 的时机是什么?GC 做了哪些事?GC 常用算法标记-清除算法标记-压缩算法(标记-整理)复制算法分代收集算法什么是GC原创 2020-11-16 20:41:17 · 320 阅读 · 0 评论 -
Jvm你最需要记住的知识点
jvmjvm是什么jvm模型程序计数器java虚拟机栈本地方法栈堆方法区jdk1.8的改变类加载的过程类加载器的种类类加载机制jvm是什么虚拟机,一种能够运行java 字节码的虚拟机。类加载子系统加载.class 文件到内存。内存结构运行时的数据区。执行引擎执行内存中的.class,输出执行结果(包含GC:垃圾收集器)。本地方法的接口。本地方法库。jvm模型程序计数器就是一个指针,指向方法区中的方法字节码(用来存储指向下一个指令的地址,也即将要执行的指令代码),由执行引擎读原创 2020-11-16 20:27:15 · 119 阅读 · 0 评论 -
类的加载,反射,注解,动态代理
反射、注解、动态代理今日内容类的加载加载器类加载机制反射class对象获取常用方法通过反射获取构造方法通过返回获取成员方法注解TargetRetention动态代理第一章 类的加载1.类的加载时机当我们第一次使用某个类时,这个类会加载到方法区1. 创建类的实例。 2. 类的静态变量,或者为静态变量赋值。 ...原创 2020-08-10 10:13:18 · 106 阅读 · 0 评论 -
排序算法、异常、多线程基础
排序算法、异常、多线程基础今日内容冒泡排序 选择排序 二分查找 异常处理throw、throwsObjectstry…catch…finally多线程基础进程与xianc并发与并行线程里的方法多线程的两种实现方法第一章 冒泡排序(大数到后面)1.概念一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放...原创 2020-07-31 10:19:36 · 156 阅读 · 0 评论 -
线程安全、volatile关键字、原子性、并发包
线程安全、volatile关键字、原子性、并发包(常用于面试)今日内容高并发线程安全可见性有序性原子性volatile关键字解决可见性解决有序性原子类CAS[乐观锁]synchronized同步代码块[悲观锁]同步方法并发包CopyOnWriteArrayListCopyOnWriteArraySetHashta...原创 2020-08-02 10:03:07 · 196 阅读 · 0 评论 -
Properties类、缓冲流、转换流、序列化流、装饰者模式、commons-io工具包
Properties类、缓冲流、转换流、序 列化流、装饰者模式、commons-io工具包今日内容IO资源的处理Properties类ResourceBundle缓冲流字节缓冲流字节输入缓冲流字节输出缓冲流字符缓冲流字符输入缓冲流字符输出缓冲流转换流第一章 IO资源的处理1.JDK7之前的处理的IO流异常处理import...原创 2020-08-06 10:11:04 · 150 阅读 · 0 评论 -
线程池、死锁、 Lambda表达式、Stream
线程池、死锁、线程状态、等待与唤醒、Lambda表达式、Stream流今日内容线程池ExecutorExecutorServiceExecutors死锁线程的状态wait()等待notify()唤醒定时器TimerLambda表达式Stream单列集合获取流双列集合获取流forEachfilterCountLinit...原创 2020-08-03 12:03:25 · 185 阅读 · 0 评论 -
File类、递归、字节流、字符流
File类、递归、字节流、字符流今日内容file类获取方法判断方法创建方法删除方法递归字节流输入流输出流字符流输入流输出流第一章 file类1.介绍目录(directory):文件夹,文件夹可以保存文件.文件(file):文件,可以保存数据路径(path):表示计算机中的一个位置,这个文件可以是文件夹,也可以是文件....原创 2020-08-05 10:24:25 · 164 阅读 · 0 评论 -
Collections、Set、Map、斗地主排序
Collections、Set、Map、斗地主排序今日内容Collectionsshufflesort自然排序比较器排序可变参数[重]addall方法Set接口hashCode哈希表其他集合map集合(双列集合)keySet()entrySet()第一章Collections1.shuffle打乱顺序import j...原创 2020-07-30 10:17:26 · 134 阅读 · 0 评论 -
单多例模式,枚举,正则,工厂模式
单多例模式,枚举,正则,工厂模式今日内容单列模式懒汉式饿汉式多例模式枚举工厂模式正则表达式第一章 单例模式1.懒汉式/* 单例模式有两种,分别叫做懒汉式【后创建对象】和饿汉式【先创建对象】 下面单利模式是懒汉式,是在调用getDog方法之后创建的对象。 */public class Dog { //定义Dog类型的变量...原创 2020-08-13 03:34:37 · 101 阅读 · 0 评论 -
Collection、List、泛型、数据结构
Collection、List、泛型、数据结构今日内容集合迭代器增强for【重点】泛型泛型类泛型方法泛型接口泛型通配符数据结构简介List接口ArrayListLinkedList集合小练习导入集合就是一个容器,可以存放很多数据.集合和数组的区别:集合长度可变,数组长度固定集合存放引用数据,数组可以存放任何数据...原创 2020-07-29 10:27:52 · 168 阅读 · 0 评论 -
JUnit单元测试、网络编程
JUnit单元测试、网络编程今日内容JUnit单元测试网络编程第一章 JUnit单元测试1.简介Junit是什么 * Junit是Java语言编写的第三方单元测试框架(工具类) * 类库 ==> 类 junit.jar单元测试概念 * 单元:在Java中,一个类、一个方法就是一个单元 * 单元测试:程序员编写的一小段代码,用来对某个类中的某个方...原创 2020-08-07 08:14:08 · 171 阅读 · 0 评论 -
常用的正则表达式
校验数字的表达式校验字符的表达式特殊需求表达式1. 校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?...原创 2020-08-13 03:47:06 · 38 阅读 · 0 评论 -
XML,JDK8新特性
XMl,正则表达式,方法引用今日内容XMLxml约束dtd约束schema约束xml解析JDK8的新特性方法引用Base64第一章 XML1.简介XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTML,HTML文件也是XML文档XML 的设计宗旨是传输...原创 2020-08-12 09:56:54 · 540 阅读 · 0 评论 -
问答合集
问题要将字符串转换为基本类型数据,字符串的字面值必须表示的是这个基本类型数据的一个值,否则运行时就会出现异常;这就话是否正确?解答不正确,字符串类型转换为Boolean类型时,内容只要不是true,均转换成false.问题抽象类和接口中都没有构造方法,不能直接创建对象;这一说法对面解答抽象类可以有构造方法,是给子类去使用的问题final可以修饰...原创 2020-08-02 13:01:15 · 127 阅读 · 0 评论 -
快速排序
把一个数当做基准数,一般会把数组中最左边的数当做基准数。然后从数组两边进行检索,先从右往左检索比基准数小的,再从左往右检索比基准数大的。如果检索到,就停下,然后交换这两个元素。交换完成之后,再继续检索。先由j从右往左检索比基准数小的。再由认左往右检索比基准数大的。如果和相遇,就停止检索。然后把相遇位置的元素和基准数位置的元素进行交换,此时第一轮排序...原创 2020-08-02 00:06:54 · 43 阅读 · 0 评论 -
面试题1
一. 重写和重载的区别 重载:发生在同一个类中,方法名必须相同,参数类型不同,参数个数不同,顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。 重写:发生在父子类中,方法名.参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类; 如果父类方法访问修饰符为private 则子类就不能重写该方法。...原创 2020-08-07 13:33:10 · 49 阅读 · 0 评论 -
NIO,AIO
NIO,AIO今日内容NIO同步和异步阻塞和非阻塞BUfferallocateallocateDirectwrapputlimitmarkpositionflipclearChannelFileChannelSocketChannelServerSocketChannelSelectorAIO第一章 NI...原创 2020-08-09 07:02:33 · 80 阅读 · 0 评论