12 2019 档案
摘要:日常开发中,少不了对第三方api的封装。api封装的好坏绝定了后期维护的难度以及使用api的开发人员是否抱怨。比如:有一天第三方api的域名变了。或者自己封装的api没有参数说明,过段时间来改代码自己忘什么意思了。或者应该调用哪个URL来满足我当前的需求。考虑到这些因素,最终选择将api封装为jar
阅读全文
摘要:线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如 jstack、jmap 等工具也是不囿于一个方面的问题的,基本上出问题就是 df、free、top 三连,然后依次 jstack、jmap 伺候,具体问题
阅读全文
摘要:Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。 1、通过配置文件配置 通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小 redis的配置文件不一定使用的是安装目录下面
阅读全文
摘要:其实devops就是为了让开发、运维和QA可以高效协作的流程。(可以把DevOps看作开发、技术运营和质量保障(QA)三者的交集。) DevOps对应用程序发布的影响 在很多企业中,应用程序发布是一项涉及多个团队、压力很大、风险很高的活动。然而在具备DevOps能力的组织中,应用程序发布的风险很低,
阅读全文
摘要:多处使用,而在架构单点登录时,也会遇到一些小问题,在不同的应用环境中可以采用不同的单点登录实现方案来满足需求。 我将以我所遇到的应用环境以及在其中所经历的各个阶段与大家分享,若有不足,希望各位不吝赐教。 一、共享Session 共享Session可谓是实现单点登录最直接、最简单的方式。将用户认证信息
阅读全文
摘要:1.为什么要用 Dubbo? 随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系
阅读全文
摘要:地址: https://blog.csdn.net/qq_37372007/article/details/81586751 它可以在代码上传仓库(如github,gitee,gitlab)后,在jenkins(一个网站界面)中通过获取代码仓库中最新代码,进行自动化部署,而省去手动打包、上传服务器、
阅读全文
摘要:现在最常用的进程间通信的方式有信号、信号量、消息队列、共享内存。所谓进程通信,就是不同进程之间进行一些“接触”。这种接触有简单,也有复杂。机制不同,复杂度也不一样。通信是一个广义上的意义,不仅仅指传递一些message。它们的使用方法是基本相同的,所以只要掌握了一种使用方法,然后记住其他的使用方法就
阅读全文
摘要:hashmap总是被经常问的问题,下面总结了几道关于hashmap的问题。 1、hashmap的主要参数都有哪些? 2、hashmap的数据结构是什么样子的?自己如何实现一个hashmap? 3、hash计算规则是什么? 4、说说hashmap的存取过程? 5、说说hashmap如何处理碰撞的,或者
阅读全文
摘要:一、git分支合并 (1)运行终端,执行命令:git branch,会列出所有branch,并在当前分支会有 “*”标记。 (2)切换到要操作的分支,比如:有两个分支almond 和release-2.0.3,现在想把release-2.0.3的代码合并到almond上。执行命令:git check
阅读全文
摘要:HashMap提供高效的查找,插入和删除。是怎么做到的? HashMap的存储结构 HashMap底层是以数组方式进行存储的。将key-value键值对作为数组的一个元素进行存储。Key-value都是Map.Entry中的属性。其中将key的值进行hash之后进行存储,即每一个key都是计算has
阅读全文
摘要:1.redis是基于内存的,内存的读写速度非常快; 2.redis是单线程的,省去了很多上下文切换线程的时间; 3.redis使用多路复用技术,可以处理并发的连接; 简单解释下第二条:上下文切换就是cpu在多线程之间进行轮流执行(枪战cpu资源),而redis单线程的,因此避免了繁琐的多线程上下文切
阅读全文
摘要:idea工具maven projects里面有9种生命周期,生命周期是包含在一个项目构建中的一系列有序的阶段。 一、最常用的两种打包方法: 1.clean,package(如果报错,很可能就是jar依赖的问题) 2.clean,install 二、9种生命周期: 1.clean,清理,在进行真正的构
阅读全文
摘要:JPA数据懒加载LAZY和实时加载EAGER(二) 懒加载LAZY和实时加载EAGER的概念,在各种开发语言中都有广泛应用。其目的是实现关联数据的选择性加载,懒加载是在属性被引用时,才生成查询语句,抽取相关联数据。而实时加载则是执行完主查询后,不管是否被引用,立马执行后续的关联数据查询。社区里有人认
阅读全文
摘要:一、@OneToOne关系映射 JPA使用@OneToOne来标注一对一的关系。 实体 People :用户。 实体 Address:家庭住址。 People 和 Address 是一对一的关系。 这里用两种方式描述JPA的一对一关系。 一种是通过外键的方式(一个实体通过外键关联到另一个实体的主键)
阅读全文
摘要:方法一:select * from user_info where create_date>= '2015-07-01' and create_date < '2015-08-15'; 方法二:select * from user_info where create_datebetween '201
阅读全文
摘要:list转数组: /要转换的list集合 List<String> testList = new ArrayList<String>(){{add("aa");add("bb");add("cc");}}; //使用toArray(T[] a)方法 String[] array2 = testLis
阅读全文
摘要:参考博文:https://www.cnblogs.com/xrq730/p/6424471.html (1)同步调用 (2)异步调用 (3)回调机制
阅读全文
摘要:需要将别的项目合并到本项目中,迁移步骤如下: (1)数据库迁移,找到数据库表,因需要将数据库表从不同的数据库软件Mysql、Oracle、Postgresql来进行迁移,所以需要将数据库表生成pdm,然后适应不同的数据库。 利用powerdesigner反向生成的步骤和遇到的坑: 必须配置32位的j
阅读全文