![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 73
谷歌
喜欢CSDN
展开
-
对JVM的类加载的理解
类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑...转载 2018-03-29 21:46:36 · 248 阅读 · 0 评论 -
springBoot使用docker Compose编排超简单
一、mysql容器准备(mysql:5.7)1.查看本地docker仓库是否有对应版本的mysql镜像 docker images2. 如果没有的话可以查询下云仓库docker search mysql:5.7本例使用的docker.io/mysql:5.7,如果需要使用其他的镜像 首先拉取到本地仓库docker pull NAME:5.7此处必须指定版本 否则 会默认下...原创 2019-07-31 15:40:52 · 635 阅读 · 0 评论 -
jar包读取外部配置文件
项目中的一些配置文件,如dbconfig.properties log4j.xml 不想打包进jar。因为可能会修改其中的一些配置信息,打包进jar,就变得比较笨拙,不方便修改文件。试了几种方法最后总结出以下的几种方式,实现在jar包中读取外部配置文件。方法一:关键代码。读取properties文件方法:InputStream ins = getClass().getRes...原创 2018-08-09 08:53:22 · 4828 阅读 · 2 评论 -
Redis集群方案
由于 Redis 出众的性能,其在众多的移动互联网企业中得到广泛的应用。Redis 在 3.0 版本前只支持单实例模式,虽然现在的服务器内存可以到 100GB、200GB 的规模,但是单实例模式限制了 Redis 没法满足业务的需求(例如新浪微博就曾经用 Redis 存储了超过 1TB 的数据)。Redis 的开发者 Antirez 早在博客上就提出在 Redis 3.0 版本中加入集群的功能,但...转载 2018-07-13 01:49:49 · 704 阅读 · 0 评论 -
RocketMQ快速入门详解
RocketMQ是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给Apache基金会,已经于2016年11月成为 Apache 孵化项目,相信RocketMQ的未来会发挥着越来越大的作用,将有更多的开发者因此受益。 本文仅对RocketMQ的简单实用做入门性介绍,不对RocketMQ的底层原理进行深入介绍,后续文章将对RocketMQ的原理做详细介绍。 Ro...转载 2018-06-25 16:18:50 · 1547 阅读 · 0 评论 -
SpringBoot +mybatis多数据源配置(非AOP)
多数据源配置,大都是根据jpa来做多数据源解决方案,要不就是老的spring多数据源解决方案,还有的是利用aop动态切换,都相对有点麻烦,学习网上的内容之后,分享出来。一、POM文件准备<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>...原创 2018-05-24 23:26:06 · 195 阅读 · 0 评论 -
谈如何合理设置线程池大小
接着上一篇探讨线程池留下的尾巴,如何合理的设置线程池大小。 要想合理的配置线程池的大小,首先得分析任务的特性,可以从以下几个角度分析:任务的性质:CPU密集型任务、IO密集型任务、混合型任务。任务的优先级:高、中、低。任务的执行时间:长、中、短。任务的依赖性:是否依赖其他系统资源,如数据库连接等。性质不同的任务可以交给不同规模的线程池执行。对于不同性质的任务来说,CPU密集型任务应配置尽可能小的线...转载 2018-04-26 12:01:52 · 198 阅读 · 0 评论 -
40个Java多线程问题总结
40个Java多线程问题总结前言Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,...转载 2018-04-13 02:01:52 · 107 阅读 · 0 评论 -
线程池自定义配置简单记录
我们都知道spring只是为我们简单的处理线程池,每次用到线程总会new 一个新的线程,效率不高,所以我们需要自定义一个线程池。本教程目录:自定义线程池配置spring默认的线程池1. 自定义线程池1.1 修改application.propertiestask.pool.corePoolSize=20task.pool.maxPoolSize=40task.pool.keepAliveSec...原创 2018-04-12 00:29:32 · 976 阅读 · 0 评论 -
SpringBoot 之并发编程学习
如果一个项目总用单线程来跑,难免会遇到一些性能问题,所以再开发中,我们应该尽量适量的使用多线程(在保证线程安全的情况下)。本教程大概目录:模拟单线程情节用Callable实现 并发编程用DeferedResult实现异步处理模拟单线程情节/** * Created by Fant.J. */@RestController@Slf4jpublic class AsyncController...原创 2018-04-12 00:27:30 · 379 阅读 · 0 评论 -
zookeeper 学习笔记
zookeeper 学习笔记基本概念角色 zookeeper 集群中的节点共有三种角色,每个节点同时只能是一种角色。集群中的所有机器通过一个 Leader 选举过程来选定一台被称为 Leader 的机器。 Leader:接受所有 Follower 的提案请求并统一协调发起提案的投票,负责与所有的 Follower 进行内部的数据交换 Follower:直接为客户端服务并参与提案的投票,同时与 Le...原创 2018-04-08 16:20:44 · 180 阅读 · 0 评论 -
java关于请求参数转Map的记录
今天在做支付宝支付,关于异步通知结果,请求自己服务器的时候,需要接受支付宝的请求参数(类型为参数=值&参数=值&。。。),如果一个个取太麻烦,就用 request.getParameterMap()方法把参数放到了Map中,方便对参数做操作代码如下public static Map<String, String> toMap(HttpServletRequest req...原创 2018-03-30 13:30:58 · 3826 阅读 · 0 评论 -
浅谈java设计模式
【Java基础】浅谈常见设计模式Num1:单例模式基本概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点。常见写法:色调若设定任何懒汉式public class Singleton { /* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */ private static Singleton instance = null; ...原创 2018-03-29 23:02:57 · 133 阅读 · 0 评论 -
java快排实现
public class QuickSort { public static void quickSortHelp(int[] arr) { quickSort(arr, 0, arr.length - 1); } public static int division(int[] list, int left, int right) { // 以最左...原创 2019-08-01 14:05:35 · 233 阅读 · 0 评论