
Java基础
主要包含java基础相关知识内容。
青春不下线Eflying
积累点滴,终将盆满钵满;温故知新,终将探其究竟。
展开
-
Lambda表达式之入门使用
1.为什么使用lambda表达式“lambda表达式”是一段可以传递的代码,因此它可以被执行一次或多次。形如以下代码块:class Worker implements Runnable{ @Override public void run() { System.out.println("This is Worker!!!"); }}class LengthComparator implements Comparator<String&g原创 2020-09-15 17:33:08 · 398 阅读 · 0 评论 -
为什么自己写的java.lang.String不能代替jdk的被使用
原因:由类的加载器种类,加载器层级以及加载机制所决定类加载器的种类启动类加载器:负责加载JRE的核心类库,如jre目标下的rt.jar,charsets.jar等扩展类加载器:负责加载JRE扩展目录ext中JAR类包系统类加载器:负责加载ClassPath路径下的类包用户自定义加载器:负责加载用户自定义路径下的类包类加载器可分为两类:一是启动类加载器(Bootstrap...原创 2019-11-07 19:30:08 · 663 阅读 · 0 评论 -
Collections之disjoint使用
比较两个集合中有没有相同的元素java.util.Collections#disjoint(Collection<?> c1, Collection<?> c2)import java.util.Collections;import java.util.HashSet;import java.util.Set;/** * @ClassName CollectionsOfDisjoint * @Description 比较两个集合中是否有相同的元素;当两个集合中没原创 2021-01-06 09:33:14 · 3509 阅读 · 0 评论 -
java之名词
springboot:Filter:过滤excludeFilters:排除过滤器includeFilters:包含过滤器Component:组件Scan:扫描Service:服务Repository:资料库Configuration:配置ClassLoader:类加载器springmvc:@Controller:@RequestMapping:...原创 2020-01-10 15:39:42 · 153 阅读 · 0 评论 -
java并发编程之countDownLatch
概念CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier、Semaphore、ConcurrentHashMap和BlockingQueue,它们都存在于java.util.concurrent包下。CountDownLatch这个类能够使一个线程等待其他线程完成各自的工作后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程...原创 2019-12-25 11:58:26 · 238 阅读 · 0 评论 -
java基础之多线程基础
线程的状态新建( new ):新创建了一个线程对象;可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取CPU的使用权;运行( running ):可运行状态( runnable )的线程获得了CPU时间片( timeslice ) ,执行程序代码;阻塞( ...原创 2019-12-25 10:48:16 · 215 阅读 · 0 评论 -
java基础之反射
1.什么是反射在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。2.反射的原理创建Class对象时,JVM先从磁盘找到Class文件,将其加载到jvm内存,创建Class对象空间,并创建其相关类信息。反射的本质是得到Class对象后,反向...原创 2019-12-23 11:58:24 · 223 阅读 · 0 评论 -
java基础之注解
1.什么是注解?Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响代码的执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java 的。通俗的将:可以完全将注解当做生活中我们对人或物贴的标签。2.注解的原理注解本质是一个继承了 Annotation 的特殊接口,其具体实现类是 Java 运行时生成的动态代理类。而...原创 2019-12-20 01:12:25 · 460 阅读 · 0 评论 -
java集合之HashMap(JDK1.8)详析
HashMap底层是基于数组 + 链表+ 红黑树组成。数据结构图原创 2020-01-10 15:38:55 · 165 阅读 · 0 评论 -
java集合之HashMap(JDK1.7)详析
HashMap底层是基于数组 + 链表组成。数据结构图核心成员变量 DEFAULT_INITIAL_CAPACITY:初始化桶大小,因为底层是数组,所以这是数组默认的大小。 MAXIMUM_CAPACITY:桶最大值。 DEFAULT_LOAD_FACTOR:默认的负载因子(0.75) EMPTY_TABLE:table真正存放数...原创 2019-12-19 19:13:39 · 236 阅读 · 0 评论 -
java基础之==与equals的区别
一.“==”的作用在java中,“==”的作用:比较内存地址是否相同对于引用数据类型:直接比较两个引用对象引用的堆内存地址是否相同;如:比较两个User对象,比较的是两个User对象在堆内存中执行的是否是同一个地址。 对于基本数据类型:比较基本数据类型的“值”是否相等;如:比较两个int类型的变量,比较的是两个变量的“值”是否相等。注意:对于基本数据类型(byte,short,char...原创 2019-12-12 15:21:56 · 298 阅读 · 0 评论 -
java之IO使用解析
IO流概述及其分类1、概述:IO流用来处理设备之间的数据传输、Java对数据的操作是通过流的方式、Java用于操作流的对象都在IO包中2、IO流分类按照数据流向输入流 输出流 读入数据 写出数据 按照数据类型字节流 字符流 可以读写任何类型的文件 比如音频 视频 文本文件 只能读写文本文件 字节流的抽象基类:InputStream ,Ou...原创 2020-01-10 15:38:30 · 144 阅读 · 0 评论 -
java之高质量代码优化技巧
代码优化的目标1.减小代码的体积2.提高代码运行的效率代码优化的细节1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为fina...原创 2019-11-29 19:32:26 · 222 阅读 · 0 评论 -
java对象之序列化与反序列化
序列化与反序列化序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等。在网络传输过程中,可以是字节或是XML等格式。而字节的或XML编码格式可以还原完全相等的对象。这个相反的过程又称为反序列化。Java对象的序列化与反序列化在Java中,我们可以通过多种方式来创建对象,并且只要对象没有被回收...原创 2019-11-28 22:33:44 · 150 阅读 · 0 评论 -
java基础之多线程的实现方式
实现多线程的方式(四种)继承Thread类 实现Runnable接口 实现Callable接口 使用线程池方式一:继承Thread类public class Thread0 extends Thread{ @Override public void run() { System.out.println("线程名字:"+Thread.currentThread().ge...原创 2019-11-25 16:20:54 · 137 阅读 · 0 评论 -
java并发编程之volatile
volatilevolatile 是一个类型修饰符。volatile 的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略volatile内存语义volatile是Java虚拟机提供的轻量级的同步机制。Java语言包含两种内在的同步机制:同步块(或方法)和volatile变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻...原创 2019-11-22 12:05:30 · 166 阅读 · 0 评论 -
java并发编程之synchronized
synchronized是Java中的关键字,是java中利用锁机制实现同步的一种方式。锁机制有如下两种特性: 互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块(复合操作)进行访问。互斥性我们也往往称为操作的原子性。 可见性:必须确保在锁被释放之前,对共享变量所做的修改,对于随后获得该锁的另一个线...原创 2019-11-21 19:36:04 · 610 阅读 · 2 评论 -
java正则匹配替换字符串中ip格式的字符串
String s = "lsx[ip:192.168.19.176]的[Physical Memory]...[ip:192.168.19.158]";String reg = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)"; //匹配ip的正则System.out.println(s.r原创 2017-07-17 17:30:20 · 2593 阅读 · 0 评论