摘要: 工程中的配置文件如果把数据库的用户名密码写成明文的话是一件很危险的事情,之前也看见网上说可以对密码进行加密,用的时候再解密,因此今天我就尝试如何在spring boot 中的项目中实现关键信息的加密解密,并记录下来。 jasypt Jasypt is a java library which all 阅读全文
posted @ 2019-12-01 17:50 洛神灬殇 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 背景 废话不多说,做这个监控的背景很简单,我们的项目都是以spring boot框架为基础开发的,代码里所有的异步线程都是通过@Async标签标注的,并且标注的时候都是指定对应线程池的,如果不知@Async标注的,可以参考@Async异步线程池用法总结, 如果你用的不是spring,就参考上文提到的 阅读全文
posted @ 2019-12-01 17:41 洛神灬殇 阅读(1314) 评论(0) 推荐(0) 编辑
摘要: 线程池介绍 什么是线程池、线程池核心类、线程池工作流程、线程池分类、拒绝策略、及如何提交与关闭线程池等。 但在实际开发过程中,在线程池使用过程中可能会遇到各方面的故障,如线程池阻塞,无法提交新任务等。 如果你想监控某一个线程池的执行状态,线程池执行类 ThreadPoolExecutor 也给出了相 阅读全文
posted @ 2019-12-01 17:17 洛神灬殇 阅读(1626) 评论(1) 推荐(0) 编辑
摘要: 线程池全面解析 什么是线程池? 很简单,简单看名字就知道是装有线程的池子,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用。 线程池的好处 我们知道不用线程池的话,每个线程都要通过new Thread(xxRunnable).start()的 阅读全文
posted @ 2019-12-01 17:05 洛神灬殇 阅读(313) 评论(0) 推荐(0) 编辑
摘要: https://naver.github.io/pinpoint/ https://github.com/naver/pinpoint 背景 随着项目微服务的进行,微服务数量逐渐增加,服务间的调用也越来越复杂,我们急切需要一个APM工具帮我们监控各个服务的性能及对服务间的调用进行跟踪,而通过调研多个 阅读全文
posted @ 2019-12-01 00:13 洛神灬殇 阅读(1279) 评论(0) 推荐(0) 编辑
摘要: 一.javase 1.jdk1.8新特性 搜索速度更快 – 红黑树 行为参数化代码更少 – Lambda 强大的Stream API – Stream 便于并行 – Parallel 最大化减少空指针异常 – Optional 2.JVM结构原理、GC工作机制详解 JVM主要包括四个部分 1.类加载 阅读全文
posted @ 2019-11-30 23:01 洛神灬殇 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 登入root账户 mysql -u root -p 查看所有用户 select host,user from mysql.user; 查看某个用户的权限: show grants for username@host; #用户名@主机 示例: show grants for root@localhos 阅读全文
posted @ 2019-11-30 10:19 洛神灬殇 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 前言 学习mysql数据库,对于它的权限的管理是关键的一环。所以,下面介绍的是MySQL权限的管理。 MySQL权限表 MySQL数据库实际上是通过将用户写入mysql库中对应的权限表来控制访问权限的。 权限表分别为: user,db,table_priv,columns_priv和host。 us 阅读全文
posted @ 2019-11-30 10:09 洛神灬殇 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 开源软件在发展历程中,已经不仅仅是开放源代码的免费软件。开源软件与商业并不冲突,它是一种新兴的商业模式。与传统的商业软件相比,开源软件采用了开放源代码、免费分发等形式,减少了营销与销售成本,更易于广泛传播。 在开源软件领域中,常见的盈利模式一共有7种。下面让我们来逐一列举和分析。 ● 盈利模式之一: 阅读全文
posted @ 2019-11-29 22:38 洛神灬殇 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 再上次篇章中汇集了相关的分布式锁的概念进行控制,接下来我们采用的是注解声明式开发服务方案,进行声明式开发代替编程式开发方案。 1.利用aop实现分布式锁2.只用在方法上加个注解,同时加上了重试机制 1.前提我们可以个性化定制一些注解例如:RedisLock注解操作 @RedisLock(lockPr 阅读全文
posted @ 2019-11-27 19:53 洛神灬殇 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 承接前面一篇Redis分布式锁的原理介绍 https://www.cnblogs.com/liboware/p/11921759.html 我们针对于实现方案进行接下来上篇进行重新的规划和定义以及完善。 关于分布式锁 很久之前有讲过并发编程中的锁并发编程的锁机制:synchronized和lock。 阅读全文
posted @ 2019-11-27 19:41 洛神灬殇 阅读(174) 评论(0) 推荐(0) 编辑
摘要: Keyword Sample JPQL snippet And findByLastnameAndFirstname … where x.lastname = ?1 and x.firstname = ?2 Or findByLastnameOrFirstname … where x.lastnam 阅读全文
posted @ 2019-11-27 18:44 洛神灬殇 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 1.工具归纳 Typora: Markdown Editor https://www.typora.io/ MobaXterm for Windows: SSH client, Multi excution https://mobaxterm.mobatek.net/ Termius: SSH Cl 阅读全文
posted @ 2019-11-27 18:28 洛神灬殇 阅读(272) 评论(0) 推荐(0) 编辑
摘要: Zookeeper的启动流程 Zookeeper的主类是QuorumPeerMain,启动时读取zoo.cfg配置文件,如果没有配置server列表,则单机模式启动,否则按集群模式启动,这里只分析集群模式。 根据配置初始化quorumPeer对象,并启动quorumPeer线程,这里主要做了几件事情 阅读全文
posted @ 2019-11-27 17:57 洛神灬殇 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 知识的深度 vs 广度,哪一个更重要 人一辈子都在学习。然而时间有限,感兴趣的东西越多,能够深入的就越少;钻研的越深,能够涉猎的范围就越窄。那么如何平衡知识的深度和广度?特别是对于职业人而言,知识的深度和广度如何影响创造力的?本研究提出一个新颖的观点:一个人的知识结构和创造力之间的关系实际上受到职业 阅读全文
posted @ 2019-11-24 12:39 洛神灬殇 阅读(293) 评论(0) 推荐(0) 编辑