Java
文章平均质量分 66
肌肌腹肌肌
这个作者很懒,什么都没留下…
展开
-
Java 实现大根堆
堆是一种比较常见的数据结构,在 Java 里有 PriorityQueue 就是堆的一种实现,自己代码实现堆结构有助于更好地理解这种数据结构,以便于我们能够更好地去运用它。原创 2023-01-03 10:35:04 · 1421 阅读 · 0 评论 -
不懂 Java 注解?带你写一个
从理论到实践,带你真正理解 Java 注解原创 2022-04-24 14:18:33 · 414 阅读 · 0 评论 -
数组下标常见应用
数组下标常见应用1. 背景2. 常见应用2.1 求 [i, j] 之间的元素个数2.2 求 (i, j] 之间的元素个数2.3 求 [i, j) 之间的元素个数2.41. 背景平时在写题的时候,经常会需要对数组下标进行一些判断、计算,基本上每次都是举例子找边界,而且写完之后心里没底,生怕数组越界,所以打算记录一下常见的数组下标的转换。2. 常见应用//idx:0 1 2 3 4 5 6 7 8 [1, 2, 3, 10, 4, 2, 3, 4, 5]2.1 求 [i, j]原创 2022-04-23 09:46:53 · 329 阅读 · 0 评论 -
Java 反射
Java 反射1. 反射是什么2 反射机制能做什么99. 参考1. 反射是什么反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。这种动态获取类信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。在面对对象的世界里,万物皆对象,Java 的类也不例外—— Java 的类是 java.lang.Class 类的实例对象。反射是 Java 程序开发语言的特性之一,它允许运行中的 Java 程序获取自身的信息,并且可以原创 2022-04-19 16:56:27 · 18949 阅读 · 0 评论 -
Java 突击 —— 字符串
Java 字符串知识快速复习原创 2022-03-02 17:25:47 · 150 阅读 · 0 评论 -
Java中List<Integer>, Integer[], int[], List<String>, String[]的相互转换
Java中List, Integer[], int[]的相互转换有时候我们需要 List<Integer>, Integer[], int[] 三者的互相转换,但是每次都写循环难免有点 “low”,所以为了显得“高大上”,其实也是为了多学点知识,现在总结一下。如果不了解,可以先背下来,边用边理解import java.util.Arrays;import java.util.List;import java.util.stream.Collectors; public class M转载 2022-02-26 11:07:38 · 2016 阅读 · 0 评论 -
玩转MyBatis03——配置解析
玩转MyBatis03——配置解析核心配置文件environmentsmappersPropertiestypeAliases参考核心配置文件environmentsmappersPropertiestypeAliases参考狂神说MyBatis02:CRUD操作及配置解析原创 2022-01-13 13:28:54 · 176 阅读 · 0 评论 -
玩转MyBatis02——增删改查
玩转MyBatis02——增删改查1. select1.1 不带参数1.2 带一个参数1.3 带多个参数(@Param)1.4 带多个参数(Map)2. insert3. update4. delete上一节我们搭建了 MyBatis 的环境,并简单实现了一个查询所有用户的 SQL 语句。本节,我将带领大家学习一下常用的增删改查的常用 SQL 语句。而 MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC原创 2022-01-11 14:16:10 · 278 阅读 · 0 评论 -
玩转MyBatis01——第一个Mybatis程序
Mybatis 是一款优秀的持久层框架,是我们工作学习过程中不可或缺的一部分。 本教程致力于打造 Mybatis 的保姆级教程,祝您学习愉快~原创 2022-01-07 13:32:17 · 268 阅读 · 0 评论 -
Java基础
Java基础1 面向对象2 JDK、JRE、JVM的联系和区别3 == 和 equals4 final1 面向对象面向过程:更注重事情的每一个步骤及顺序面向对象:更注重事情的参与者有哪些,及每个参与者需要做什么面向过程比较直接高效,面向对象易于复用、扩展和维护提到面向对象,不得不提封装、继承、多态2 JDK、JRE、JVM的联系和区别请看这篇文章:JDK、JRE、JVM的联系和区别3 == 和 equals== :== 对比的是栈中的值(基本数据类型是变量值,引用数据类型是堆原创 2021-11-30 15:31:41 · 160 阅读 · 0 评论 -
Java基础之LinkedList
Java基础之LinkedList1. 概述2. 底层实现3. 常用方法介绍3.1 add()3.2 remove()3.3 get()3.4 set()4. 遍历方法4.1 Iterator方法遍历4.2 for循环遍历4.3 增强for循环遍历4.4 用pollFirst()遍历4.5 用pollLast()遍历4.6 用removeFirst()遍历4.7 用removeLast()遍历6. 参考1. 概述LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序容器原创 2021-10-26 13:28:21 · 270 阅读 · 0 评论 -
Java数组排序
对二维数组进行排序:按照子数组的第一个元素升序排列int[][] points = {{2, 5}, {3, 4}, {1, 2}};Arrays.sort(points, new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { if (o1[0] > o2[0]) { return 1; } else if原创 2021-10-26 09:05:08 · 241 阅读 · 0 评论 -
Java基础之ArrayList
Java基础之ArrayList1. 概述2. 底层实现3. 常用方法介绍3.1 set()3.2 get()3.3 add()3.4 addAll()3.5 remove()4. 遍历方法4.1 Iterator方法遍历4.2 for循环遍历4.3 增强for循环遍历5. 类比LinkedList、Vector6. 参考1. 概述ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。原创 2021-10-08 13:27:22 · 196 阅读 · 0 评论 -
JVM 内存结构
JVM 内存结构1 程序计数器(PC寄存器)1.1 程序计数器定义1.2 程序计数器的作用1.3 程序计数器的特点2 Java 虚拟机栈(Java 栈)2.1 Java 虚拟机栈的定义参考Java 虚拟机的内存空间分为 5 个部分:程序计数器Java 虚拟机栈本地方法栈堆方法区JDK 1.8 同 JDK 1.7 比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对 JVM 规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地原创 2021-09-08 13:30:20 · 112 阅读 · 0 评论 -
Java基础数据结构——队列和栈
1. Queue1.1 Queue 介绍Queue(队列)是一种FIFO(First In First Out)的有序表,只有两个操作:入队(从队列末尾)出队(从队列头部)超市收银台就是一个队列(先进先出)1.2 Queue 使用在 Java 中 LinkedList 类实现了 Queue 接口,因此我们可以把 LinkedList 当成 Queue 来用:import java.util.LinkedList;import java.util.Queue;Queue<S原创 2021-09-02 13:27:59 · 115 阅读 · 0 评论 -
Mybatis-Spring之使用 SqlSession
在 MyBatis 中,你可以使用SqlSessionFactory来创建SqlSession。 一旦你获得一个 session 之后,你可以使用它来执行映射了的语句,提交或回滚连接,最后,当不再需要它的时候,你可以关闭 session。 使用 MyBatis-Spring 之后,你不再需要直接使用SqlSessionFactory了,因为你的 bean 可以被注入一个线程安全的SqlSession,它能基于 Spring 的事务配置来自动提交、回滚、关闭 session。这是官方文档上的描...原创 2021-07-24 17:02:30 · 1859 阅读 · 2 评论 -
IDEA配置文件无法输出到target目录
在pom文件中增加以下配置即可 <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include>原创 2021-07-16 12:56:45 · 561 阅读 · 3 评论 -
Mybatis-万能的Map
1 背景当SQL语句中仅需要某些字段时,不必要将整个对象作为参数传入,因为实际项目中对象的属性可能很多,而SQL语句中不一定要用到这么多字段2 应用2.1 mapper接口mapper接口定义如下://用mapint addUser2(Map<String, Object> map);2.2 mapper.xml注意parameterType为小写的map即可,values字段对应为map对应的key <!--新增用户,用map--> &原创 2021-07-07 17:40:54 · 85 阅读 · 0 评论 -
Mybatis入门
目录1 Mybatis是什么2 CRUD2.1 准备工作2.1.1 准备数据库(表)2.1.2配置文件2.1.3工具类2.1.3 pojo类2.2mapper类2.3 mapper对应xml文件2.4 测试3 参考1 Mybatis是什么MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置...原创 2021-07-07 17:04:00 · 75 阅读 · 0 评论 -
Java发送邮件(带图片和附件)
如何获取QQ邮箱授权码package com.jason.mail;import com.sun.mail.util.MailSSLSocketFactory;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.*;import javax.mail.internet.*;import java.util.Properties;public cla.原创 2021-07-06 10:10:35 · 340 阅读 · 0 评论 -
Java多态
Java多态原创 2021-04-19 09:29:20 · 52 阅读 · 0 评论 -
Java方重载和重写
Java方重载和重写1 重载2 重写2.1 方法重写的规则2.2 super关键字3 参考1 重载如果有两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载。方法名相同,参数列表不同,只与需参数列表不同即可,包括:参数个数不同参数类型不同顺序不同(意义不大)但要注意方法的名称一定要相同,且与方法的返回值类型和方法的修饰符(static、final)无关,即使带有static或者final修饰符的方法也可以进行重载public static final boolean原创 2021-04-04 16:57:15 · 86 阅读 · 2 评论 -
Java异或运算和位运算
Java异或运算和位运算异或运算异或的应用参考异或运算简单点说就是:相同为0,不同为1。另外,任何数与0异或的结果为自己本身,任何数与自己异或结果为0:n ^ n = 0n ^ 0 = n异或运算满足的法则:a ^ b = b ^ a (交换律)a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c (结合律)d = a ^ b ^ c 可以推出 a = d ^ b ^ c异或的应用不使用第三个变量,交换两个变量的值int a = 1;int b =原创 2021-04-02 10:06:33 · 2833 阅读 · 0 评论 -
Java数据类型转换
Java数据类型转换隐式转换强制转换注意点参考隐式转换隐式转换也叫自动类型转换,是指低级变量类型可以自动转换为高级变量类型。类型从低级到高级排列如下强制转换强制类型转换是指从高级变量类型转换为低级变量类型,可能会造成精度损失注意点byte、short与char两两进行运算的时候,会自动提升为int类型,运行结果需要强制类型转换 接上述1,byte b4 = 3 + 4; 可以编译、运行通过是因为虽然3和4都为int类型,但Java编译器有常量优化机制,先将3+4算出为7,而7在-1原创 2021-04-01 10:04:20 · 72 阅读 · 0 评论 -
Java访问修饰符
Java访问修饰符publicprotecteddefaultprivate参考:public具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。protected主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西。包内也可访问。default有时候也称为friendly,它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互转载 2021-02-18 11:03:30 · 92 阅读 · 0 评论 -
JDK、JRE、JVM的联系和区别
本文先分别介绍JDK、JRE和JVM,然后再对它们之间的联系和区别作出介绍。原创 2020-12-31 10:39:53 · 142 阅读 · 0 评论