- 博客(29)
- 资源 (4)
- 收藏
- 关注

原创 个人技术沉淀,总结记录,学习提升。
Java基础核心计算机网络计算机操作系统集合框架设计模式不同版本jdk的新特性JVMJVM内存模型JVM内存调优类加载机制垃圾回收机制、垃圾回收算法JVM内存模型并发多线程线程状态转换线程间通信同步与异步线程池基本参数常见的...
2020-04-21 20:16:56
1560
原创 Ehcache学习记录
Ehcache学习记录简介基本介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。Spring 提供了对缓存功能的抽象:即允许绑定不同的缓存解决方案(如Ehcache),但本身不直
2020-12-16 14:50:28
269
原创 微服务理解与实践
微服务理解与实践微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo、还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务。但是这个过程,具体应该怎么做?现有的条件下到底要不要做微服务?服务拆分成什么粒度才是合适的?遗留的老系统需要如何考虑重构改造?有哪些坑需要我们注意?系统怎么在分布式服务下实现数据的一致性和服务的高可用可伸缩?拆分的过程中系统数量增多,测试、部署、运维、监控,又应该如何处理?本文将从这些问题
2020-10-12 20:05:14
2054
2
原创 Harbor镜像仓库搭建及简单使用
Harbor镜像仓库搭建及简单使用一、背景容器应用的开发和运行离不开可靠的镜像管理。从安全和效率等方面考虑,部署在私有环境内的Registry是非常必要的。Project Harbor是由VMware公司中国团队为企业用户设计的Registry server开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。二、简介基于角色的访问控制 - 用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可
2020-09-17 17:32:02
1048
原创 jenkins部署
jenkins linux一、环境部署注:以下操作都是在 /home/deploy/ 路径下1、Java下载:wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/
2020-09-17 16:39:44
516
原创 Spring Factories知多少
Spring Factories知多少?一柱独擎梁栋重,十年整顿乾坤了。 种春风、桃李满人间,知多少。文章目录Spring Factories知多少?Spring Factories使用场景Spring Factories是什么Spring Factories原理run方法源码getRunListeners(args)源码JAVA的SPI机制Spring Factories使用Spring Factories使用场景 spring.factories文件主要是帮助把sp
2020-07-24 19:01:14
572
原创 八☞冒泡排序
八☞冒泡排序冒泡排序比较相邻的元素,如果前一个比后一个大,交换之。第一趟排序第1个和第2个一对,比较与交换,随后第2个和第3个一对比较交换,这样直到倒数第2个和最后1个,将最大的数移动到最后一位。第二趟将第二大的数移动至倒数第二位…因此需要n-1趟;证明对于每一次比较操作。若aj ≤ aj+1,aj, aj+1保持不变,于是aj ≤ aj+1;若aj > aj+1,则aj, aj+1互换位置,于是aj < aj+1。因此经过一次“比较”操作后恒有aj≤ aj+1。下面直接引用此结
2020-07-24 10:42:44
217
原创 MyBatis拦截器理解与初步使用
MyBatis拦截器理解与初步使用文章目录MyBatis拦截器理解与初步使用Mybatis核心流程图插件基础(plugins)业务背景简单实现设计模式适配器模式代理模式工厂模式装饰器设计模式建造者设计模式策略模式模板模式单例模式组合模式思考Mybatis核心流程图(1)读取MyBatis的配置文件。mybatis-config.xml为MyBatis的全局配置文件,用于配置数据库连接信息。加载配置方式(后加载的配置会覆盖之前的配置)。首先读取在 properties 元素体内指定的属性。然后根
2020-07-23 20:53:30
256
翻译 Mybatis中文文档
MyBatis文章目录MyBatis简介什么是MyBatis入门安装从 XML 中构建 SqlSessionFactory不使用 XML 构建 SqlSessionFactory从 SqlSessionFactory 中获取 SqlSession探究已映射的 SQL 语句**对命名空间的一点补充****命名解析**作用域(Scope)和生命周期**对象生命周期和依赖注入框架**SqlSessionFactoryBuilderSqlSessionFactorySqlSession映射器实例配置属性(prop
2020-07-21 21:14:36
921
原创 关于类加载机制,你知道多少
文章目录关于类加载机制,你知道多少什么是类加载类加载的过程加载验证准备解析初始化设定初始值的方式初始化步骤初始化的时机java初始化顺序类加载器Bootstrap ClassLoaderExtension ClassLoaderApplication ClassLoaderCustomer ClassLoader加载器的层级关系[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pcZTheDc-1589280713711)(C:\Users\王延\AppData\Roaming\
2020-05-12 18:58:35
539
原创 八☞快速排序
快速排序快速排序是一种分治的排序算法。它将一个数组分成两个子数组,将两部分独立地排序。快速排序和归并排序是互补的:归并排序将数组分成两个子数组分别排序,并将有序的子数组归并以将整个数组排序;而快速排序将数组排序的方式则是当两个子数组都有序时整个数组也就自然有序了。证明将长度为N的无重复数组排序,快速排序平均需要~2NlnN次比较(以及1/6的交换)快速排序最多需要约N2/2 次比较,但随机打乱数组能够预防这种情况。特点1、实现简单,适用于各种不同的输入数据且在一般应用中比其他排序算法都要快得多。
2020-05-09 15:16:21
614
原创 并发多线程☞线程池基本概念
线程池概念线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。作用线程的创建需要开辟虚拟机栈,本地方法栈、程序计数器等线程私有的内存空间。线程池减少了创建和销毁线程的次数,降低系统开销。利用线程池管理并复用线程、控制最大并发数等,方便管理。提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。隔离线程环境。线程池模式HS/HA半同步/半异步模式半同步/半异步模式又称为生产者消费者模式,是比较常见的实现方式,比较简单。分为同步层、队
2020-05-08 20:15:40
295
原创 InnoDB中的MVCC
什么是MVCCMVCC即Multi-Version Concurrency Control,译为多版本并发控制。MVCC的背景MySQL的大多数事务型存储引擎实现的都不是简单的行级锁。基于提升并发性能的考虑,它们一般都同时实现了多版本并发控制(MVCC)。不仅是MySQL,包括Oracle、 PostgreSQL等其他数据库系统也都实现了 MVCC,但各自的实现机制不尽相同,因为 MVCC...
2020-05-06 15:58:38
271
原创 MySQL☞事务及其底层实现
mysql事务事务就是一组原 子性的SQL査询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应 用该组査询的全部语句,那么就执行该组査询。如果其中有任何一条语句因为崩溃或其 他原因无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执 行成功,要么全部执行失败。mysql的三层逻辑架构第一层第一层服务并不是MySQL所独有的,大多数基于网络的客户端/服务器...
2020-04-30 19:18:48
300
原创 集合框架☞优先队列
先来张宏观类图:最近总遇到最大堆,最小堆问题,把遇到的问题总结一下。PriorityQueue:普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。通常采用堆数据结构来实现。1、优先队列PriorityQueue是...
2020-04-26 21:43:26
195
原创 八☞归并排序
归并排序要将一个数组 排序,可以先(递归地)将它分成两半分别排序,然后将结果归并起来,典型的分治处理思想。证明对于长度为N的任意数组,自顶向下的归并排序需要 ½NlgN 至 NlgN 次比较。对于长度为N的任意数组,自顶向下的归并排序最多需要访问数组 6NlgN次。特点1、它能够保证将任意长度为 N 的数组排序所需时间和 NlogN 成正比。2、缺点 则是它所需的额外空间和N成正。...
2020-04-23 19:22:09
254
原创 八☞希尔排序
希尔排序希尔排序的思想是使数组中任意间隔为h的元素都是有序的。这样的数组被称为h有序数组。换句话说,一个h有序数组就是h个互相独立的有序数组编织在一起组成的一个数组。在进行排序时,如果h很大,我们就能将元素移动到很远的地方,为实现更小移动提高排序效率。用这种方式,我们都能够将数组排序。这就是希尔排序。证明研究希尔排序性能需要的数学论证超出了能力范围,没有找到相关资料,以后在研究吧,看下希尔排...
2020-04-23 17:15:32
168
原创 计算机操作系统☞虚拟
想理解虚拟内存,首先要说一下传统内存,对比一下,更好理解其然所以然。传统存储管理方式的特征一次性操作和数据必须一次性全部装入内存后,方能开始运行。这会导致两种情况发生:A、当数据量很大,不能全部被装入内存时,将使该程序无法运行;B、当大量程序要求运行时,由于内存不足以容纳所有数据,只能使少数程序先运行,导致多道程序度的下降。驻留性操作和数据被装入内存后,就一直驻留在内存中,其...
2020-04-22 18:14:48
957
原创 计算机操作系统
基本概念计算机操作系统介于应用程序和计算机硬件之间,其本身就是一个软件,操作系统是由内核管理硬件资源,系统调用部分用来管理应用程序所提供的系统调用接口1、各种繁琐复杂的接口打包封装提供给程序员使用。2、应用本身对硬件的多路复用(时间复用||空间复用)。基本特征1、并发:并发性是指两个或多个事件在同一时间间隔内发生(操作系统的进程切换)。2、共享:系统中的资源可供内存中多个并发执行的...
2020-04-22 17:40:23
249
原创 八☞插入排序
插入排序将当前元素插入到已经有序数组中的适当位置。与选择排序一样,当前索引左边的所有元素都是有序的,但它们的最终位置还不确定,为了给更小的元素腾出空间,它们可能会被移动。但是当索引到达数组的右端时,数组排序就完成了。和选择排序不同的是,插入排序所需的时间取决于输入中元素的初始顺序。(对一个很大且其中的元素已经有序(或接近有序)的数组进行排序将会比对随机顺序的数组或是逆序数组进行排序要快得多)。...
2020-04-22 11:39:15
234
原创 八☞选择排序
选择排序一种最简单的排序算法是这样的:首先,找到数组中最小的那个元素,其次,将它和数组的第 一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中 找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。这种方法 叫做选择排序,因为它在不断地选择剩余元素之中的最小者。证明:可以通过算法的排序轨迹来证明这一点。我们用一张N×N的表格来...
2020-04-22 10:41:46
226
原创 堆排序的一些思考
堆排序经典应用: leecode:前 K 个高频元素给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]说明:你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优...
2020-04-16 20:22:13
174
原创 idea自动化部署Alibaba Cloud Toolkit
插件安装1、确保 IntelliJ 、PyCharm、PhpStorm等在 2018.1 或更高版本,本文以 IntelliJ 为例(我的版本是2018.3)2、打开 Intellij 的 Settings ,进入 Plugins 选项,搜索Alibaba Cloud Toolkit插件安装即刻。如图:3、安装成功以后需要重启才能生效,可以看见如下图标就是安装成功了。4、我使用的是阿里...
2019-12-23 17:57:45
274
原创 搭建自有HTTPS环境
搭建自有HTTPS环境搭建自有HTTPS环境服务器配置https协议,三种免费的方法:1.Linux自签(OPENSSL生成SSL自签证书)2.阿里云免费证书3.Let’s Encrypt永久免费SSL证书【墙裂推荐】一、Linux自签(OPENSSL生成SSL自签证书)第1步:生成私钥执行如下命令生成一个RSA私钥//生成rsa私钥,des3算法,1024位强度,ssl.key...
2019-12-23 17:56:47
1468
原创 慢sql优化的学习和思考
mysql项目SELECT识别符。这是SELECT的查询序列号select_typeSELECT类型,可以为以下任何一种: 1. SIMPLE:简单SELECT(不使用UNION或子查询) 2.PRIMARY:最外面的SELECT 3.UNION:UNION中的第二个或后面的SELECT语句 4.DEPENDENT UNION:UNION中的第二个或后面的S...
2019-12-23 17:56:15
262
原创 JDK11 is coming!
JDK11的新特性从JDK8-JDK11本地变量类型推断字符串加强集合加强Stream加强Optional 加强InputStream 加强HTTP Client API一个命令编译运行源代码从JDK8-JDK11本次发布的Java 11和2017年9月份发布的Java 9以及 2018年3月份发布的Java 10相比,其最大的区别就是:在长期支持(Long-Term-Support)方面,O...
2019-02-14 16:30:57
392
secret-sdk-demo.zip
2020-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人