上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 20 下一页
摘要: 方式一:序列化操作 public class SerializeUtil { public class SerializeUtil { /* /* * 序列化 * 序列化 * */ * */ public static byte[] serizlize(Object object){ public 阅读全文
posted @ 2018-11-09 09:34 沫小淘 阅读(17541) 评论(0) 推荐(0) 编辑
摘要: 最近一直在做关于Servlet的事情,常常出现乱码,很是烦人,处理乱码的方法有时候有效,有时候没有效果,今天抽个时间小结一下,以防以后再出现这种问题。 一般的处理乱码的方式都是用: request.setCharacterEncoding("GBK") 但是这种方法只对POST方法提交的表单才有效果 阅读全文
posted @ 2018-11-07 17:37 沫小淘 阅读(1317) 评论(0) 推荐(0) 编辑
摘要: 在Spring5.0和SpringBoot2.0中废弃了WebMvcConfigurerAdapter类。 现有两种解决方案 1 直接实现WebMvcConfigurer (官方推荐)2 直接继承WebMvcConfigurationSupport本篇文章讨论下使用第一种方式完成参数校验。 首先附上 阅读全文
posted @ 2018-10-25 17:29 沫小淘 阅读(1986) 评论(0) 推荐(0) 编辑
摘要: Java多线程之同步集合和并发集合 不管是同步集合还是并发集合他们都支持线程安全,他们之间主要的区别体现在性能和可扩展性,还有他们如何实现的线程安全。 同步集合类 Hashtable Vector 同步集合包装类,Collections.synchronizedMap()和Collections.s 阅读全文
posted @ 2018-10-25 16:06 沫小淘 阅读(5931) 评论(0) 推荐(1) 编辑
摘要: wait和notify方法,有个地方要注意,就是经典的生产者和消费模式,使用wait和notify实现,判断条件为什么要用while而不能使用if呢?其实是因为当线程wait之后,又被唤醒的时候,是从wait后面开始执行,而不是又从头开始执行的,所以如果用if的话,被唤醒之后就不会在判断if中的条件 阅读全文
posted @ 2018-10-25 15:50 沫小淘 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如 阅读全文
posted @ 2018-10-17 14:39 沫小淘 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 编写多线程程序一般有三种方法,Thread,Runnable,Callable. Runnable和Callable的区别是: (1)Callable规定的方法是call(),Runnable规定的方法是run()。其中Runnable可以提交给Thread来包装下,直接启动一个线程来执行,而Cal 阅读全文
posted @ 2018-10-15 10:13 沫小淘 阅读(1446) 评论(0) 推荐(0) 编辑
摘要: Callable接口: public interface Callable<V> { V call() throws Exception; } Runnable接口: public interface Runnable { public abstract void run(); } 相同点: 不同点 阅读全文
posted @ 2018-10-12 17:37 沫小淘 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 1 线程池做什么 网络请求通常有两种形式: 第一种,请求不是很频繁,而且每次连接后会保持相当一段时间来读数据或者写数据,最后断开,如文件下载,网络流媒体等。 另一种形式是请求频繁,但是连接上以后读/写很少量的数据就断开连接。考虑到服务的并发问题,如果每个请求来到以后服务都为它启动一个线程,那么这对服 阅读全文
posted @ 2018-10-12 16:46 沫小淘 阅读(27582) 评论(0) 推荐(2) 编辑
摘要: 定义线程池 第一步,先在Spring Boot主类中定义一个线程池,比如: 上面我们通过使用ThreadPoolTaskExecutor创建了一个线程池,同时设置了以下这些参数: 核心线程数10:线程池创建时候初始化的线程数 最大线程数20:线程池最大的线程数,只有在缓冲队列满了之后才会申请超过核心 阅读全文
posted @ 2018-10-12 13:01 沫小淘 阅读(15379) 评论(0) 推荐(2) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 20 下一页