![](https://img-blog.csdnimg.cn/20201209145207551.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java
java
hanjq_code
风吹雨打知生活,苦尽甘来懂人生。——生活
展开
-
java Bigdecimal
BigDecimal是Java在java.math包中提供的线程安全的API类,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。原创 2023-11-20 14:41:04 · 341 阅读 · 0 评论 -
java8 LocalDate、LocalTime、LocalDateTime
LocalDate:表示日期(年月日)LocalTime :表示时间(时分秒)LocalDateTime:表示时间+ 日期 (年月日时分秒),是java8最常用的日期类这些类使用了final来修饰,使得这些类是不可变的,一旦实例化,值就固定了,有点类似于String类。因此它们都是线程安全的。原创 2023-11-20 10:42:12 · 180 阅读 · 0 评论 -
Java split() 实现字符串中字母与数字分离
Java split() 实现字符串中字母与数字分离原创 2022-07-19 15:31:14 · 3908 阅读 · 0 评论 -
java http下载到本地文件
java http下载到本地文件原创 2022-07-13 11:25:20 · 3569 阅读 · 0 评论 -
java创建线程九种方法
java创建线程九种方法原创 2022-07-11 15:40:44 · 777 阅读 · 0 评论 -
阿里云oss文件服务器上传下载javautil类
阿里云oss文件服务器上传下载javautil类原创 2022-07-11 10:33:47 · 684 阅读 · 0 评论 -
EasyExcelUtil 上传下载工具类 表头校验
* excel工具类 * easyexcel使用的3.0.2版本,跟以前版本有很大区别,且不兼容1.x版本原创 2022-07-11 10:25:50 · 581 阅读 · 0 评论 -
java命令行运行main方法控制台打印 javac -d . Test.java (-d跟点注意空格)
java命令行运行main方法控制台打印 javac -d . Test.java (-d跟点注意空格)原创 2022-04-08 10:35:57 · 609 阅读 · 0 评论 -
多端使用同一接口 解决现在大多数项目需要应对不同的客户端写相同的接口(最常见的pc端获取学生信息接口 app端也有该接口)
package com.test;public interface IDummyStationService { String test(); List<StationVo> listStation(StationVo stationVo);}//app体验区端@Servicepublic class AppDummyStationServiceImpl implements IDummyStationService { @Override .原创 2021-10-29 09:53:19 · 652 阅读 · 0 评论 -
EasyExcel 下拉框
本文用到的jar:<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.7</version></dependency><dependency> <groupId>org.slf4j</groupId> <artifact.原创 2021-09-28 10:07:51 · 2025 阅读 · 0 评论 -
spring 事务失效的 12 种场景
对于从事 java 开发工作的同学来说,spring 的事务肯定再熟悉不过了。在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性(要么同时成功,要么同时失败),避免数据不一致的情况,我们一般都会用到 spring 事务。确实,spring 事务用起来贼爽,就用一个简单的注解:@Transactional,就能轻松搞定事务。我猜大部分小伙伴也是这样用的,而且一直用一直爽。但如果你使用不当,它也会坑你于无形。一、事务不生效1.访问权限问题众所周知,ja.原创 2021-09-27 16:07:50 · 29696 阅读 · 12 评论 -
List 取两个集合对象差集
public static void main(String[] args){ List<String>list = new ArrayList<String>(); list.add("保护环境"); //向列表中添加数据 list.add("爱护地球"); //向列表中添加数据 list.add("从我做起"); //向列表中添加数据 List<String>list1 = new ArrayList<String.原创 2021-07-09 10:12:07 · 3381 阅读 · 0 评论 -
java Graphics2D.class 绘图并下载文件
package hanjq.hanjqtest.idcard;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.google.zxing.WriterException;import com.google.zxing.common.BitMatrix;import com.google.原创 2021-07-01 09:50:27 · 295 阅读 · 0 评论 -
Java基础面试题
1、什么是OOP? 面向对象编程2、类与对象的关系? 类是对象的抽象,对象是类的实例3、Java中有几种数据类型标识符的命名规则? 驼峰命名,类名首字符需要大写,方法首字符小写,之后单词之间都需要驼峰方式首字符大写;4、instanceof关键字的作用? instanceof格式是(子类实例对象 instanceof 父类类名)返回boolean类型,校验是否是子父关系;5、什么是隐式转换,什么是显式转换? 隐式转换就是不同基本类型之间计算自动转类型,例如...原创 2021-04-18 09:45:12 · 177 阅读 · 0 评论 -
使用list.subList()方法报ConcurrentModificationException异常
package org.example.sublist;import java.util.ArrayList;import java.util.List;public class TestSubList { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("A"); list.add(".原创 2021-04-09 09:36:15 · 306 阅读 · 2 评论 -
java四种创建对象方式new、clone、instance、serializable
1.使用new创建对象 使用new关键字创建对象应该是最常见的一种方式,但我们应该知道,使用new创建对象会增加耦合度。无论使用什么框架,都要减少new的使用以降低耦合度。package yunche.test;/** * @ClassName: Hello * @Description: 待创建的类 * @author: yunche * @date: 2018/08/24 */public class Hello{ public void sayWorld()转载 2021-04-08 08:50:29 · 923 阅读 · 0 评论 -
java根据传入参数定义泛型
实体类:package hanjq.hanjqtest.leetcode.arr;public class Student { public String getName() { return name; } public void setName(String name) { this.name = name; } private String name;}公共封装返回值类:package hanj..原创 2021-02-02 17:32:20 · 785 阅读 · 1 评论 -
java tree 树形数据 递归 组装
"[" +"{id: 7,name:'佘山', pid:2}," +"{id: 8,name:'九亭', pid: 2}," +"{id: 9,name:'松江南站', pid: 2}," +"{id: 13,name:'汶水路', pid:4}," +"{id: 14,name:'延长路', pid:4}," +"{id: 15,name:'富锦路', pid: 4}," +"{id: 5,name:'赤峰路', pid:1}," +"{id: 6,name:'友谊路',pid: 1...原创 2021-01-11 20:35:01 · 598 阅读 · 2 评论 -
java静动态代理三个角色扮演介绍明明白白——代理类 被代理类 被代理类接口
静态代理:1、被代理类接口package agent.pakstatic;public interface SendServer { void sendEmail();}2、被代理类(业务接口实现类)package agent.pakstatic;public class SendEmail implements SendServer{ @Override public void sendEmail() { System.out.pr原创 2020-12-25 16:20:34 · 572 阅读 · 0 评论 -
java自定义注解 由浅到深 由外到内 让你行云流水
先来了解下自定义注解类的注解注释:@Target表明该注解可以应用的java元素类型Target类型 描述 ElementType.TYPE 应用于类、接口(包括注解类型)、枚举 ElementType.FIELD 应用于属性(包括枚举中的常量) ElementType.METHOD 应用于方法 ElementType.PARAMETER 应用于方法的形参 ElementType.CONSTRUCTOR 应用于构造函数 Element..原创 2020-12-23 13:49:02 · 162 阅读 · 0 评论 -
java main主方法类生成class文件如何运行在windows的dos窗口中
前文:这几天帮助妹子用各种工具批量处理了文件夹的名字,由于时间比较急,来不及写代码处理,就用基本的dos命令结合excel还有Nodpad++工具给解决了,需求就是把文件夹的名字,例如:张三110322199911112222更改为110322199911112222张三。基础正文开始:dir D:\a\b.txt /b > D:\name.txtdir [你的路径 ] /b >[你指的路径下所有的文件包含文件夹的名输出到当前路径]此时的name.txt中已经有你所有的文件(原创 2020-12-15 15:19:42 · 654 阅读 · 1 评论 -
java 反射内部类两种方法 让你明白jvm生产class文件玄机!!!
1、demo结构2、3、原创 2020-12-15 14:54:48 · 97 阅读 · 0 评论 -
java设计模式之工厂模式分三种情况逐一调理
一、简介工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。工厂模式有三种:简单工厂模式、工厂方法模式、抽象工厂模式。二、简单工厂模式简单工厂模式由三类角色组成:抽象产品、具体产品、工厂类。抽象产品(宝马):public abstract class BMW {/*** 宝马介绍*/abstract void introduce();}具体产品(宝马三系、宝马五系):public cl...原创 2020-12-11 11:02:09 · 91 阅读 · 0 评论 -
java通过反射调用private修饰方法
Java反射的三种实现方式:Test test = new Test();第一种:通过Object类的getClass方法 Class cla = test .getClass();第二种:通过对象实例方法获取对象 Class cla = test.class;第三种:通过Class.forName方式 Class cla = Class.forName("xx.xx.Test ");示例:package com.test;class TestA{ private S原创 2020-10-20 17:08:53 · 2212 阅读 · 0 评论 -
https://github.com/gsjqwyl/awesome-ebook
https://github.com/gsjqwyl/awesome-ebook原创 2020-12-10 14:07:22 · 270 阅读 · 0 评论 -
Java实现单链表、栈、队列三种数据结构
一、单链表1、在我们数据结构中,单链表非常重要。它里面的数据元素是以结点为单位,每个结点是由数据元素的数据和下一个结点的地址组成,在java集合框架里面 LinkedList、HashMap(数组加链表)等等的底层都是用链表实现的。2、下面是单链表的几个特点:数据元素在内存中存放的地址是不连续的:单链表的结点里面还定义一个结点,它里面保存着下一个结点的内存地址,在实例化对象的时候,jvm会开辟不同内存空间,并且是不连续的。添加效率高:添加一个元素时,先找到插入位置的前一个,只需要将1,2个.转载 2020-11-25 10:41:18 · 71 阅读 · 0 评论 -
工作5年后,再看String s = new String(“xyz“) 创建了几个对象?
这个问题相信每个学习java的同学都不陌生,作为一个经典的面试题,到现在工作这么多年了我真是认为挺操蛋的一个问题,在网上到现在你仍然可以看见很多讨论这个问题的人,其中不乏工作很多年的人都有争论,我认为还是有必要来说一说这个问题的。从方法区说起常量池存在于方法区,而方法区在jdk1.7版本前后改变比较大,所以还是先来说说方法区的演变。在jdk1.7版本之前,常量池存在于方法区,方法区是堆的一个逻辑部分,他有一个名字叫做非堆。1.7版本把字符串常量池放到了堆中。而在1.8..转载 2020-11-25 10:29:12 · 100 阅读 · 0 评论 -
java indexOf compareTo
1、indexof()字符串String:int indexOf(String str):返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 int indexOf(String str, int fromIndex):返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 如果传入参数的值存在于字符串中就返回第一次出现的角标;没有则返回-1;集合ArrayList:道理同上;2、..原创 2020-10-30 14:53:22 · 130 阅读 · 0 评论 -
List remove的三种正确方法
1、倒序循环,因为list删除只会导致当前元素之后的元素位置发生改变,所以采用倒序可以保证前面的元素没有变化;for(int i=list.size()-1;i>=0;i--){ list.remove(i); }2、顺序循环时,删除当前位置的值,下一个值就会补到当前位置,所以需要执行i–操作;for (int i=0; i<list.size(); i++) { if (list.get(i) == 3) { list.rem原创 2020-09-25 13:15:55 · 39878 阅读 · 5 评论 -
java 数组创建 三种方式
public static void main(String[] args){ /** * 1. 固定大小的空数组, 动态创建 */ String[] strArr1 = new String[3]; /** * 2. 创建数组并直接赋值, 动态创建 */ String[] strArr2 = new String[]{"data", "struct", "stati.原创 2020-09-22 16:17:05 · 465 阅读 · 0 评论 -
java 内部类 调用方式 作用域 详解
package AA;public class 类 { int de=123; StringBuffer dee=new StringBuffer(); public class 成员内部类{ public void ff() { System.out.println("这是成员内部类方法"); } } /* 1.可以访问外部类所有的成员,包括被声明为私有(private)的; .原创 2020-09-22 16:15:14 · 312 阅读 · 0 评论 -
mybatis insert 语法报错 注意字段是否有关键字 explain
表字段mybatis insert `explain` 关键字原创 2020-09-02 19:01:02 · 562 阅读 · 0 评论 -
java原生JDBC拼接sql并insert数据库
package JDBC;import sun.jvm.hotspot.HelloWorld;import java.io.*;import java.net.URL;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.util.Properties;public clas.原创 2020-08-22 12:28:59 · 1867 阅读 · 0 评论 -
java 手把手交 git下载资源打成jar
1、2、3、4、别慌 刚开始我也慌 为啥idea不自动配置项目了呢!应该这个项目是老项目不是maven项目!5、配置项目主函数入口打jar最关键一步,弹出弹窗点add,图一选错主入口了选成单元格测试入口了,应该选图三6、图一点击之后选build就会在图二output输出路径生产jar到此结束,感谢观看,经验不足,还请多提意见!...原创 2020-08-12 11:45:35 · 654 阅读 · 0 评论 -
java获取远程文件服务器文件保证文件名上传下载一样 http协议
@Controller@RequestMapping(value = "/")public class TestController extends BaseController{ //文件服务器链接 @Value("http://emanager.wxcl.com/uploadapi") private String fileServerURL; @RequestMapping("/downloadReFileName/{orderId}") @Scope(value="prototy.原创 2020-08-12 10:23:57 · 937 阅读 · 0 评论