![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
彦楠
写程序也挺有意思
展开
-
通过监听 RefreshScopeRefreshedEvent 事件来重新加载
通过监听 RefreshScopeRefreshedEvent 事件来重新加载 init() 方法。当配置发生变化时,会触发该事件,从而调用 init() 方法进行重新加载。原创 2024-04-19 16:36:32 · 170 阅读 · 1 评论 -
docker运行java程序的Dockerfile
【代码】docker运行java程序的Dockerfile。原创 2023-12-21 18:23:07 · 1438 阅读 · 0 评论 -
java集成Nacos服务
2,编写注册代码:接下来,你可以编写 Java 代码来将服务注册到 Nacos 服务注册中心并连接到指定的命名空间。1,添加依赖:首先,在你的 Java 项目中,你需要添加 Nacos 客户端 SDK 的依赖。3,运行起来就可以Nacos后台看见注册的服务了。原创 2023-12-14 15:28:13 · 1017 阅读 · 0 评论 -
java线程池管理工具类
1,这是线程池管理工具类,在系统关闭时确保任务执行完毕,自定义抛弃策略默认使用了CallerRunsPolicy拒绝策略。原创 2023-11-29 18:56:54 · 535 阅读 · 0 评论 -
supervisor管理启动重启,Java,Go程序Demo
4、创建子进程 supervisor.ini。第一次配置需要重启supervisord。添加子配置只需要update即可。recharge java程序。giftpanel go程序。3、修改主配置文件配置。2、配置默认配置文件。原创 2023-11-29 17:54:53 · 959 阅读 · 0 评论 -
eclipse编译jar中文乱码解决办法
eclipse编辑jar中文乱码原创 2022-09-28 18:26:03 · 1011 阅读 · 1 评论 -
获取url中图片高度宽度
java获取url图片宽高原创 2022-03-18 17:17:18 · 913 阅读 · 0 评论 -
JPA自定义sql处理器
JPA自定义sql处理器 后台查询需要各种形式的sql,还是原生sql用着方便简单归类了下import java.util.List;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;import javax.persistence.Query;import org.apache.log4j.Logger;import org.apache.poi.ss.formula.f原创 2021-09-02 17:22:57 · 292 阅读 · 0 评论 -
java主线程等待所有子线程执行完毕
1java等待所有线程执行完毕public static void isTerminated(ExecutorService executorService) { executorService.shutdown(); //轮询等待ExecutorService线程池中所有线程执行完毕 while(true){ if( executorService.isTerminated()){原创 2021-08-04 16:50:50 · 808 阅读 · 0 评论 -
测试线程安全代码针对锁ID实现
测试线程安全代码import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 测试线程安全方法 * @author gaoyannan * 20210513 */public class Test { public static void main(String[] args) {原创 2021-05-13 11:45:33 · 315 阅读 · 2 评论 -
StringRedisTemplate使用scan
public Set<String> scan(String key) { return redisTemplate.execute((RedisCallback<Set<String>>) connection -> { Set<String> keys = Sets.newHashSet(); JedisCommands commands = (JedisCommands) c.原创 2021-04-14 15:50:41 · 3182 阅读 · 2 评论 -
liunx排查cpu100%占用
//根据jar名字 kill掉程序 cat读取文件内容 jarname=`cat jar_name` 通过程序名 kill kill -9 `ps -ef |grep $程序名 |awk '{print $2}'`; 通过pid查询程序名 ps -aux |grep -v grep|grep pid 查询pid下线程占用详细 top -Hp pid 线程pid转为16进制数据 printf '%x\n' pid 查询详细 jstack pid |grep -A .原创 2021-04-14 14:03:23 · 202 阅读 · 0 评论 -
线程安全有序的SET,Map, List
线程安全有序的SET and MapCopyOnWriteArraySet<String> readyUserId =new CopyOnWriteArraySet<String>();ConcurrentSkipListMap<String,Integer> index_hm = new ConcurrentSkipListMap<String,Integer>();原创 2021-03-10 13:57:50 · 1667 阅读 · 0 评论 -
spring 定时任务
1 在springboot下执行import org.apache.log4j.Logger;import org.springframework.scheduling.annotation.EnableScheduling;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Service;@Service@EnableSchedulingpubl原创 2021-03-01 11:41:37 · 249 阅读 · 0 评论 -
Spring AOP
注意1,Spring AOP只能切被Spring管理的非静态类2,AOP相当于就是做个"统一log记录"的"动态代理"3,定义切入点,要指定到controller,或者其他包 !指定全部包的话可能log会被打印2次及以上(原因大概就是代理多了)import org.apache.log4j.Logger;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.ProceedingJoinPoint;import org.aspect原创 2020-10-26 16:30:51 · 300 阅读 · 0 评论 -
单利模式 饿汉式多线程安全
/** * * @author gyn 单利模式 * 3、饿汉式 * 是否 Lazy初始化:否 * * 是否多线程安全:是 * * 实现难度:易 * * 描述:这种方式比较常用,但容易产生垃圾对象。 优点:没有加锁,执行效率会提高。 * 缺点:类加载时就初始化,浪费内存。 */...原创 2019-11-21 03:35:13 · 553 阅读 · 2 评论 -
java冒泡排序
public class Maopaopaixu { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr= {1,2,3,4,5}; int tmp=0; //保证按照数组长度进行循环保证每一位数进行对比过 for (int i = 0; i < ...原创 2019-11-21 03:20:38 · 318 阅读 · 0 评论 -
统计字符串 第一次出现的位置
import java.util.HashMap;import java.util.LinkedHashMap;import java.util.Map.Entry;public class TestString { public static void main(String[] a) { String str = "qwerqwer1x1"; int index =...原创 2019-11-21 02:58:38 · 600 阅读 · 0 评论 -
java重写 equals hashCode
1,java重写equals方法需要注意的几点2,必须要重写equals(),hashCode()方法为什么equals()方法要重写?判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象。这样我们往往需要重写equals()方法。我们向一个没有重复对象的集合中添加元素时,集合中存放的往往是对...原创 2018-11-01 15:05:33 · 398 阅读 · 0 评论 -
Object wait notify notifyAll 方法详解
wait()方法表示,放弃当前对资源的占有权,等啊等啊,一直等到有人通知我,我才会运行后面的代码。notify()方法表示,当前的线程已经放弃对资源的占有, 通知等待的线程来获得对资源的占有权,但是只有一个线程能够从wait状态中恢复,然后继续运行wait()后面的语句;notifyAll()方法表示,当前的线程已经放弃对资源的占有, 通知所有的等待线程从wait()方法后的语句开始运行。 ...原创 2018-11-01 14:52:49 · 1441 阅读 · 0 评论 -
JVM理解
1、程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看 做是当前线程所执行的字节码的行号指示器 2、Java 虚拟机栈 与程序计数器一样,Java 虚拟机栈(Java Virtual Machine Stacks)也是线程私有的, 它的生命周期与线程相同 3、本地方法栈 本地方法栈(Native Method Sta...原创 2018-10-26 16:32:40 · 234 阅读 · 0 评论 -
数组与链表
各自的优缺点 数组的优点 随机访问性强 查找速度快 数组的缺点 插入和删除效率低 可能浪费内存 内存空间要求高,必须有足够的连续内存空间。 数组大小固定,不能动态拓展 链表的优点 插入删除速度快 内存利用率高,不会浪费内存 大小没有固定,拓展很灵活。 链表的缺点 不能随机查找,必须从第一个开始遍历,查找效率低 总结 经常查询数组 经...原创 2018-10-26 16:31:05 · 246 阅读 · 0 评论 -
Lock与synchronized对比
private static Lock lock = new ReentrantLock(true);//true为公平锁 lock.lock(); //获取锁 阻塞 lock.tryLock(); //获取锁 成功返回true 失败false lock.tryLock(1, TimeUnit.SECONDS); //等待制定时间 获...原创 2018-10-14 17:22:22 · 315 阅读 · 0 评论 -
java线程池基本结构原理
1 ThreadPoolExecutor线程池顶级父类Executor interface Executor extends interface ExecutorService implements abstract AbstractExecutorServi...原创 2018-10-13 12:14:28 · 2070 阅读 · 0 评论 -
Runnable获取线程名字
Thread.currentThread().getName();原创 2018-09-14 11:56:25 · 8739 阅读 · 0 评论 -
java内置数据类型
内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。byte:byte 数据类型是8位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;例子:by...转载 2018-09-25 18:55:02 · 491 阅读 · 0 评论 -
忽略非法反射警告 An illegal reflective access operation has occurred
非法反射 警告 好像也不影响什么WARNING: An illegal reflective access operation has occurredWARNING: Illegal reflective access by org.xnio.nio.NioXnio$2 (file:/Users/jixianzhilu/.m2/repository/org/jboss/xnio/xnio-n...原创 2019-02-14 11:09:21 · 21704 阅读 · 11 评论 -
配置微信证书,申请退款
import java.io.IOException;import java.io.InputStream;import java.security.KeyStore; import javax.net.ssl.SSLContext; import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;impo...原创 2019-07-02 14:09:59 · 702 阅读 · 0 评论 -
springboot配置 java servlet的Filter过滤器
package com.roncoo.education.util.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletExcepti原创 2017-12-13 15:47:18 · 704 阅读 · 0 评论 -
微信小程序上传图片 后台Java springboot接收
@RequestMapping(value = "/addRegister") public Object register(HttpServletRequest request) { MultipartHttpServletRequest req =(MultipartHttpServletRequest)request; MultipartFile multipartFi...原创 2019-08-06 16:26:23 · 5085 阅读 · 2 评论 -
人民币金额转发大写 java实现
贴上代码import java.util.ArrayList;import java.util.List;/** * * @author gaoyannan * */public class Capitalization { /** * 支持10w以下转大写 * @param sb StringBuilder * @param str 金额 */ publ...原创 2019-07-25 18:10:00 · 337 阅读 · 0 评论 -
redis队列 list
1,添加队列/** * add list * * @param key * @param member */ protected static long lpush(String key, String member) { Jedis jedis = null; try { jedis = ConnectionManager.getConnection();...原创 2019-07-02 14:29:00 · 563 阅读 · 0 评论 -
redis有序集合
**1,添加或更新有序集合** /** * * 修改有序集合 key member的值 Redis Zincrby 命令对有序集合中指定成员的分数加上增量 increment 可以通过传递一个负数值 increment ,让分数减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5 。 当 key...原创 2019-07-02 14:09:41 · 317 阅读 · 0 评论 -
java面试题
1 StringBuffer StringBuilder String区别?场景?1拼接速度 StringBuilder>StringBuffer>String2线程安全 StringBuffer3String不可变 String str1 = "123"; String str2 = new String("123"); str2=str2.intern()...原创 2019-05-10 19:14:11 · 285 阅读 · 0 评论 -
date转换时间格式
//***************************时间格式转化方法*************************** /** * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss * * @param dateDate * @return */ public static String dateToStrLong(...原创 2019-03-08 10:40:46 · 536 阅读 · 0 评论 -
AES-256-ECB PKCS7Padding 解密 微信退款接口
不说别的了,直接说解密1解密方式解密步骤如下:(1)对加密串A做base64解码,得到加密串B(2)对商户key做md5,得到32位小写key* ( key设置路径:微信商户平台(pay.weixin.qq.com)–&amp;amp;amp;amp;gt;账户设置–&amp;amp;amp;amp;gt;API安全–&amp;amp;amp;amp;gt;密钥设置 )(3)用key*对加密串B做AES-256-ECB解密(PKCS7Padding)原创 2019-02-26 16:04:23 · 6365 阅读 · 6 评论 -
创建一个线程安全的Map,数据测试
//Hashtable Example Code Map&amp;amp;amp;lt;String, Integer&amp;amp;amp;gt; threadSafeMap = new Hashtable&amp;amp;amp;lt;String, Integer&amp;amp;amp;gt;(); //synchronizedMap Example Code. threadSafeMap = Collections.s转载 2018-09-23 20:07:08 · 901 阅读 · 0 评论 -
java基本数据引用不可修改源值,集合引用可修改源值
1,java String Integer等基本数据 引用不可改变原有值,除 原=New2, List Map Set集合 引用可改变原有值import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Set;...原创 2018-09-23 20:04:38 · 1098 阅读 · 0 评论 -
HashMap基本实现原理
在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进行查找,需要遍历数组,逐一比对给定关键字和数组元素,时间复杂度为O(n),当然,对于有序数组,则可采用二分查找,插值查找,斐波那契查找等方式,可将查找复杂度提高为O(logn);对于一般的插入删除操作,涉及到数组元素的移动,其平...转载 2018-09-18 11:01:14 · 290 阅读 · 0 评论 -
HttpClient中文乱码
接收中文乱码 EntityUtils.toString(entity,"UTF-8");请求中文乱码StringEntity s = new StringEntity(json.toString()); s.setContentEncoding("UTF-8");原创 2018-01-16 18:32:37 · 353 阅读 · 0 评论