Java基础
霸王凯旋
这个作者很懒,什么都没留下…
展开
-
Java多线程并发编程,多线程优化-线程池的常用创建方式及使用总结
1、简单的线程池创建Executors1.1newCachedThreadPool()public static ExecutorService newCachedThreadPool()说明:创建一个线程池。需要使用线程时从线程池中获取线程,如果无可用线程,则创建一个线程,在使用使用后放入线程池。线程池中60秒未使用的线程将被终止并从缓存中移除。因此通过该方法创建的线程池,...原创 2020-04-01 19:09:13 · 606 阅读 · 0 评论 -
Java多线程并发编程,多线程优化-锁优化
1、锁优化1.1 synchronized优化-减少临界区减少临界区,就可以减少锁被持有的时间,从而降低锁被征用的概率,达到减少锁开销的目的实际代码操作如下:优化器代码: public synchronized void doSomething() { step1(); syncStep2(); step3(); }说明: 代码中我们其实只需要同步sync...原创 2020-04-01 15:37:48 · 279 阅读 · 0 评论 -
高并发之Java实现一致性Hash负载算法
这里解释一致性Hash是什么意思,仅提供一个一致性Hash实现方案Hash工具类:package com.liyong.hash.util;public class HashUtils { /** * 计算Hash值, 使用FNV1_32_HASH算法 * @param str * @return hash值 */ public static int getHas...原创 2020-03-30 19:28:38 · 509 阅读 · 0 评论 -
消息中间件
1、为什么使用消息中间件?异步、削峰、解耦2、消息中间件选型?ActiveMQ、RabbitMQ、RocketMQ、Kafka3、引入消息中间件后,存在哪些问题?增加系统复杂性、数据一致性、系统可用性4、使用消息中间后,存在消息重复消费、消息丢失、顺序消费,怎么解决?4、使用消息中间件,怎么避免重复消费?保证消费逻辑的幂等性5、怎么保证幂等性?基于数据库数据...原创 2020-03-27 19:03:40 · 152 阅读 · 0 评论 -
Redis排错经历:MISCONF Redis is configured to save RDB snapshots
MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error...原创 2019-08-03 11:34:55 · 3485 阅读 · 1 评论 -
RSA排错经历:BadPaddingException: Decryption error
Caused by: javax.crypto.BadPaddingException: Decryption error at sun.security.rsa.RSAPadding.unpadV15(RSAPadding.java:380) at sun.security.rsa.RSAPadding.unpad(RSAPadding.java:291) at com...原创 2019-08-02 19:00:28 · 25566 阅读 · 3 评论 -
JavaMail接收邮件
package com.lvtu.error.process;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import ...转载 2018-12-19 11:34:55 · 1488 阅读 · 0 评论 -
JAVA实现AES对称加密解密
工具类代码: package com.test.commons.utils;import java.security.Key;import java.security.SecureRandom;import java.util.Base64;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import j...原创 2018-12-19 11:01:51 · 1959 阅读 · 0 评论 -
Springboot多视图同时使用JSP和Thymeleaf完成整合部署
知识点:1、在Springboot中同时使用JSP和Thymeleaf,涉及到多视图解析器配置2、使用JSP时,打成jar包时运行,JSP出现404,问题主要来源于Springboot对jsp的支持限制,下图是官方文档中的一段描述:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-d...原创 2018-12-19 17:13:05 · 2539 阅读 · 2 评论 -
Java中使用Base64编码实例
Maven需要引入的jarcommons-codeccommons-codec1.10org.bouncycastlebcprov-jdk15on1.52代码package com.liyong.base64;import java.io.IOException;import java.io.UnsupportedEncodin原创 2015-09-08 11:52:25 · 2752 阅读 · 0 评论 -
Java按字节数截取字符串
1、截取字符串,若是遇到不完整的中文,则舍弃掉那部分中文信息碰到可能会截取汉字的情况,当然是要不能截取出乱码来,就是不能对整个汉字截取一半。如"我ABC汉字d"这个字符串,截取5个字节的时候,应该是"我ABC",而截取8个字节的时候,应该是"我ABC汉",而不应该是"我ABC汉?",其中"?"为半个汉字,可理解为向前截取package com.lxh.ser.test;import转载 2015-05-25 00:39:01 · 1957 阅读 · 0 评论 -
Java对象序列化成字符串和反序列化
1、序列化:序列化后保存在一个字符串变量中package com.lxh.ser.test;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;import java.util.ArrayList;import java.util.List原创 2015-05-24 22:31:41 · 10302 阅读 · 1 评论 -
Java中复制两个不同类的对象的属性
Apache的开源包BeanUtils用来复制两个对象的属性,要使用这个Apache的开源包,要先去官网下载commons-beanutils-1.X.jar包,http://www.apache.org/ 然后点击Apache Projects下面的链接Commons,可以找到链接BeanUtils,点击进入后就可以看到下载了。 ——BeanUtils.copyProperties()与Prop转载 2015-02-06 12:56:28 · 9214 阅读 · 1 评论