
Java后台
文章平均质量分 84
java基础、java后台相关
西京刀客
AI,Crypto/Web3.
A bug bounty hunting and a lot of coding is my passion!
展开
-
安装OpenJDK21(linux、macos)
Java 21带来了许多新特性,其中虚拟线程成为一大亮点,改变了多线程编程。虚拟线程能够提高吞吐量,支持高并发。新版本还引入了顺序集合、记录类和增强的switch语句等功能,简化了代码编写。此外,Java 21还优化了初学者的使用体验,降低了学习门槛。随着这些新特性的加入,Java 21有望成为下一个流行版本,鼓励开发者尽快升级。原创 2025-02-11 21:59:12 · 983 阅读 · 0 评论 -
BIO、NIO、AIO的区别?
Java 中的 BIO、NIO和 AIO 理解为是 Java 语言对操作系统的各种 IO 模型的封装。程序员在使用这些 API 的时候,不需要关心操作系统层面的知识,也不需要根据不同操作系统编写不同的代码。只需要使用Java的API就可以了。原创 2024-11-16 05:47:41 · 895 阅读 · 0 评论 -
2024年的Java版本选择?java 17 安装
现如今,到了2024年,市场java主流版本选择是什么呢?原创 2024-04-29 22:26:15 · 7974 阅读 · 4 评论 -
spring boot-引入Redis并封装redistemplate操作工具类
springboot引入Redis及其使用案例原创 2024-03-28 13:04:20 · 2137 阅读 · 1 评论 -
spring boot-操作excel(EasyExcel 快速开始)/ spring boot接受文件参数 File
java本身并不支持读取excel,所有读取excel需要借助一些框架。原创 2024-03-13 09:35:49 · 2900 阅读 · 0 评论 -
Java开源samba client项目之jcifs/jcifs-ng库
jcifs默认启用了smb2支持,并包含一些实验性的smb3.0支持。 协议级别协商现在可以使用jcifs.smb.client.minversion和jcifs.smb.client.maxversion进行控制(取消jcifs.smb.client.enablesmb2/jcifs.smb.client.disablesmb1属性)。默认的最小/最大版本是smb1到smb210。原创 2024-03-12 09:07:00 · 2593 阅读 · 0 评论 -
Spring-静态代理VS动态代理/实现代理ProxyFactory
代理:不用改变源码而增强方法动态代理有AOP的思想,面向切面编程,基于方法的切面原创 2024-03-04 09:29:19 · 901 阅读 · 0 评论 -
使用maven-assembly-plugin插件自定义项目打包
在Maven中,主要有3个插件可以用来打包:maven-jar-plugin,默认的打包插件,用来打普通的project JAR包;maven-shade-plugin,用来打可执行JAR包,也就是所谓的fat JAR包;maven-assembly-plugin,支持自定义的打包结构,也可以定制依赖项等。**我们日常使用的以maven-assembly-plugin为最多**原创 2024-02-27 13:08:38 · 1654 阅读 · 0 评论 -
java并发-CAS 快速开始
CAS 是 compare and swap 的缩写,即我们所说的比较交换。cas 是一种基于锁的操作,而且是乐观锁。原创 2024-02-24 18:29:44 · 971 阅读 · 0 评论 -
Java并发-并发编程的三个核心问题
并发编程可以总结为三个核心问题:分工、同步、互斥。所谓分工指的是如何高效地拆解任务并分配给线程,而同步指的是线程之间如何协作,互斥则是保证同一时刻只允许一个线程访问共享资源。**java SDK并发包很大部分内容都是按照这三个维度组织的** ,例如Fork/Join框架就是一种分工模式,CountDownLatch就是一种典型的同步方式,而可重入锁则是一种互斥手段。原创 2024-02-24 18:21:48 · 696 阅读 · 0 评论 -
Java编码规范:阿里规范/findbug 整理总结
java阿里规范、findbug规范原创 2024-02-22 23:39:50 · 1047 阅读 · 0 评论 -
分布式定时任务调度中心技术选型
分布式定时任务调度中心技术选型原创 2024-02-22 23:45:00 · 1884 阅读 · 0 评论 -
java并发- volatile关键字
我们声明一个 volatile 变量 volatile int x = 0,它表达的是:告诉编译器,对这个变量的读写,不能使用 CPU 缓存,必须从内存中读取或者写入。靠 volatile 语义来搞定可见性的。原创 2024-02-20 17:28:07 · 809 阅读 · 0 评论 -
IDEA 生成实体类、Mapper
IDEA groovy 生成实体类注释getter、setter生成部分原创 2024-02-18 11:42:13 · 507 阅读 · 1 评论 -
spring boot Mybatis Plus分页
spring boot Mybatis Plus分页原创 2024-02-17 21:20:49 · 1053 阅读 · 0 评论 -
Spring—事务管理Transaction Manager
Spring事务管理高层抽象主要有3个:PlatformTransactionManager :事务管理器(用来管理事务,包含事务的提交,回滚)TransactionDefinition :事务定义信息(隔离,传播,超时,只读)TransactionStatus :事务具体运行状态原创 2024-02-17 20:19:12 · 2179 阅读 · 1 评论 -
Hibernate JPA-@PreUpdate 和@PrePersist、@MappedSuperclass应用场景
@PrePersist注解 和 @PreUpdate注,用于为相应的生命周期时间指定回调方法。**可以用来在使用jpa的时记录一些业务无关的字段,比如最后更新时间等等**。@PrePer原创 2024-02-09 14:14:07 · 1423 阅读 · 1 评论 -
链路追踪-调用链跟踪-Jaeger
链路跟踪在微服务为我们提供了模块分,低耦合的高效开发和DevOPS中,具体业务中当一个请求中,请求了多个服务单元,如果请求出现了错误或异常,很难去定位是哪个服务出了问题,这时就需要链路追踪。可能你会想在业务系统中请求中埋点,或写日志,但是这种都需要在业务代码中来写,而且耦合在代码中,不具备微服务的扩张性后后期的易维护行。JaegerJaeger-分布式调用链跟踪系统理论与实战参考URL: https://blog.youkuaiyun.com/zuiyijiangnan/article/details/1038原创 2024-01-26 18:35:55 · 1801 阅读 · 0 评论 -
分布式调度解决方案之elastic-job
elastic-job 是由当当网基于quartz 二次开发之后的分布式调度解决方案 , 由两个相对独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成 。原创 2024-01-26 18:34:05 · 504 阅读 · 0 评论 -
java动态数据源切换
java实现动态数据源切换原创 2024-01-25 08:28:07 · 707 阅读 · 1 评论 -
表单中,上传文件(图片)和表单是分开还是一起上传?
上传文件和表单数据可以选择分开上传或一起上传。原创 2024-01-20 21:46:36 · 2927 阅读 · 4 评论 -
guacamole 纯web rdp预研:相关JAVA基础
guacamole 纯web rdp预研:相关JAVA以及前端js基础原创 2023-06-24 23:08:20 · 1757 阅读 · 0 评论 -
guacamole 纯web rdp预研:web应用程序部分
Guacamole 是一个API,其中一个使用guacamole最好方式是构建自己的Guacamole驱动web应用程序。原创 2023-06-24 22:42:03 · 2924 阅读 · 0 评论 -
软件授权文件.lic文件
一种软件授权文件格式,license文件,用于程序限制用的。这是很多商业软件使用的一个授权文件,就是说通过正常的安装程序就能得到。原创 2022-11-08 21:10:41 · 12107 阅读 · 3 评论 -
2022 Java秋招面试题-必备基础
在这个很卷的时代,这套java碧血剑谱,没有必要拒绝吧~原创 2022-09-30 09:22:04 · 969 阅读 · 1 评论 -
mycat 源码分析
Druid 源码学习Druid SQL 解析器的解析过程Druid SQL 解析器的解析过程参考URL: https://segmentfault.com/a/1190000008120254[推荐]Druid SqlParser理解及使用入门参考URL: https://www.cnblogs.com/lay2017/p/9840394.htmlpublic class Parser...原创 2021-10-26 20:59:48 · 1422 阅读 · 1 评论 -
Java微服务 vs Python微服务 PK
Java微服务 vs Python微服务 PK微服务能力Python微服务生态备注后台框架/微服务框架django/Namekojava有完整微服务框架方案多环境配置无微服务注册发现无三方注册中心也比较成熟,可以对接,如:nacos、consul是否支持RESTdrfAPI网关无api网关亦可采用三方成熟配置中心无三方注册中心也比较成熟,可以对接,如:Apollo、Nacos多环境配置在Spring Cloud微服务中原创 2021-10-22 14:40:25 · 1693 阅读 · 0 评论 -
Google Guava工具类-Hash(散列) Hashing(md5、sha1、sha256、Base64等)
文章目录一、关于Guava Hash如何使用1. 引入guava maven1. Hashing1.1 根据字符串获取md5、sha1、sha256结果一、关于Guava HashGuava Hash(散列)指的是通过某种算法把数据源通过一系列的转换生成一串字符串。常见的例如hash code生成,加密字符的生成,检验字符的生成等等。接下来我们就对Guava Hash(散列)的使用做一个介绍。使用很简单。Guava Hash(散列)里面也给我们提供了很多hash算法。已经能满足我们大部分需求了。Ha原创 2021-08-14 15:08:51 · 1980 阅读 · 0 评论 -
java gson使用示例
java gson使用示例官网: https://github.com/google/gson/maven引入<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.7</version></dependency>Gson提供了fromJson() 和to原创 2021-08-13 15:34:24 · 808 阅读 · 0 评论 -
MySQL varchar与char有什么区别?
文章目录MySQL varchar与char有什么区别?MySQL varchar与char有什么区别?定长和变长char 表示定长,长度固定,varchar表示变长,即长度可变。char如果插入的长度小于定义长度时,则用空格填充;varchar小于定义长度时,还是按实际长度存储,插入多长就存多长。因为其长度固定,char的存取速度还是要比varchar要快得多,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以会占据多余的空间,可谓是以空间换取时间效率。var原创 2021-03-24 14:49:20 · 2540 阅读 · 0 评论 -
spring boot- JdbcTemplate、NamedParameterJdbcTemplate基本使用(批量更新插入)
文章目录JdbcTemplate基本使用SpringBoot2.X + JDBCTemPlate批量插入数据参考JdbcTemplate基本使用 JDBC已经能够满足大部分用户最基本的需求,但是在使用JDBC时,必须自己来管理数据库资源如:获取PreparedStatement,设置SQL语句参数,关闭连接等步骤。JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用。JdbcTemplate是Spring的一部分。JdbcTemplate处理了资源的建立和释放。他帮助原创 2021-03-18 19:48:12 · 7539 阅读 · 0 评论 -
mysql replace into 与 insert into on duplicate key update、insert ignore、insert into
文章目录replace into 与 insert into on duplicate key update 的使用和不同点replace into的用法以及与inset into、insert ignore的区别replace into 与 insert into on duplicate key update 的使用和不同点mysql 中 replace into 与 insert into on duplicate key update 的使用和不同点参考URL: cnblogs.com/jkk原创 2021-03-17 20:11:48 · 1106 阅读 · 0 评论 -
JAVA语言-什么是浅拷贝和深拷贝、BeanUtils拷贝对象
文章目录什么是浅拷贝和深拷贝阿里Java开发规约为什么不建议使用Apache BeanUtils拷贝对象参考什么是浅拷贝和深拷贝Java中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。举例说明:比如,对象A和对象B都属于类S,具有属性a和b。那么对对象A进行拷贝操作赋值给对象B就是:B.a=A.a; B.b=A.b;Java中的对象拷贝主要分为:浅拷贝(Shallow Copy)、深拷贝(Deep Copy)。**任何变成语言中,其原创 2021-03-17 09:53:33 · 1141 阅读 · 0 评论 -
java-JVM 角度说进程和线程之间的关系
Java 并发基础知识Java 并发基础知识参考URL: https://www.cnblogs.com/reformdai/p/11039843.html从 JVM 角度说进程和线程之间的关系一个进程可以有多个线程,多个线程共享进程的堆和方法区(JDK 1.8 之后的元空间)资源。但是每个线程有自己的程序计数器、虚拟机栈和本地方法栈。(1) 程序计数器为什么是私有的?首先明确程序计数器的作用:字节码解释器通过改变程序计数器来一次读取指令,从而实现代码的流程控制。如:顺序执行、选择、循环、异原创 2021-03-10 10:24:27 · 1131 阅读 · 0 评论 -
运行java maven项目提醒 -SNAPSHOT.jar中没有主清单属性(maven项目指定主类)
运行java maven项目提醒 -SNAPSHOT.jar中没有主清单属性问题描述在运行使用maven打包的项目之后,运行项目发现主类没有找到。提示XXX–1.0-SNAPSHOT.jar中没有主清单属性。问题原因maven在打包时没有配置主类。解决方案如果您使用的是Springboot框架,那么只需要在pom.xml中添加如下配置,会自动检测主类。<build> <plugins> <plugin> &原创 2021-03-06 16:14:00 · 11511 阅读 · 1 评论 -
Linux下安裝nodejs
Linux下安裝nodejsNode.js是一个Javascript运行环境。nodejs 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。nodejs能做web开发,REST开发,小程序开发等等,它就是使用JavaScript进行开发的。原创 2021-03-03 10:50:32 · 3382 阅读 · 0 评论 -
java常见编程练习hw二(中等难度)
文章目录1. 进制转换[推荐、简单]思路:java内置 decode方法,将 String 解码为 Integer【不推荐】思路2,自己计算2. 质数因子思路1: 设定i=2,i一直递增,当N除以i余数为0的时候,N设定为N/i3. 合并表记录思路:使用有序的TreeMap4. 提取不重复的整数思路1 创建一个长度为10的数组5. 字符个数统计HashSet6. 字符串排序思路:利用java 的 Arrays.sort 排序数组即可7. 购物单 (TODO 难一点)思路1:给定购物单,逐级增加金额和件数,原创 2021-02-05 18:01:58 · 1335 阅读 · 0 评论 -
java常见编程练习hw一(入门、简单题型)
文章目录1. 二进制中1的个数思路1: 输入的整数与1做位与运算[推荐掌握]思路2:n&(n-1)2. 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小 公倍数。思路1: 最小公倍数 = 两数相乘/最大公约数求最大公约数3. 字符逆序思路1: StringBuilder.reverse方法4. 等差数列思路:数学思路,转化为等差数列求和,直接用公式计算求解5. 求最大连续bit数思路: 位运算,利用>>运算符,循环判断是否有连续的1。原创 2021-02-05 16:45:29 · 2644 阅读 · 0 评论 -
JAVA语言-Pattern 正则的基本使用(常用正则表达式\Java Matcher对象中find()与matches()的区别)
文章目录Java 正则表达式常用正则表达式java Pattern和Matcher 常用使用示例Java 正则表达式正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 “Hello World” 字符串。.(点号)也是一个正则表达式,它匹配任何一个字符如:“a” 或 “1”。Java 正则表达式和 Perl 的是最为相似的。ja原创 2021-02-03 14:59:31 · 10674 阅读 · 1 评论 -
JAVA语言-比较器Comparator(java中Comparable和Comparator的区别)
文章目录一、什么是Comparator二、Java compare方法和compareTo方法三、java中Comparable和Comparator的区别Comparator的例子三、demo:java8使用Lambda表达式比较器Comparator给List对象排序,按时间、数字、字典排序一、什么是ComparatorComparator 是javase中的接口,位于java.util包下。数组工具类和集合工具类中提供的工具方法sort方法都给出了含有Comparator接口的重载方法。Arr原创 2021-02-02 11:34:40 · 4852 阅读 · 1 评论