java
1466028300
路漫漫其修远兮,吾将上下而求索
展开
-
linux yum安装卸载jdk8
linux yum jdk原创 2023-02-09 15:17:52 · 3187 阅读 · 0 评论 -
linux 安装,卸载jdk8
linux 安装jdk(oracle) 非openjdk原创 2023-02-09 14:10:28 · 549 阅读 · 0 评论 -
java 查询一个月每天是星期几
public static List<Map<String, String>> getWeekDayInMonth(String date){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); List<Map<String, String>> resultList = new ArrayList<>(); String[] weeks = { "星期日.原创 2022-03-02 13:50:05 · 508 阅读 · 0 评论 -
http form-data方式入参 调用http接口
package com.bbb.aaa.util;import org.apache.http.HttpEntity;import org.apache.http.HttpStatus;import org.apache.http.client.config.RequestConfig;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.Request.原创 2021-11-15 18:41:25 · 2133 阅读 · 0 评论 -
微信小程序v2支付成功回调方法
import cn.hutool.core.util.XmlUtil;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframewo..原创 2021-09-14 13:06:11 · 1198 阅读 · 0 评论 -
微信小程序(支付、退款)v2版本(java)
//XmlUtil.xmlToMap(s) <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.1.0</version> </dependency> public Map<String, String.原创 2021-09-14 11:58:00 · 1677 阅读 · 0 评论 -
生成8位随机字符串(重复概率1/218万亿)
private static String generateShortUuid(int length) { String[] chars = new String[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",.原创 2021-07-28 16:46:42 · 801 阅读 · 0 评论 -
springboot 打成war包 配置文件外置
import com.sintang.mingteng.common.entity.ResourcesEnum;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.boot.SpringApplication;import org.springframework.boot.env.EnvironmentPostProcessor;import org.springframework...原创 2021-05-05 19:59:10 · 771 阅读 · 0 评论 -
删除本地指定目录文件或者文件下所有的文件
import java.io.File;public class Test3 { /** * 判断指定的文件或文件夹删除是否成功 * @param FileName 文件或文件夹的路径 * @return true or false 成功返回true,失败返回false */ public static boolean deleteAnyone(String FileName){ ...原创 2021-04-13 17:46:17 · 319 阅读 · 0 评论 -
java 短信验证码(创蓝接口)调用
接口文档 :https://zz.253.com/v5.html#/api_word/** * 手机号码限制 * @author w * */@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)@Documented@Inheritedpublic @interface SmsLimiter { /** * 从第一次访问接口的时间到cycle周期时间内,无法超过frequency次,默认10次..原创 2021-03-04 19:38:26 · 1557 阅读 · 2 评论 -
java 爬取同花顺当日数据
直接上代码(亲测可用)maven 先引入包<!--html数据获取--> <dependency> <groupId>net.sourceforge.htmlunit</groupId> <artifactId>htmlunit</artifactId> <version>2.35.0</version>原创 2021-03-04 19:21:47 · 1636 阅读 · 3 评论 -
java 爬取网站图片
package com.atguigu.springboot.controller;import java.io.*;import java.net.URL;import java.net.URLConnection;import java.util.*;import java.util.regex.Matcher;import java.util.regex.Pattern;public class CrawlingImg { // 地址 private static.原创 2020-11-20 10:50:28 · 390 阅读 · 0 评论 -
批量为某个文件夹下所有文件的文件名翻译并重命名
package com.atguigu.springboot.controller;import java.util.ArrayList;import java.util.List;import java.io.File;import java.io.FileWriter;import java.io.IOException;public class EnameToTXT { /************************* 将字符串写入文件末尾,一字符串一换行 .原创 2020-10-15 10:53:05 · 2440 阅读 · 0 评论 -
sftp 上传图片到服务器(跨服务器)|| 微信小程序上传图片
import com.jcraft.jsch.*;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.multipart.MultipartFile;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import .原创 2020-09-16 10:37:49 · 518 阅读 · 0 评论 -
2020-08-03 小记 希尔排序简单实现
public static void main(String[] args) { int arr[] = {49,38,65,97,76,13,27,49,78,34,12,64,1}; shellSort(arr); for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } }//希尔排序1 public static void shellSort(int[].原创 2020-08-03 17:48:52 · 85 阅读 · 0 评论 -
JVM之Java字节码(.class)文件详解
什么是Class文件Java字节码类文件(.class)是Java编译器编译Java源文件(.java)产生的“目标文件”。它是一种8位字节的二进制流文件, 各个数据项按顺序紧密的从前向后排列, 相邻的项之间没有间隙, 这样可以使得class文件非常紧凑, 体积轻巧, 可以被JVM快速的加载至内存, 并且占据较少的内存空间(方便于网络的传输)。Java源文件在被Java编译器编译之后, 每个类(或者接口)都单独占据一个class文件, 并且类中的所有信息都会在class文件中有相应的描述, 由于cl转载 2020-07-14 14:08:03 · 382 阅读 · 0 评论 -
Java class文件格式常量池包含的特殊字符串
class文件中的特殊字符串首先把class文件中的特殊字符串做一个详细的介绍, 现在我们将重点放在特殊字符串上。 特殊字符串包括三种: 类的全限定名, 字段和方法的描述符, 特殊方法的方法名。 就分别介绍这三种特殊字符串。(1) 类的全限定名在常量池中, 一个类型的名字并不是我们在源文件中看到的那样, 也不是我们在源文件中使用的包名加类名的形式。 源文件中的全限定名和class文件中的全限定名不是相同的概念。 源文件中的全新定名是包名加类名, 包名的各个部分之间,包名和类名之间, 使用点号分.原创 2020-07-14 13:51:40 · 325 阅读 · 0 评论 -
使用位运算实现特定的代码文件加密(解密)
package com.zuma.aftersale.product.controller;import java.io.*;public class EncryTest { public static void main(String[] args) throws FileNotFoundException { // path 为解压后需要解密的class文件的目录 String path = "D:/aaaaa/"; encryptio.原创 2020-07-14 09:37:55 · 466 阅读 · 0 评论 -
Lombok
Lombok是一款非常实用Java第三方工具,它可以帮助开发人员消除Java的冗长代码,尤其是对于简单的Java对象(POJO)。Lombok在给我们带来便利的同时,也带来了不小的隐患。鉴于自己踩过的许多坑,所以我从不主动推荐别人使用Lombok,但是,也并不会干涉他人使用。并且,因为我身边有些同事的代码还是使用了的,所以我也被迫的要安装Lombok的插件。以上就是我对Lombok的态度。既然聊到这个话题,我们也来分析下Lombok的特点:1、Lombok的使用1.1IDE中安装Lom.转载 2020-05-27 16:00:20 · 255 阅读 · 0 评论 -
HashMap排序(按照key,按照value)
package com.lidl.com.lidl.web;import java.util.*;class TestMap2 { public static void main(String[] args) { Map<Integer, String> map1 = new HashMap<>(); map1.put(3, ...原创 2019-07-31 15:16:57 · 832 阅读 · 0 评论 -
map集合遍历的4种方式
package com.lidl.com.lidl.web;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;/** * * Map 集合的循环遍历 * * @data 2019.7.31 * * * */pub...原创 2019-07-31 14:42:41 · 411 阅读 · 0 评论 -
java枚举优点
枚举优点1 增强代码可读性2传递参数错误3去除equals两者判断由于常量值地址唯一,使用枚举可以直接通过“==”进行两个值之间的对比,性能会有所提高。4编译优势(与常量类相比)常量类编译时,常量被直接编译进二进制代码中,常量值在升级中变化后,需要重新编译引用常量的类,因为二进制代码中存放的是旧值。枚举类编译时,没有把常量值编译到代码中,即使常量值发生改变,也不会影响引...原创 2019-07-31 14:25:56 · 2995 阅读 · 0 评论 -
final关键字浅析
static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们来了解一下final关键字及其用法。final从总体上来说是“不可变的”,可用于修改类、方法、变量。一. final类final修饰的类,该类不能被继承。当你确认一个类永远不会被继承或不想被继承,那么就可以用final修饰。同...转载 2019-07-13 13:32:38 · 109 阅读 · 0 评论 -
ArrayList源码分析(源码只备注add方法过程)
package com.lidl.com.lidl.web;import java.util.*;public class ArrayListTest { public static void main(String[] args) { List<String> list = new ArrayList<>(); list...原创 2019-07-31 17:20:01 · 262 阅读 · 0 评论 -
java三种移位运算符
移位运算符 是位操作运算符的一种。移位运算符可以在二进制的基础上对数字进行平移。如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模。如对int型移动33位,实际上只移动了33%32=1位。运算规则(左移运算符<<):按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位空位补0当左移的位数为int类型时,每移动一位,他的31位就要被移除并...原创 2019-08-01 11:05:45 · 282 阅读 · 0 评论 -
java中与运算,或运算,异或运算,取反运算
(&和|运算时候1当成true,0当做false)一:&//与运算 & 规则 :都为1时才为1 System.out.println( 7 & 9); /* * 7二进制 0111 * 9二进制 1001 * ----------- *...原创 2019-08-01 11:30:05 · 12394 阅读 · 1 评论 -
i++ ++i
++x 因为++在前,所以先加后用。x++ 因为++在后,所以先用后加。注意:a+ ++b和a+++b是不一样的(因为有一个空格)。int a=10;int b=10;int sum=a+ ++b;System.out.println("a="+a+",b="+b+",sum="+sum);运行结果是: a=10,b=11,sum=21 int a=10;...原创 2019-08-02 11:07:08 · 2095 阅读 · 0 评论 -
java 导出excle数据<poi>
/** * @throws Exception * * @Title: exportOrders @Description: TODO(批量导出) @param * */ @RequestMapping("/exportOrders") public void exportOrders(String[] fIds, HttpServletResponse...原创 2019-08-27 10:29:28 · 146 阅读 · 0 评论 -
@Test注解
@Test 注解是TestNG的核心注解,被打上该注解的方法,表示为一个测试方法。1.语法 @Test(param1 = ..., param2 = ...)参数常见取值alwaysRun : 如果=true,表示即使该测试方法所依赖的前置测试有失败的情况,也要执行dataProvider : 选定传入参数的构造器。(@DataProvider注解将在后面章节介绍)dataProv...原创 2019-07-31 11:13:07 · 17053 阅读 · 0 评论 -
Spring @Import注解
在应用中,有时没有把某个类注入到IOC容器中,但在运用的时候需要获取该类对应的bean,此时就需要用到@Import注解。示例如下:先创建两个类,不用注解注入到IOC容器中,在应用的时候在导入到当前容器中。1、创建Dog和Cat类Dog类:package com.example.demo; public class Dog { }package com.exampl...原创 2019-07-30 17:13:42 · 124 阅读 · 0 评论 -
spring注解之@Bean 的用法总结
@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名1 基于xml方式bean使用回顾2 注解@Bean详细使用说明3 注解@Bean的源码解析1,基于xml方式bean使用回顾新建一个maven项目增加spring-context的jar包如下:<depende...原创 2019-07-30 11:48:38 · 9005 阅读 · 0 评论 -
分布式系统生成id(雪花算法)
/** * Twitter_Snowflake<br> * SnowFlake的结构如下(每部分用-分开):<br> * 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 <br> * 1位标识,由于long基本类型在Java中是带符号的,最...原创 2019-07-10 17:05:45 · 163 阅读 · 0 评论 -
TCC和两阶段分布式事务区别
首先需要寿命的是:TCC并不是两阶段分布式事务处理!经常在网络上看见有人介绍TCC时,都提一句,”TCC是两阶段提交的一种”。其理由是TCC将业务逻辑分成try、confirm/cancel在两个不同的阶段中执行。其实这个说法,是不正确的。可能是因为既不太了解两阶段提交机制、也不太了解TCC机制的缘故,于是将两阶段提交机制的prepare、commit两个事务提交阶段和TCC机制的try、co...原创 2019-07-10 16:36:01 · 1525 阅读 · 1 评论 -
tcc事务理解
总结一下,你要玩儿 TCC 分布式事务的话:首先需要选择某种 TCC 分布式事务框架,各个服务里就会有这个 TCC 分布式事务框架在运行。然后你原本的一个接口,要改造为 3 个逻辑,Try-Confirm-Cancel: 先是服务调用链路依次执行 Try 逻辑。 如果都正常的话,TCC 分布式事务框架推进执行 Confirm 逻辑,完成整个事务。 如果某个服务的 Tr...原创 2019-07-10 16:33:46 · 241 阅读 · 0 评论 -
Java中atomic包中的原子操作(乐观锁)与synchronized(悲观锁)
1. 原子操作类介绍在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比如多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchronized进行控制来达到线程安全的目的(关于synchronized可以看这篇文章)。但是由于synchronized是采用的是悲观锁策略,并不是特别高效的一种解决方案。实际上,在J.U.C下的a...原创 2019-07-10 15:32:29 · 906 阅读 · 0 评论 -
SpringAOP切入方式
AOP与OOP是什么关系?AOP的实现技术有多种,其中与Java无缝对接的是一种称为AspectJ的技术,Spring AOP 与AspectJ 实现原理上并不完全一致,但功能上是相似的。AOP的出现确实解决外围业务代码与核心业务代码分离的问题,但它并不会替代OOP,如果说OOP的出现是把编码问题进行模块化,那么AOP就是把涉及到众多模块的某一类问题进行统一管理切面(Aspect)包含了切...原创 2019-07-10 10:24:51 · 2910 阅读 · 0 评论 -
java 加密 BASE64,MD5, SHA,HMAC
简单的java加密算法有:BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm,安全散列算法) HMAC(Hash Message Authentication Code,散列消息鉴别码)1. BASE64Base64是网络上最常见的用于传输8Bit字节代...原创 2019-07-10 10:04:46 · 261 阅读 · 0 评论 -
大数值BigInteger
但是在Java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无线大的数,只要计算机内存足够大。这两个类都在java.math.*包中,因此每次必须在开头处引用该包。Ⅰ基本函数:1.valueOf(parament); 将参数转换为制定的类型比如 int a=3;BigInteger b=B...转载 2019-07-10 09:52:35 · 337 阅读 · 0 评论 -
java的8种基本数据类型
java基本数据类型就8种,记住就好了。除了这些都是引用型的了。java四类八种基本数据类型第一类:整型 byte short int long第二类:浮点型 float double第三类:逻辑型 boolean(它只有两个值可取true false)第四类:字符型 char在栈中可以直接分配内存的数据是基本数据类型。引用数据类型:是数据的引用在栈中,但是他的对象在堆中。要想学好...原创 2019-07-13 13:15:17 · 302 阅读 · 0 评论 -
Spring ioc详解
Spring是一个开源框架,主要实现两件事,IOC(控制反转)和AOP(面向切面编程)。IOC我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由Ñ个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。 如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针,分针和秒针顺时...原创 2019-07-12 17:28:53 · 145 阅读 · 0 评论