java基础知识
文章平均质量分 59
laolvbig
这个作者很懒,什么都没留下…
展开
-
ThreadPoolTaskScheduler自定义定时任务框架
之前用的@Sceduler定时框架,服务启动后就不能重新修改执行计划(或许有,我孤陋寡闻),后来换成这个,可以随时添加,删除,修改定时任务,配置修改发布,实时生效。原创 2023-05-11 09:38:32 · 1654 阅读 · 0 评论 -
@Transactional注解的失效场景
一、事务事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。编程式事务:是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例:声明式事务:基于AOP面向切面的,它将具体业务与事务处理部分解耦,代码侵入性很低,所以在实际开发中声明式事务用的比较多。声明式事务也有两种实现方式,是基于TX和AOP的xml配置文件方式,二种就是基于@Transactional注解了。二、@Transactional介绍1、@Transacti原创 2021-07-23 11:31:02 · 133 阅读 · 0 评论 -
记一次差点造成重大事故的文件读写
原本的代码中是这样的: String path = args[0]; File file = new File(path); StringBuilder sb = new StringBuilder(); try { FileInputStream fileInputStream = new FileInputStream(file); byte[] bytes = new byte[1024原创 2020-06-28 16:42:20 · 143 阅读 · 0 评论 -
求输入字符串的全排列数量
求去重后的全排列的个数,包含重复的个数直接求长度的阶乘即可。(自己琢磨,简单测试通过,有问题请指正) public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String s = scanner.nextLine(); allSort...原创 2020-05-08 17:04:38 · 943 阅读 · 1 评论 -
maven打包添加项目依赖jar包和指定main函数
<build> <finalName>shade</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...原创 2020-01-21 17:22:20 · 839 阅读 · 0 评论 -
CompletableFuture实现多任务并行,取第一个完成的结果
public static void main(String[] args){ String result = CompletableFuture.supplyAsync(() -> { try { System.out.println("1"); Thread.sleep(3000);...原创 2019-11-29 10:55:55 · 1250 阅读 · 0 评论 -
java使用ftp上传文件
之前上传文件只能在服务器创建文件,但是大小始终是0。搜了以后发现是ftp的被动模式所以修改代码package com.cn.test;import org.apache.commons.net.ftp.FTP;import org.apache.commons.net.ftp.FTPClient;import java.io.File;import java.io.File...原创 2019-03-26 09:17:08 · 7654 阅读 · 0 评论 -
list的中文排序
List<ProjectQuota> projectQuotas = new ArrayList<>();//根据项目名称排序 projectQuotas.sort((o1, o2) -> { Comparator cmp = Collator.getInstance(Locale.CH...原创 2018-10-17 11:15:52 · 649 阅读 · 0 评论 -
SpringBoot多环境部署,在启动时动态设置相应的配置文件
项目中,往往在测试环境和正式环境拥有不同的配置,例如数据库连接,第三方库的appkey等。这时候,我们就要在不同的环境启用不同的配置下面新建三个文件,分别表示开发环境,生产环境和测试环境的配置文件在 application.properties 中设置默认启用的配置文件spring.profiles.active=dev表示直接启动程序时使用的是 application-de...原创 2018-09-30 10:18:09 · 1990 阅读 · 0 评论 -
简单说说对==,equals,和hashcode的理解
1.简单类型的变量没有equals和hashcode方法,只能应用==进行比较;2.变量,==比较的是对象在堆内存中的地址,如果要比较其中的内容的话,就要用equals方法。 如果是自己定义的对象,没有重写equals方法,那==和equals意义是一样的,都是比较该对象的存放地址。因为Object 的equals方法,就是用==来实现的(可以看源码)。3.hashcode 就是把任...原创 2018-03-13 23:20:05 · 533 阅读 · 0 评论