
Java
煌sir
黎明前,总有一段时间特别黑!
展开
-
解决IDEA中 import sun.misc.BASE64Decoder导入报错问题
import sun.misc.BASE64Decoder导入报错怎么快速解决?原创 2022-09-26 19:33:43 · 6447 阅读 · 3 评论 -
解决java.util.ConcurrentModificationException: null并发修改异常
遇到并发修改异常,怎么办???来,教你快速解决!原创 2022-01-20 18:38:29 · 11757 阅读 · 0 评论 -
java中的集合List如何进行快速分页呢?
知识小锦囊:如果实现一页展示3条数据呢?可调用list集合中的subList可进行分页操作 // 页码 int pageCurrent = 1; // 页数 int pageSize = 3; // 集合分页操作 int fromindex = pageSize * (pageCurrent-1); int toIndex = fromindex + pageSize; if(toIndex >= collect.size()){ t原创 2021-12-16 12:55:10 · 1768 阅读 · 0 评论 -
Java中如果快速获取两个集合的交集数据呢?
在我们日常开发中,可能会遇到想要获取两个List集合中的共同数据,看到这里,有的小伙伴就想,直接遍历判断取出来不就好了,确实,虽然,这种办法是可行的,但是,是不是就代码量和杂七杂八的加起来,就显得很冗余,不够精,这里我来教你一种写法,可以利用java8的stream(流)来完成操作喔!知识小锦囊: List<Long> departmentUserNos = departmentVOList.stream().map(UserDepartmentVO::getUserN.原创 2021-12-16 12:42:45 · 5029 阅读 · 1 评论 -
高德地图根据经纬度调用api报错Uncaught Error: USERKEY_PLAT_NOMATCH(10009)
一.翻车现场:根据经纬度调用高德地图api获取相应信息的时候,报错Uncaught Error: USERKEY_PLAT_NOMATCH(10009)二.解决方案:经过排查发现,是高德中的key有问题,官方文档里显示10009报错为:只要申请一个web服务对应的key即可配置使用看完恭喜你,又知道了一点点!!!你知道的越多,不知道的越多!~感谢志同道合的你阅读, 你的支持是我学习的最大动力 !加油,陌生人一起努力,共勉!!...原创 2021-07-28 07:56:57 · 3958 阅读 · 3 评论 -
如何在Java中使用BigDecimal数字类型,你真的掌握了嘛??
一:什么是BigDecimal?Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也原创 2021-05-16 12:31:28 · 756 阅读 · 1 评论 -
Springboot中如何实现加密数据库配置信息? 不加密如同让人透视?三步即可搞定!
通常开发中,可能我们在yml文件中连接数据库的配置信息,那些账号啊,密码呀,都是明文的,如果上线的话,是存在安全隐患的,如何解决呢?当然加密方式有很多, 让我来告诉你最简单的一种方法,快速配置即可三步搞定~步骤一:加入jasypt依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>..原创 2021-02-22 17:48:12 · 429 阅读 · 1 评论 -
如何在SpringBoot项目中给所有请求加个固定前缀呢?
在开发中,可能会遇到需要配置项目前缀的问题,虽然我们可以在Controller控制器方法中给所有请求加前缀,但是不禁比较麻烦,而且在某种环境下是没什么用处,形同虚设接下来,教你在配置文章中只需短短一小行代码配置即可生效知识小锦囊:在yml配置文件中加入配置:server.servlet.context-path: /需要设置的路径前缀再重启测试即可生效看完恭喜你,又知道了一点点!!!你知道的越多,不知道的越多!~感谢志...原创 2021-02-18 15:29:20 · 10745 阅读 · 11 评论 -
循环整形集合,用逗号拼成字符串的小锦囊~(去掉最后一个逗号)
方法:java代码:传入的集合数据为: [1,2,3,4] List<Integer> labelCheckList = syMember.getLabelCheckList(); // 拼接成字符串 StringBuffer stringBuffer = new StringBuffer(); for (Integer labelId : labelCheckList) { stri...原创 2020-10-13 22:03:06 · 530 阅读 · 2 评论 -
你知道IDEA中如何使用ftp连接到Linux吗?
如何在IDEA中使用ftp呢? 话不多说,直接上货~~步骤一:首先点击 Tools -> Deployment -> Browse Remote Host步骤二: 弹出一个框, 点击 ...步骤三: 自动弹出一个框,点击+ 号, 建议类型选择 SFTP步骤四: 写自定义名字即可步骤五: 填写相应连接信息步骤六: 连接成功后,即可看到这个框...原创 2020-09-11 21:51:37 · 568 阅读 · 1 评论 -
事务的特性【重点干货】
一.ACID保证数据的完整、安全的:原子性、一致性、隔离性、持久性某个事务要想保证数据完整、安全,必须同时具备四大特性。原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。强调事务不可分割例如:转账事务由付款和收款两个单元组成,但是不能将该事务再划分一致性(Consistency)事务前后数据的完整性必须保持一致。例如:转账事务执行前或执行后,数据必须保证完整一致。隔离性(Isolation)事务的隔离性是指多个用.原创 2020-09-01 23:26:35 · 394 阅读 · 0 评论 -
你真的弄懂equals()和 == 的区别了吗???
首先,让我们看看Object类中equals方法源代码如下:Object中的equals方法是直接判断this和obj本身的值是否相等,即用来判断调用equals的对象和形参obj所引用的对象是否是同一对象,所谓同一对象就是指内存中同一块存储单元,如果this和obj指向的是同一块内存对象,则返回true,如果this和obj指向的不是同一块内存,则返回false注意:即便是内容完全相等的两块不同的内存对象,也返回false那么equals()方法与 “==”有什么区别呢...原创 2020-08-27 16:55:34 · 843 阅读 · 0 评论 -
Java中为什么要重写hashCode方法和equals方法?重写了equals方法为什么还要重写hashCode方法? 啊~~终于明白了
在我们开发中,可能经常听到重写hashCode方法和equals方法,这是为什么呢?为了更容易通俗易懂,来个小故事缓解一下激动的心情~~打个比方,一个名叫张三的人去住酒店,在前台登记完名字就去了99层100号房间,此时警察来前台找叫张三的这个人住在哪间房,经过查询,该酒店住宿的有50个叫张三的,需要遍历查询,查询起来很不方便。那么就换另外一种登记方式,前台登记时登记身份证号,警察来前台找身份证号时发现身份证号也存在重复,经过哈希算法进行计算后相同的hashcode值被分到了一个房间然后产生链表原创 2020-08-26 17:12:29 · 4326 阅读 · 8 评论 -
ThreadLocal (和线程绑定的map集合)
一.简述为什么要讲解ThreadLocal?为了项目解耦合,更好地维护项目 耦合会使得项目维护难度增加 解耦合。 直接去掉更多的importThreadLocal:本质MAP集合。绑定了线程的map集合。作用:在线程中进行数据共享。原理:一个ThreadLocal在一个线程中,只能保存一个键值对二.APIThreadLocal 方法名 描述 set(Object o...原创 2020-08-28 19:46:24 · 1516 阅读 · 0 评论 -
数据库事务超全干货
小伙伴们,在说干货之前,为了更通俗易懂,先来点小菜,岂不是更美滋滋吗~~~嚯嚯业务讲解:转账案例(小菜)①小明付钱: update account set money=money-1000where name=’xiaoming’;②小红收钱: update account set money=money+1000where name=’xiaohong’;流程图:代码实现:AccountTest:public c...原创 2020-08-25 18:06:23 · 290 阅读 · 0 评论 -
[动态代理]详解, 速领~~
一.简述及实现原则1.简述代理模式的一种,指在在不改变原有类的情况下,在程序运行期间,动态增强某个对象的功能。动态代理中:待增强的对象 叫做 被代理对象增强功能的对象 叫做 代理对象例如:缴话费被代理对象 : 营业厅 --- 缴话费代理对象:代缴话费的网店、代缴话费APP---足不出户,缴话费代理:代为处理。2.实现原则:获取被代理对象 通过Proxy.newInstance方法创建代理对象 代理对象获取被代...原创 2020-08-24 18:01:20 · 286 阅读 · 0 评论 -
Java执行基本流程, 不知道这东西你敢说你是JAVA程序员???
Java执行基本流程主要分为三大步:一.安装JDK 目的:需要使用 jdk / bin 目录中提供的命令(javac.exe / java.exe)javac == java compile // 用来把.java 文件编译为.class 文件 java == java tuntime // 用来运行 .class 文件 或 jar一般代码首先得编译成计算机认识的东西才能运行仅安装jdk后, 只能在 bin 目录处理源码 (编译, 执行), 其他目...原创 2020-08-22 16:40:42 · 905 阅读 · 0 评论 -
Java中的装饰者设计模式,你知道嘛?
一.简述及实现原则装饰模式:在不改变原有类和不使用继承的情况下,动态地扩展一个对象的功能。因会创建一个包装对象,来包裹真实对象而得名。作用:增强对象的功能例子1:墙: 功能---遮风挡雨包了墙纸的墙(本质还是墙):功能---遮风挡雨新增功能---陶冶情操例子2:钢笔: 功能---写字包了礼盒的钢笔(本质还是钢笔):功能---写字功能---礼品没有改变原有类 进行动态地增强装饰类:增强功...原创 2020-08-10 21:50:32 · 318 阅读 · 1 评论 -
解决关于SQL注入问题,你知道吗?
一.简述SQL注入:用户输入的内容作为了SQL语句语法的一部分,改变了原有SQL真正的意义。二.问题还原用户登录。/** SQL注入演示* */public static void main(String[] args) throws Exception { //定义用户名和密码(将来从前端页面传递而来) String username = "admin"; //还原SQL注入 String password = "'or''='";...原创 2020-08-07 23:00:01 · 460 阅读 · 0 评论 -
关于原生JDBC增删改查以及连接池详解(二)
一.JDBC增删改查 查询所有并展示 根据ID查询某条数据 添加一条数据 根据ID修改一条数据 根据ID删除一条数据 二.连接池1.为什么要讲解连接池:工作中为了提升和数据库的交互效率,处处都会使用连接池。什么是连接池:用来保存和管理 Connection对象的容器作用:保存、管理Connection对象提升和数据库交互效率...原创 2020-08-05 23:20:50 · 355 阅读 · 0 评论 -
关于原生JDBC详解(一)
JDBC一.简述JDBC:Java操作数据库技术JDBC是一套接口(有个别特殊类)JDBC可以操作多种关系型数据库(MySQL、oracle)操作MySQL的JDBC,有一套专门的实现类 ---- 驱动操作oracle的JDBC,也有一套专门的实现类 ---- 驱动实现了JDBC接口的实现类,驱动驱动一般都由数据库生成厂商提供。MySQL的JDBC驱动,由MySQL的厂商提供Oracle的JDBC驱动,由oracle的厂商提供。...原创 2020-08-04 21:36:52 · 1653 阅读 · 0 评论 -
程序员必备开发环境JDK安装详解
目录一.Java 环境搭建1.前言2.安装 JDK步骤1:弹出安装界面后,点击“下一步”步骤2:这里我们选择安装目录,点击“更改”步骤3;安装到此界面后,我们点击“×”即可,该步骤无需安装步骤4:弹出的对话框点击“是”步骤5:安装结束,点击“关闭”3.配置环境变量-path4.检测一.Java 环境搭建1.前言 任何技术的使用和运行都需要对应的环境。 好比:绵羊若想正常生存,就必须生存在草原环境中,而不是沙漠环境(图 1) ...原创 2020-07-19 21:15:40 · 493 阅读 · 0 评论 -
关于Java后端的日志打印解析
一.后端的正常日志打印日志输出太长了,这里就只展示部分哈~~二.完整日志xml 文件logback-spring.xml<?xml version="1.0" encoding="UTF-8"?><configuration> <!--定义日志文件的存储地址,使用绝对路径--> <property name="LOG_HOME" value="e:/logs"/> <!-- Conso...原创 2020-07-05 21:57:23 · 1482 阅读 · 0 评论 -
什么是序列化?反序列化? 场景使用? 怎么实现???
今天煌sir来带你扫扫盲, 关于什么是序列化?反序列化? 场景使用? 怎么实现??? 或许我们平时大概知道, 嗯,序列化,就是实现 Serializable 接口, 那再问你,怎么实现的, 或许你就有点懵逼,这篇, 让我们来 look 一 look 吧~~~~~目录一.什么是序列化?反序列化?二.为什么要序列化和反序列化?什么场景使用?三. 序列化有什么作用?好处?四.如何实现 序列化和反序列化?实现序列化的前提实现代码第一步:创建一个 JavaBean 对象...原创 2020-07-01 15:04:00 · 5580 阅读 · 0 评论