线程synchornized方式java

java 第一次作业

1.定义圆形半径,求面积 package shg; import java.util.Scanner; public class Test { public static void main(String[] args) {// TODO Auto-generated method stubScan ......
第一次 java

字符串转为对应的java类

业务描述: 某个设备的配置信息使用字符串保存 { "isOpen": true, "startTime": "21:00:00", "endTime": "07:00:00", "seconds": 360, "exhalationOrSaver": 1, "screensaverPicture": ......
字符串 字符 java

Java之自定义注解的使用

要实现用户信息加密,我们可以新建一个EncryptCorpUser类。 package com.cmit.kapok.system.entity.corp_user; import com.cmit.kapok.system.utils.encrypt.anno.Encrypt; import co ......
注解 Java

Java入门_一维数组_第二题_随机生成数

前提 小白一个,啥都不会,欢迎指点。 题目 随机生成10个整数(1-100的范围),保存到数组,并倒序打印以及求平均值,求最大值和最大值的下标,并查找里面知否有8。 思路 随机生成-->采用random(),注意范围在( 1-100) 。 求取最大值下标插入索引 在再次建立一个索引,以此判断随机生成 ......
数组 Java

JAVA~适合新手和复习~基础三(集合所有常用方法)

Java 集合框架 1 Set和List的区别 2 1. Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以重复的元素。 3 4 2. Set 检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变 <实现类有HashSet,TreeSet>。 5 6 3. ......
常用 新手 基础 方法 JAVA

压缩图片两种方式

1、格式工厂 2、https://tinypng.com/ ......
方式 图片

keytool 错误: java.io.IOException: Invalid keystore format

keytool 错误: java.io.IOException: Invalid keystore format 出现原因:可能是jdk出现了问题,需要找到Android studio 查看jdk的位置在哪里。 解决办法: File-->Project Structure-->SDK Locatio ......
IOException keystore 错误 keytool Invalid

Helm模板(.tgz)打包压缩的方式

转载自:https://www.jianshu.com/p/4f9472326677 K8S集群中通过Helm模板安装应用时,需要使用.tgz文件格式,需要用到对该格式打包的方法。 .tgz 文件格式 .tgz 等同于.tar.gz,是对文件先执行rar压缩,再执行gzip压缩得到。 以GitLab ......
模板 方式 Helm tgz

python 线程安全

python 线程安全 1 线程抢占 import time from threading import Thread class Foo(object): pass f = Foo() f.num = 0 def add(i): f.num = i time.sleep(1) print(f.nu ......
线程 python

线程通信-采用标志位

package com.Java;public class Testflag { public static void main(String[] args) { TV tv = new TV(); new Player(tv).start(); new Watcher(tv).start(); } ......
线程 标志

线程池的创建 Executors工具类

package com.Java;import java.util.concurrent.*;public class TestPool { public static void main(String[] args) { //创建服务 创建线程池 ExecutorService service = ......
线程 Executors 工具

K8S 快速入门(九)实战篇:指令部署、yaml方式部署

K8S 快速入门(九)实战篇:指令部署、yaml方式部署 一、k8s资源指令 1. 常用命令 # 查看k8s帮助文档 查询所有的指令 kubectl --help # 查询节点信息(状态) kubectl get node #查询集群节点的信息 kubectl get node -o wide #查 ......
指令 实战 方式 yaml K8S

K8s学习(一)从零开始搭建kubernetes集群环境(虚拟机/kubeadm方式)

K8s学习(一)从零开始搭建kubernetes集群环境(虚拟机/kubeadm方式) 1 Kubernetes简介(k8s) 传统部署:互联网早期会直接将应用程序部署在物理机上或者虚拟操作系统中,如部署到tomcat/weblogin/websphere等,这种部署方式比较简单,但是很难合理地分配 ......
集群 kubernetes kubeadm 方式 环境

redis stream 命令行客户端和java客户端使用

redis stream 是发布订阅机制的升级版本,或者说是 redis pub/sub 的升级版,是redis 5的新增特色,redis的 stream就是一个简单的消息队列。 redis 的发布订阅极度不可靠,它不支持持久化,不管是消费者下线,还是消息积压都会导致消息丢失 消息积压的默认处理方式 ......
客户端 客户 命令 stream redis

redis rejson 命令行客户端使用和java客户端使用

下载rejson插件 地址Releases · RedisJSON/RedisJSON (github.com) 1.04版本下面有直接编译号的,别的版本需要手动编译 下载以后吧文件放到 redis-6.0.9/module 目录下面 module 需要自己创建,放在别的地方也可以 需要修改权限: ......
客户端 客户 命令 rejson redis

Linux服务器编写Shell脚本定时监控Java应用状态以及掉线后的自动重启

1. 编写Shell脚本 #! /bin/sh export JAVA_HOME=/root/jdk1.8.0_361 export CLASSPATH=.:CLASSPATH:$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin proc_name=we ......
脚本 状态 服务器 Linux Shell

Java第一次作业

1. 定义圆形半径,求面积。 package mnb; import java.util.Scanner; public class b { public static void main(String[] args) { // TODO Auto-generated method stub Sca ......
第一次 Java

Java上下转型

上下转型是多态的体现 向上/下转型的首要条件是要有继承关系 ......
上下 Java

Geyser - Minecraft Server 基岩版与Java版互通教程

阅前须知 当要连接的Java版服务器的版本低于时,服务器需安装MOD 「ViaFabric」 当出现"Do you want to continue?[Y/n]"时,输入y,随后等待即可。 执行命令 apt-get upgrade 时,第一处的选择请参照第二条,其余的回车继续即可。 vim 使用方法 ......
基岩 Minecraft 教程 Geyser Server

js 截取文件后缀名的3种方式

1.情景展示 当我们使用文件上传插件,将文件上传到后台,有时候需要上传的不止一种文件类型,即:图片或着PDF; 我们可能需要根据不同文件类型,提供不同的预览地址。 如何根据文件类型加以区分呢? 2.具体分析 获取文件后缀名,就能进行区分了。 3.解决方案 let filepath = "张三.pDF ......
后缀 方式 文件 js

JAVA - csk1

注意点: style 检擦是 rough的 看看如何submit ......
JAVA csk1 csk

java后台 apiV3 对接微信app支付

因为项目中需要用到微信支付,这里对自己对接的流程做一个记录一、接入前准备1.申请应用appId与商户号,配置apiV3秘钥2.生成商户证书首先登录微信商家平台,进入"账户中心–>账户设置–>API安全",申请API证书(此证书为商户证书,跟下文的微信平台支付证书不一样),下载安装方式见官方文档经过上 ......
后台 apiV3 java apiV app

java 微信支付v3 —7.微信支付之申请退款

正文 不得不说,申请退款和创建订单是非常相似的,流程都一样,只是请求的数据变了,那么我们第一步就是封装请求数据成对象形式,方便后续调用。 1. 申请退款请求对象 微信支付订单号,微信支付订单号和商家订单号二选一,这个是必不可少的,原订单金额也是必填的,微信会做二次验证。 @Data public c ......
java

java 微信支付v3 —8.微信支付之退款成功回调

正文 还记得WxPayCallbackUtil回调接口工具类吗,当时是用于支付成功的回调,我们接下来向里面添加一个退款成功的回调方法,在添加前我们先来做一个准备操作。 退款返回数据对象 @Data @Slf4j public class WxchatCallbackRefundData { /** ......
java

java 微信支付v3 —9.微信支付之商家转账API

正文 这个功能就比较复杂了,首先是得有90天的资金流水才能开通,其次开通后还需要在官网进行配置,不能直接调用,并且限制了IP地址。 如下图所示,首先需要进行产品设置,将里面都设置好后才能进行开发,只开通功能是远远不够的。 商家转账设置说明及避坑指南 页面发起:即登录微信支付后,手动输入用户信息,进行 ......
商家 java API

java 微信支付v3 —3.订单创建准备操作

正文微信支付的下单操作分为了5种,分别是JSAPI、APP、H5以及Native支付及小程序支付,之所以将支付放在单独一个章节,而不是按照支付类型划分一个章节,是因为支付所传递的数据都是相似的,方便我们更好的封装。本章节是支付编写支付前的准备操作,发送请求需要请求地址,用户支付成功后微信会通过我们传 ......
订单 java

java 微信支付v3 —5.微信支付成功回调

正文同样的通知可能会多次发送给商户系统。商户系统必须能够正确处理重复的通知。 推荐的做法是,当商户系统收到通知进行处理时,先检查对应业务数据的状态,并判断该通知是否已经处理。如果未处理,则再进行处理;如果已处理,则直接返回结果成功。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免 ......
java

java 微信支付v3 —2.微信支付基本配置

正文 配置商户信息、证书、密钥等。将客户端对象构建到Bean中,方便后续使用。 我们可以使用官方提供的 SDK,帮助我们完成开发。实现了请求签名的生成和应答签名的验证。 <!-- 微信支付 --> <dependency> <groupId>com.github.wechatpay-apiv3</g ......
基本配置 java

java 微信支付v3 —4.创建订单的封装及使用

正文 经过了微信支付之创建订单准备操作的准备操作,接下来我们就能够非常快速的开发出各种支付类型的创建订单接口。 商户Native支付下单接口,微信后台系统返回链接参数code_url,商户后台系统将code_url值生成二维码图片,用户使用微信客户端扫码后发起支付,也就是说后端只需要返回code_u ......
订单 java

java 微信支付v3 —6.微信支付查询订单API

正文什么时候会用到这个API?常规情况下,回调接口已经足够我们使用,用户支付成功后,微信会自动调用我们的回调接口进行回调,那么还需要这个API吗?使用场景:微信服务器故障,我们的服务器故障,服务器端正在进行更新导致用户付款后端没有及时接收到微信的回调请求,那么此时我们就可以让用户点击按钮“更新支付状 ......
订单 java API