自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【Java基础提升】List集合使用细节

一起来愉快的踩坑之旅——List sublist()方法坑 Java ArrayList subList(…)的坑 List.subList()方法的坑 以及 如何截短一个List Java提高配(三七)—–Java集合细节(三):subList的缺陷 为什么阿里巴巴要求谨慎使用ArrayList...

2020-05-27 11:35:55 12 0

原创 【SpringBoot】SpringBoot整合SpringDataJPA及基本使用
原力计划

Spring Data JPA是Spring Data的子模块,是在`实现了JPA规范`的基础上`封装`的一套 JPA 应用框架 虽然ORM框架都实现了JPA规范,但在切换不同的ORM框架时仍然需要编写不同的代码,使用Spring Data JPA能够方便大家`在使用不同的ORM框架之间进行切换...

2020-04-07 18:49:57 232 0

原创 【Java基础】Java8新特性—接口中使用default和static关键字
原力计划

**Java 1.8对接口有两个方面的增强:接口中可以添加使用default或者static修饰的方法** 1. `增加default方法`:又叫做`接口扩展方法`,即在不破坏java现有实现架构的情况下能往接口里增加新方法, default关键字可以给接口添加一个非抽象的方法实现,子类可以直接调...

2020-03-14 17:42:57 51 0

原创 【IDEA】IDEA的高级Debug技巧

- Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。 - 通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。

2020-03-13 14:21:39 151 0

原创 【Java多线程】了解Java锁机制
原力计划

文章目录什么是串行、并发、并行浅谈锁的作用1.锁有什么作用呢2.Java中的锁有什么作用呢3.为什么要用锁一.Java锁分类1.公平锁/非公平锁2.可重入锁/不可重入锁3.独享锁/共享锁4.互斥锁/读写锁5.乐观锁/悲观锁6.分段锁7.偏向锁/轻量级锁/重量级锁8.自旋锁8.1.简单了解一下CAS...

2020-03-06 17:20:51 139 1

原创 【JavaWeb】本地文件传输协议(File://)

一.什么是FIle协议 FIle协议也叫本地文件传输协议 ,主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。 二.FIle协议基本格式 file:///文件路径 如: 要打开F盘文件,那么可以在资源管理器或浏览器地址栏中输入: file:///f:/aaa.j...

2020-03-05 16:36:22 355 0

原创 【Java基础】Java7新特性—Files类,Path类,Paths类的用法

文章目录Java7新增文件IO类一.Paths1.创建Paths二.Path1.创建Path1.1.创建Path的三种方式2.Path常用方法三.Files1.判断方法:2.删除方法3.复制方法4.移动和重命名方法5.创建文件和文件夹方法6.文件属性方法7.读取、编辑文件内容方法8.遍历文件列表方...

2020-03-05 16:30:28 361 0

原创 【Java基础】代理(Proxy)

文章目录代理模式1.什么是代理模式?2.代理模式的组成静态代理1.聚合式静态代理Java中如何使用JDK动态代理2.继承式静态代理聚合式与继承式静态代理的区别动态代理1. 什么是动态代理?2. JDK动态代理实现步骤总结3.CGLIB代理1.CGLIB是什么?2.Java中如何使用CGLIB代理3...

2020-03-02 18:58:46 62 0

原创 【Java基础】Java5新特性—注解(annotation)

文章目录一.什么是注解?1.注解与注释的区别二.内置注解三.Java中使用注解1.创建注解2.定义注解属性3.default关键字注解语法4. 元注解4.1.@Retention4.2.@Target4.3.@Inherited4.4.@Documented4.5.@Repeatable5.注解的...

2020-02-29 15:11:27 53 0

原创 【Java基础】反射(reflect)

文章目录一.Java类加载器简单了解1.类的加载2.类加载的时机(只加载一次)3.类加载器4.类加载器的组成二.什么是反射机制三.java.lang.Class1.什么是Class对象2.获取Class对象的三种方式?3.Class对象常用方法3.1.获取Class类对应的实体类的相关的Class...

2020-02-28 17:02:50 40 0

原创 【Java基础】正则表达式应用

一.什么是正则表达式? 正则表达式描述了一种字符串匹配的模式,可以用来 检查一个字符串是否含有某种子串 将匹配的子串替换 从某个串中取出符合某个条件的子串 检查一个字符串是否符合某种格式 1.为什么要使用正则表达式 在了解正则表达式之前,我们先看几个非常常见的问题: 如何判断字符串是否是有效...

2020-02-23 00:06:07 96 0

原创 【Java基础】加密与安全基础

一.编码算法 什么是编码? ASCII码就是一种编码,字母A的编码是十六进制的0x41,字母B是0x42`,以此类推: 因为ASCII编码最多只能有127个字符,要想对更多的文字进行编码,就需要用Unicode。而中文的中使用Unicode编码就是0x4e2d,使用UTF-8则需要3个字节编码:...

2020-02-20 12:38:23 232 0

原创 【Java基础】日志系统JDK Logging,Commons Logging,Log4j/Log4j2,Slf4j和Logback基本使用

Log4j的1.x版本虽然已经被广泛使用于很多应用程序中,但由于出现内存泄漏等bug,代码难以维护,以及需要使用老版本的jdk等劣势,在2015年8月已经玩完。它的替代品,SLF4J,Logback,Log4j2对日志框架做了很多必要的改进。 SLF4J:SLF4J是众多日志系统的内核,提供统...

2020-02-18 18:44:28 82 0

原创 【Java基础】随机数Random和SecureRandom基本用法

文章目录生成随机数的几种方法一. Math.random()二. java.util.Random工具类三. java.util.concurrent.ThreadLocalRandom 工具类四. java.Security.SecureRandom(继承至java.util.Random)五....

2020-02-18 15:57:03 177 0

原创 【Java基础】 BigInteger和BigDecimal使用

一.BigInteger(大整数操作类) 为什么要使用BigInteger类 在Java的整数类型里面,byte为8位,short为16位,int为32位,long为64位。正因为这些数值的二进制位数已经固定,所以它们能表示的数值大小就有一定的范围限制。因此,Java中提供BigInteger类来...

2020-02-18 15:16:19 136 0

原创 【Java基础】Java8新特性-StringJoiner

文章目录一.StringJoiner1.什么是StringJoiner2.StringJoiner源码解析3.StringJoiner常用Api二.String.join() 一.StringJoiner 1.什么是StringJoiner StringJoiner是Java8新出的一个类,用于构...

2020-02-18 10:53:50 95 0

原创 【Java基础】多线程从入门到掌握

一.多线程基础 1.多任务概念 现代操作系统(Windows,macOS,Linux)都可以执行多任务。多任务就是同时运行多个任务,例如: 同时打开ie浏览器/QQ/QQ音乐 CPU执行代码都是一条一条顺序执行的,即使是单核cpu,也可以同时运行多个任务。 因为操作系统执行多任务实际上就...

2020-02-17 18:51:34 1344 0

原创 【Java基础】Java1.8新特性—使用函数式编程简化开发

为什么要使用Lambda表达式? λ字母表排序第十一位的字母,英语称为 Lambda 避免匿名内部类过多,其实质属于函数式编程概念 在jdk8中使用大量的匿名内部类 Lambda语法 (params...) -> expression 如果只有一个参数(params...) 的()都可...

2020-02-17 18:25:42 79 0

原创 【Java基础】关于XML结构数据的使用

文章目录一.什么是XML?二.XML特点三.XML结构1.基本结构2.特殊字符3.验证XML文件的正确性4.XML小结四.Java解析XML1.解析DOM1.1什么是DOM?1.2.Java以DOM方式解析XML?1.3.实例代码1.4.DOM解析小结2.解析SAX2.1.是什么是SAX解析2.2...

2020-02-02 22:36:59 53 0

原创 【Java基础】使用Junit5进行单元测试

文章目录一.什么是单元测试呢?二.测试驱动开发(TDD)三.JUnit框架1.为什么需要JUnit框架?2.什么是JUnit框架?3,单元测试的好处四.使用Junit5框架1.@Test/@DisplayName/@Tag2. 断言方法3. 使用Fixture3.1@BeforeEach/@Aft...

2020-02-02 16:16:20 189 0

原创 【Java基础】了解迭代器Iterator

迭代器 Java的集合类都可以使用forEach循环遍历,List、Set和Queue会迭代每个元素,Map会迭代每个key。 以List为例: List<String> list = List.of("Apple", "Orange", &qu...

2020-02-01 22:31:07 59 0

原创 【Java基础】JDK内置工具类Collections类使用

文章目录collections类使用1.addAll()2.创建空集合3.创建单元素集合4.排序5.洗牌6.不可变集合7. 线程安全集合8.查询指定下标9.indexOfSubList10.lastIndexOfSubList11.替换集合中指定元素12.反转List集合中元素的顺序 collec...

2020-02-01 21:37:55 204 0

原创 【Java基础】Stack基础

- 栈(`Stack`)是一种 **`后进先出(LIFO:Last In First Out)`的数据结构。** - 什么是`后进先出LIFO`呢? `最后进Stack的元素一定最先出Stack。`如何做到这一点呢?**只需要把队列的一端封死**

2020-02-01 20:49:09 143 0

原创 【Java基础】Queue基础

- `队列(Queue)`是一种经常使用的集合。Queue实际上是实现了一个`先进先出(FIFO:First In First Out)`的有序列表`(有序集合)`。 - 队列List的区别在于,**List可以在`任意位置添加和删除元素`** - Queue只有两个操作: - `把元素...

2020-02-01 16:52:39 176 0

原创 【Java基础】使用Properties

文章目录一.Java中的.properties文件二.读取配置文件1.从文件流加载properties2.从classPath加载配置文件3.从内存读取一个字节流加载配置文件4.注意事项三.写入配置文件四.编码五.总结 一.Java中的.properties文件 在编写Java程序的时经常需要读写...

2020-02-01 14:12:23 115 0

原创 【Java基础】网络编程-RMI远程调用

文章目录RMI远程调用基本概念Java实现RMI远程调用Java实现RMI远程调用2Java的RMI远程调用弊端小结 RMI远程调用基本概念 Java的RMI远程调用是指,一个JVM中的代码可以通过网络实现远程调用另一个JVM的某个方法。RMI是Remote Method Invocation...

2020-01-30 21:09:42 1512 0

原创 【Java基础】网络编程-发送和接收Email

文章目录发送邮件传统的邮件是如何发送的电子邮件是如何发送的MUA/MTA/MDT和SMTP协议Java中使用JavaEmail发送邮件准备SMTP登录信息发送邮件发送HTML邮件发送附件发送内嵌图片的HTML邮件常见问题小结接收邮件Java中使用JavaEmail发送邮件小结 Email就是电子邮...

2020-01-29 22:18:56 381 0

原创 【Java基础】网络编程-UDP编程

UDP编程基本概念 TCP/IP协议栈中,TCP协议和UDP协议的联系和区别? 联系:TCP和UDP是TCP/IP协议栈中传输层的两个协议,它们使用网络层功能把数据包发送到目的地,从而为应用层提供网络服务。 区别: 1. TCP是面向连接的传输。UDP是无连接的传输。 2. TCP保证数据按照发送...

2020-01-29 15:58:50 122 0

原创 【Java基础】网络编程-TCP编程Demo

一个客户端对一个服务端 客户端与服务端一直保持socket连接通过控制台循环交互 具体表现为客户端发起请求,服务端接受客户端请请求并在控制台输入响应, 客户端接受服务端响应, 循环进行以上步骤 服务端 import java.io.*; import java.net.Socket; impo...

2020-01-27 15:19:15 152 0

原创 【Java基础】网络编程-TCP编程

文章目录Socket编程概念Socket通信步骤socket编程相关类Socket类Socket构造方法Socket常用方法connect方法代理服务器半关闭连接判断socket是否关闭ServerSocket类ServerSocket构造方法ServerSocket常用方法accpt()方法使用...

2020-01-27 14:34:24 170 0

原创 【Java基础】网络编程-计算机网络基本概念

网络编程的目的就是直接或间接地通过网络协议与其他计算机进行通信。在Java中包含网络编程地各种API,通过创建这些类的对象,就可以进行网络应用程序的编写。调用相应的方法

2020-01-21 11:52:57 113 0

原创 【Java基础】网络编程-InetAddress/InetSocketAddress

InetAddress:用于标识网络上的硬件资源(如,IP,主机名,域名等)。 对于InetAddress,三个方法:getLocalHost()、getByName()以及getAllByName()可以用来创建InetAddress的实例。 InetAddress类没有提供返回构造函数,所以...

2020-01-20 11:05:53 88 0

原创 【Java基础】网络编程-URL类

文章目录什么是URLURL语法URL类构造方法常用方法发起请求URLConnection类常用方法读取服务器向服务器写入数据获取首部配置首部配置连接设置响应超时时间使用URLConnection与服务器交互获取内容URLConnection的安全ContentHandlerFactoryHttpU...

2020-01-19 18:06:19 97 0

原创 【Java基础】随机输入输出文件流(RandomAccessFile)的使用

Java 输入/输出 I/O流 RandomAccessFile RandomAccessFile类——高效快捷地读写文件 RandomAccessFile的常见用法 JavaIO之RandomAccessFile javaIO RandomAccessFile类随机读写 高效的RandomAcc...

2020-01-10 17:58:16 94 0

原创 【Java基础】常用IO流的基本用法演示(持续更新)

文章目录常用IO流FileInputStream——FileOutputStreamFileReader——FileWriterBufferedInputStream——BufferedOutputStreamBufferedReader——BufferedWriterByteArrayInput...

2020-01-09 15:47:20 125 0

原创 【Java基础】对象深克隆和浅克隆的原理及实现

彻底理解Java深克隆和浅克隆的原理及实现 Java 面试:对象克隆 如何拷贝对象 深入浅出 Java 中的 clone 克隆方法 java实现克隆的三种(很最全面) 深浅克隆区别 克隆实现方式 深克隆与浅克隆 JAVA clone方法-深复制(深克隆)&浅复制(浅克隆) Java对象克隆...

2020-01-08 21:16:36 142 0

原创 【Java基础】序列化和反序列化

文章目录了解序列化反序列化概念如何序列化/反序列化Java对象必须实现java.io.Serializable接口序列化反序列化小结 了解序列化反序列化概念 序列化是指把一个Java对象变成二进制内容,本质上就是一个byte[]数组。 为什么要把Java对象序列化呢? ...

2019-12-30 00:08:03 104 1

原创 【Java基础】IO流体系基本概念以及常用操作

File类和递归 IO流:Java中IO流的概念细分,IO流类的体系,IO流的四大抽象类 java IO流的概念理解 Java 流(Stream)、文件(File)、IO Java I/O体系从原理到应用,这一篇全说清楚了 JAVA基础知识之IO——Java IO体系及常用类 Java...

2019-12-15 18:12:37 137 0

原创 【Java基础】字符串与字节数组相互转换

字符串转字节数组(编码) 方法 描述 getBytes() 使用系统的默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中 getBytes(String charsetName) 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个...

2019-12-10 16:51:00 78 0

原创 【Linux】使用grep命令查找文件内容

1. grep是linux中最为常用的三大文本(`awk,sed,grep`)处理工具之一 2. grep它能使用`正则表达式`搜索文本,并把匹配的行打印出来。 3. grep全称是Global Regular Expression Print,表示全局正则表达式打印,它的使用权限是所有用户。 4...

2019-12-03 16:40:15 150 0

提示
确定要删除当前文章?
取消 删除