
后端_Java
java 基础
清风不是明月
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
netty 学习
1、新建一个springboot项目,对外提供一个访问接口2、在pom.xml中添加docker原创 2023-06-21 17:47:00 · 1326 阅读 · 0 评论 -
POI导出(多个sheet工作表,多个表头)
有时候我们需要对数据归纳分类处理,因此会需要多个工作表展示,让数据更加清晰、一目了然。原创 2022-11-02 13:47:19 · 1307 阅读 · 0 评论 -
自定义注解(仅作为标识,不处理逻辑,逻辑有反射完成)
二 : 新建 测试类 InitDemo ,包含 注解标记的处理逻辑。一 : 新建MyAnnotation 注解。原创 2022-04-13 09:20:21 · 127 阅读 · 0 评论 -
List如何一边遍历,一边删除?
三 : 使用for循环倒序遍历(通过数组的下标来删除),不需要修正下标。二 : 使用for循环正序遍历(通过数组的下标来删除)一 : 使用Iterator的remove()方法。原创 2022-09-13 12:40:01 · 4189 阅读 · 1 评论 -
按照成绩排序,并列排名跳到下一名(不调到下一名)
【代码】按照成绩排序,并列排名跳到下一名(不调到下一名)原创 2022-05-08 23:13:13 · 503 阅读 · 0 评论 -
Java_实体类(Entity)转换VO
方法一:前提是属性名一致,如果两个类属性名不一致,赋值不上了方法二:如果两个类的属性值不同,可以用下面的赋值,除了单个对象,集合对象也是可以的。还可以两个对象合并成一个对象。1、POM依赖2 、自定义接口3、调用接口进行赋值...原创 2022-06-18 16:19:27 · 4493 阅读 · 1 评论 -
java_案例_自动分配宿舍(循环流程控制)
要求:1.自动分配宿舍2.如果重复点击“自动分配寝室”则将之前分配过的对应班级、性别的分配信息删除后再进行分配。3.产生冗余人员的原因是人员数量多于床位数量,冗余人员需要手动分配宿舍表关系及相应字段介绍:1.学生表:宿舍ID 床位号 入住状态2.宿舍类型表: 床位数 宿舍id3.宿舍表: 宿舍名 宿舍楼 宿舍类型代码: /** * 自动分配 */ public RespBean autoDor(String state, String sex, Inte原创 2021-11-01 21:15:33 · 2368 阅读 · 0 评论 -
java_实例_数据量大时,分批次(300条一插入)将数据插入数据库
如果数据量大的话,需要分批插入数据库java代码: //所有数据 List<Map<String, String>> teacherList = teacherMapper.getTeacher(); //接数据的临时集合 List list = new ArrayList(); for (Map<String, String> teacher : teacherList) {原创 2021-11-26 19:18:24 · 2207 阅读 · 0 评论 -
java_实例_从网络Url中下载文件
/** * 从网络Url中下载文件 * * @param urlStr url地址 * @param fileName 文件名 * @param savePath 保存路径 * @throws IOException */ public static String downLoadFromUrl(String urlStr, String fileName, String savePath) { In...原创 2021-11-30 16:56:50 · 359 阅读 · 0 评论 -
java_格式化数据(日期时间格式化,数字格式化,文本格式化)
原创 2022-02-27 21:14:07 · 297 阅读 · 0 评论 -
java_数据结构
栈(先进后出)理解:比作一个口的盒子,先放进去的东西在最下面,如果出去的话,会最后出去。队列(先进先出)理解:比作两个口的盒子。数组(查询快、增删慢)查询快:数组就一块空间,地址是连续的,首地址找到数组,索引找到数组内元素。增删慢:因为数组长度固定,所以增删元素,会创建新数组,把原数组数据复制给新数组。原数组在 内存中被销毁。链表(查询慢,增删快)查询慢:地址不是连续的,每次查询都需要从头开始查询。增删快:因为增删对链表的整体结构没有影响。链表中每个元素称为一个节点,一个节点包括数据源(原创 2021-10-31 19:11:31 · 350 阅读 · 0 评论 -
java_比较排序
Comparable接口//自定义类型排序(自定义类)public class Student implements Comparable<Student> { private String name; private int age; //省略了toString/构造/geter/setter等... //重写排序规格 @Override public int compareTo(Student o) { return th原创 2022-02-27 21:15:34 · 204 阅读 · 0 评论 -
Java基础(数制、静态导入)
1.数制int a1 = 9;//十进制int a2 = 0B1;//二进制.前缀0Bint a3 = 072;//八进制.前缀0int a4 = 0Xf;//十六进制.前缀0X原创 2022-02-24 20:38:20 · 270 阅读 · 0 评论 -
java_Math类_Random类_UUID类
官网原创 2021-11-13 19:26:57 · 262 阅读 · 0 评论 -
Java基础算法11111111
Java基础算法详解原创 2021-11-13 12:30:12 · 387 阅读 · 0 评论 -
Java8_Stream流
代码】Java8_Stream流。原创 2022-02-05 10:33:29 · 137 阅读 · 0 评论 -
IO流(文件流 , 缓冲流 , 对象流, 字符流 )
IO流父类输入流InputStream : 硬盘–>内存输出流OutputStream : 内存–>硬盘文件流(FileInputStream 和FileOutputStream)/*********************************FileInputStream ********************************************/1.单个字节读取 //创建文件输入流,并指定文件路径 FileInputStre.原创 2022-01-23 21:49:25 · 428 阅读 · 0 评论 -
BigInteger,BigDecimal,System类,Locale类
/** * 数组复制 * * src:源数组 * srcPos:从哪个位置开始复制 * dest:目标数组 * destPos:目标数组位置 * length;复制的长度 */ int[] src = new int[]{1, 2, 3, 4, 5}; int[] dest = new int[5]; ...原创 2022-01-23 11:24:22 · 249 阅读 · 0 评论 -
基本类型和包装类
基础数据类型和包装类区别:1.基本类型 数据存储在栈空间 , 包装类 因为属于引用类型 所以数据存储在堆空间,引用地址存储在栈空间中,默认值都是null2.包装类 将基本类型 的值包装在一个对象中//jdk1.5之后自动拆箱和装箱//基本类型(栈) 转换 成引用类型(堆) -->装箱//引用类型(堆) 转换 成基本类型(栈) -->拆箱//boolean Boolean//char Character//Number 子类 Byte, Float, Double, Sho.原创 2022-01-22 19:23:15 · 300 阅读 · 0 评论 -
java_Object类_Objects工具类_ObjectUtils工具类_BeanUtils工具类_浅拷贝/深拷贝
// clone() 创建并返回此对象的一个副本。 // equals(Object obj) 判断两个对象是否相等。 //finalize() 当对象被判定为垃圾对象时,有JVM自动调用此方法,用来标记垃圾对象,进入回收队列 //垃圾对象:没有有效引用指向该对象 //垃圾回收:有gc销毁垃圾对象,释放数据存储空间 //自动回收机制:jvm内存耗尽,一次性回收所有垃圾对象 //手动回收机制:使用System.gc(...原创 2022-01-21 21:17:06 · 676 阅读 · 0 评论 -
内部类(成员内部类、静态成员内部类、局部内部类、匿名内部类)
成员内部类//外部类public class Demo { private int id; private String name; //成员内部类 class Inner { private String name; //内部类中不能包括静态成员,但是可以包括静态常量 private static final String constant = "静态常量"; //内部类方法 public原创 2022-01-21 20:38:00 · 413 阅读 · 0 评论 -
常量接口、枚举(enum)、标记接口(Serializable序列化 ,Cloneable克隆接口)
常量接口类中常量接口public class Demo { private int id; // 类中的 常量接口 public interface state { String ENABLE = "1"; String STOP = "0"; }}//调用String enable = Demo.state.ENABLE;普通常量接口//常量接口public interface Consts { String原创 2022-01-20 21:53:02 · 412 阅读 · 0 评论 -
修饰符(abstract、static、final)
abstract:抽象类,抽象方法static:静态成员,类加载final:最终类,方法,常量原创 2022-01-19 21:39:00 · 78 阅读 · 0 评论 -
什么是递归
所有能用递归解决的问题,循环都能解决,但是当解决复杂问题,递归的实现方式会更简单. //例如:计算5!(5*4*3*2*1) //循环写法 public static int factorial01(int n) { int sum = 1; for (int i = 2; i <= n; i++) { sum *= i; } return sum; } //递归写法原创 2022-01-19 21:33:28 · 156 阅读 · 0 评论 -
java_注解
@Override:覆盖(重写)父类方法。@SuppressWarnings(“unused”):去掉"未使用"警告信息。/*建议使用其他方法/ :文档注释,在@Deprecated上方,在鼠标悬浮的时候给的提示信息。@Deprecated :提示该方法过时了。...原创 2022-01-17 10:54:35 · 250 阅读 · 0 评论 -
集合(Collection集合,Map集合,Collections工具类)
当数据实体具有一对多,或多对多的关系时,如果需要分别编写级联获取,非级联获取的接口,为了避免定义多了ResultMap,可以使用ResultMap的extends属性来优化。原创 2021-12-31 21:33:33 · 824 阅读 · 0 评论 -
Java_常见异常目录
集合相关异常//索引越界异常IndexOutOfBoundsException//数组索引越界异常ArrayIndexOutOfBoundsException//字符串索引越界异常ArrayIndexOutOfBoundsException没有元素异常NoSuchElementException//避免 没有元素异常if (!list.isEmpty()) { //操作集合}mybatis相关异常org.apache.ibatis.binding.BindingExcepti原创 2021-12-31 21:28:36 · 532 阅读 · 0 评论 -
http常用状态码(Status Code)
200 成功302 转发.比如访问A网站,A网站转发给了B网站400 参数,比如需要两个参数,但是只传一个参数401 未认证:未登录403 未授权:已登录,但是没有相应权限404 页面不存在405 比如controller只支持get请求,但是发起post请求,就会报405500 服务器内部错误,比如后台报空指针502 网关错误,比如用nginx突然挂掉了,就会报502...原创 2021-11-15 22:24:26 · 1894 阅读 · 0 评论 -
数据交换格式(JSON , XML , HTML)
List<Person> list = new ArrayList<>();Person p1 = new Person("李四",19,"lisi@qq.com");Person p2 = new Person("张三",89,"zhangsan@qq.com");list.add(p1);list.add(p2);String jsonString = JSON.toJSONString(list);String str ="";JSON.parseArray原创 2021-11-08 09:25:23 · 297 阅读 · 0 评论 -
File类( 文件 或 文件夹 和 FileFilter )
File想用静态方法: System.out.println("路径分隔符" + File.pathSeparator);//路径分隔符,Windows系统是;分号 Linux系统是:冒号 System.out.println("文件名称分隔符" + File.separator);// 文件名称分隔符 Windows系统是\反斜杠 Linux系统是/正斜杠 String myPath = "C:"+File.separa.原创 2021-11-06 21:45:28 · 208 阅读 · 0 评论 -
Thread多线程 11111111111
Thread类1.继承Thread类public class DemoThread extends Thread{ @Override public void run() {// 1.继承Thread,重写run()方法, for (int a = 0; a < 10; a++) { System.out.println("线程类的a=="+a); } } public static void main(原创 2021-11-06 17:34:49 · 104 阅读 · 0 评论 -
Lock锁11111111111111
//1.创建ReentrantLock对象 Lock alook = new ReentrantLock(); //2.方法前加锁 alook.lock(); //......具体方法代码 //3.方法后释放锁 alook.unlock();public class DemoThread implements Runnable { private static Integer ticker = 100; // 1.创建ReentrantLock对象 Lock.原创 2021-11-06 12:44:54 · 78 阅读 · 0 评论 -
synchronized (普通同步锁,静态同步锁,TimeUnit)
1.同步代码块1.锁对象可以是任意对象2.多个线程使用同一个锁对象synchronized (锁对象){ 可能出现线程安全问题的代码}public class DemoThread implements Runnable { private Integer ticker = 100; Object obj = new Object();//创建锁对象 @Override public void run() { while (true)原创 2021-11-06 12:29:11 · 884 阅读 · 0 评论 -
java_异常类(Throwable类、try catch)
异常原创 2021-11-05 21:24:23 · 237 阅读 · 0 评论 -
String类(String,StringBuilder,StringBuffer,StringUtils,CharSequence接口)
String类String是常量,底层是被final修饰的数组,不能改变。StringBuilder,字符串缓冲区,底层是数组,但是没有final修饰,可以变化。原创 2021-11-03 22:29:14 · 185 阅读 · 0 评论 -
Java_数组(Array类、Arrays工具类)
数组相关System.arraycopy()数组复制 和Arrays.toString() 方法 public static void main(String[] args) { //将数组中的指定数据拷贝到另一个数组中 int[] srcArray = {1, 2, 3, 4, 5};//原数组 int[] destArray = {6, 7, 8, 9, 10};//目标数组 System.out.println("复制前dest原创 2021-11-03 22:28:43 · 130 阅读 · 0 评论 -
网路(TCP , UDP , IP协议 , 端口号 , InetAddress类 ,Socket类 , ServerSocket 类)
TCP 协议 : 传输控制协议(可靠)定义: 是一种面向连接的 , 可靠的 , 基于字节流的传输层通信协议 . 数据大小无限制 .建立连接的过程需要三次握手 ,断开连接的过程需要四次挥手 .Socket (客户端套接字):操作系统的网络中通信节点ServerSocket (服务器套接字):操作系统的网络中通信节点案例1 : 客户端发送数据到服务器端 public static void main(String[] args) throws Exception { /*原创 2021-11-03 22:27:25 · 287 阅读 · 0 评论 -
可变参数(jdk1.5之后出现的特性)
可变参数(可传0–多个相同类型参数,底层是一个数组)使用前提:参数类型确定,参数个数不确定,就可以使用可变参数。public class Demo { public static void main(String[] args) { int i = add(1,2,3,4,5); System.out.println(i); } //可变参数可传0--多个,底层是一个数组 public static int add(int... arr原创 2021-11-01 21:14:08 · 144 阅读 · 0 评论 -
java_泛型(泛型类、泛型方法、泛型接口、通配符、有界泛型)
不使用泛型(默认Object)在集合中不使用泛型,默认的类型就是Object。容易引发异常 ArrayList list = new ArrayList(); list.add("jws"); list.add(521); Iterator iterator = list.iterator(); while (iterator.hasNext()) { Object next = iterator.ne原创 2021-10-31 17:31:49 · 134 阅读 · 0 评论 -
Iterator迭代器
Iterator接口Iterator通用集合取出方式。如果集合中没有元素,在取出的时候会抛出NoSuchException(没有元素异常)Iterator使用三个步骤1、获取集合迭代器(多态)2、判断集合还有没有元素3、取出集合元素 Collection<String> coll = new ArrayList<>(); coll.add("j"); coll.add("w"); coll.add("s"原创 2021-10-31 13:33:15 · 141 阅读 · 0 评论