java study
文章平均质量分 55
草莓爱芒果
热爱学习新鲜的知识
展开
-
使用Exchange获取邮件内容
本篇文章是利用Exchange协议来获取已发送邮件的内容。1.依赖: <!--Exchange的api接口依赖--> <dependency> <groupId>com.microsoft.ews-java-api</groupId> <artifactId>ews-java-api</artifactId> <version原创 2022-03-04 16:30:35 · 1667 阅读 · 6 评论 -
如何解决不同jar包有相同类目错误:error:<init>(Ljava/lang/String;)V
解析:(Ljava/lang/String;)V是关于不同jar包相同类名错误,这种错误经常出现在同一个工程使用不同版本的jar中。当包名类名都相同,jvm无法区分,一般ide是会提示发生冲突而报错的,如果不报错的,那就只有第一个包被引入(在classpath路径下排在前面的包或者是pom文件前面的依赖),第二个包会在classloader加载类时判断重复而忽略。如下图的错误,就是在不同jar包里面存在着相同包名类名,在调用时候,使用的jar里的方法使用String参数(想用第二个包的方法),但可用ja原创 2021-09-02 15:10:27 · 4636 阅读 · 0 评论 -
maven的pom.xml文件详解学习分享
POM(project Obect Model):即maven项目对象模型的xml文件描述。这个POM告诉Maven它正在处理什么类型的项目,如何修改默认的行为来从源码生成输出。就像是Java web应用有一个web.xml文件来描述,配置,及自定义应用。1.新建一个maven工程,初始pom.xml文件为:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"原创 2021-07-15 10:56:16 · 939 阅读 · 0 评论 -
java简单从一个数据库获取数据,然后插入到另外一个数据库
思路:从一个数据库获取数据,然后插入到另外一个数据库,使用springboot的话就需要在application.yml配置两个数据库,这样比较麻烦也要注意注解的使用,如:server: port: 7101spring: jpa: show-sql: true datasource: test1: driver-class-name: org.postgresql.Driver jdbc-url: jdbc:postgresql://127.0.0.原创 2021-07-09 18:04:41 · 8147 阅读 · 1 评论 -
分布式锁的常见解决方案
分布式锁应该具备哪些条件:1、在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行;2、高可用的获取锁与释放锁;3、高性能的获取锁与释放锁;4、具备可重入特性;5、具备锁失效机制,防止死锁;6、具备非阻塞锁特性,即没有获取到锁将直接返回获取锁失败。常见的分布式锁解决方案如下:基于数据库实现分布式锁基于ZooKeeper实现分布锁基于缓存(Redis等)实现分布式锁1)基于数据库实现排他锁在数据库添加一张方法锁表,用于记录每个方法上锁记录获取锁的SQL:INSE原创 2021-05-18 21:06:01 · 2592 阅读 · 0 评论 -
MD5加密介绍、工具类的使用
目标了解什么是md5,它有哪些特点使用md5的工具类对字符串进行加密提高md5的加密程度应用场景 在企业中,登录账户表,里面的密码是加密的,为了防止数据管理员或IT部内部人员数据泄密。注册用户的时候,添加用户,将用户数据新增到数据库里面的时候就将用户的密码加密存储。加密算法有很多种,有一种不可逆的加密算法MD5。介绍 Message Digest Algorithm MD5(消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。特点压缩原创 2021-03-09 19:03:14 · 964 阅读 · 0 评论 -
一起学习Lambda表达式(修改)
本章主要讲述的是从JD1.8之后的新特性–lambda表达式。lambda表达式其核心目的就是为了简化匿名内部类的代码写法,简化函数式接口。1. Lambda表达式格式:(匿名内部类被重写方法的形参列表) -> {被重写方法的方法体代码。}-> 就是一个新语法,没有实际含义,但是不能省略!2. Lambda表达式使用前提(1)Lambda表达式并不能简化所有匿名内部类的写法。(2)Lambda表达式只能简化接口中只有一个抽象方法的匿名内部类形式。(3) Lambda表达式只能原创 2021-01-22 20:32:23 · 731 阅读 · 1 评论 -
Java关于死锁的产生
本章主要讲述的是死锁的产生和必然产生死锁的代码。在Java中死锁,是指多个线程同时给阻塞,它们中的一个或者多个都在等待某一个资源释放。死锁产生的四个必要条件互斥使用:即当资源被一个线程使用(占用)时,另外的线程无法进行访问或者使用不可抢占:即资源请求者请求资源时不能强制从资源占有者抢走资源,只能等待资源占有者自己释放资源。请求和保持:资源请求者向外请求资源并保持已占有资源不释放。循环等待:即存在一个等待循环队列,a要b的资源,b要a的资源。必然产生死锁的代码public class Thr原创 2021-01-03 20:03:30 · 314 阅读 · 7 评论