![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java 基础篇
文章平均质量分 78
秋叶华
软件开发
展开
-
Google Ads API 调研及使用
Google Ads Api 广告投放接口调研,web授权接口调研,报告接口调研,项目创建,应用申请,经理账号,开发者令牌等流程梳理。原创 2024-06-19 00:26:03 · 1030 阅读 · 1 评论 -
AbstractQueuedSynchronizer原理及应用
AQS是抽象队列同步器;是一个抽象类,通过继承的方式使用;内部实现CLH队列,是一个FIFO的双向链表;基于自旋策略获取锁/释放锁资源原创 2023-02-13 20:18:52 · 270 阅读 · 0 评论 -
读《阿里DevOps实战手册》之敏捷开发梳理总结
1 DevOps核心理念DevOps是以快速交付价值,给与开发最大自由度,负责开发和运维的全部过程。在监控、故障防控工具,功能开关的配合下,可以在保障用户体验和快速交付价值之间找到平衡点。1.1 DevOps核心理念之松管控和强卡点松管控:应用 Owner可以完整定义这个应用的各种规则,比如如何发布,如何测试,如何进行资源、环境 配置等。我们有通用构建和自定义构建,可以给开发最大自由度。最后是“轻发布,重恢复”。在每一个应用维度,开发可以随时使用流水线来交付代码,而并不需要特别的限.原创 2022-02-11 16:21:35 · 1885 阅读 · 0 评论 -
分布式web系统架构图及应用架构图
原创 2022-02-08 14:17:03 · 3680 阅读 · 0 评论 -
Maven Jar 加载原则及Jar冲突加载优先级梳理
Maven Jar 加载原则依赖最短路径优先原则如:a.jar 依赖 b.jar,b.jar 依赖 c.jar, c.jar依赖 d.0.jar;a.jar 依赖 e.jar,e.jar 依赖 d.1.jar则:最终依赖d.1.jar 2.pom文件中申明顺序优先如:a.jar 依赖 d.0.jar ; b.jar 依赖 d.1.jar且 a.jar 依赖在 b.jar 前面则:最终依赖 d.0.jarJar冲突场景遵循Maven jar加载原则注:针对同一个j...原创 2021-12-17 19:23:08 · 2604 阅读 · 0 评论 -
BitMap数据结构梳理总结及代码实现
BitMap(位图)BitMap定义位图(BitMap),即位(Bit)的集合,是一个离散的数组结构,用一个bit位来标记某个元素对应的Value,而Key即是该元素;最基本的情况,使用一个bit表示一个关键字的状态(可标示两种状态0-不存在,1-存在),也可以使用2bit(表示4种状态),3bit(表示8种状态)需要根据业务场景实现。BitMap 数据结构数据结构:byte[],一个byte 8 bit,使用bit为单位来存储数据,可以在空间和时间双重维度提高效率。注:也可以是 int原创 2021-12-11 16:54:48 · 2117 阅读 · 0 评论 -
Mongobd安装及JAVA调用
Mongodb安装下载Mongodb注:linux版本与mongodb版本冲突问题,需要选择合适的版本1.Linux CentOS Linux release 7.9.2009 (Core)下载mongodb包wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.4.tgz解压安装2.解压和移动mongodb至目录 /xxx/xxx/xxx/mongodbtar -zxvf mongodb-li原创 2021-11-07 11:37:25 · 468 阅读 · 0 评论 -
Dubbo服务接口测试工具
背景 随着业务的发展,业务越来越复杂,为了提高系统性能,对业务解耦,对系统按业务模块拆分;服务之间的治理(SOA)、远程服务调用(RPC),组成复杂的网状的分布式系统。用户的访问的(pc,h5,android,ios等前端)页面并没有对业务系统暴露的接口服务全面的测试,存在潜在风险,为此写了一个远程服务接口测试的DEMO (DUBBO服务为例)应用场景大型的分布式系统 前端和后台服务端分离 业务系统内部通过订阅服务,互相调用接口进行访问,非传统http/https技术实现1...原创 2021-06-29 18:40:27 · 2419 阅读 · 0 评论 -
数据库表结构导出word及分析对比工具
数据库静态表结构导出及分析对比工具背景随着系统一次次迭代升级,数据库不断更新维护,不同环境数据库表差异性逐渐增多,表结构设计缺陷也逐渐增多; 随着数据量增多,原有正常表,也会成为风险表(主键ID类型问题,索引缺失、无效,备注缺失等问题)。TOP系统遇到两次数据库问题(一次索引失效,一次任务表ID触达上线)TOP访问外部系统获取商品列表过长(外部系统没创建索引)解决这些问题是遇见而不是预见,细思极恐。。。。。数据静态表结构解析对比工具1).生成数据库表结构文档(给懒人使..原创 2021-02-21 14:10:34 · 577 阅读 · 0 评论 -
switch 用法解读
switch case 判断表达式的一种,类似于 if elseswitch() 方法支持数据类型:JDK1.6(char,byte,short,int),JDK1.7(char, byte,short,int, String)case 表达式可以有多个 类似于 else ifswitch case 用法限制每个case语句要通过break/return结束语句 最后一个分支要是用default 结束switch 语句 支持多个case分支,执行一个判定逻辑switch cas...原创 2020-10-24 18:06:29 · 1735 阅读 · 1 评论 -
LinkedList for 和 forEach遍历分析
Java中LinkenList数据结构->链表链式存储,Sequential Access: 这种方式,每一个数据元素,在内存中都不要求处于相邻的位置,每个数据元素包含他的下一个元素的内存地址,不可以根据元素的位置直接计算出内存地址,只能按照顺序读取元素。主要是以链表为代表。1.传统的for循环遍历,基于计数器的:遍历者自己在集合外部维护一个计数器,然后依次读取每一个位置的元素,当读取到一最后一个元素后停止。主要是需要按元素的位置来读取。这也是最原始的集合遍历方法。...原创 2020-10-24 14:57:36 · 1571 阅读 · 1 评论 -
ArrayList for 和 forEach遍历分析
Java中ArrayList集合数据结构:数组顺序存储,Random Access(Direct Access)这种方式,相邻的数据元素存放于相邻的内存地址中,整块内存地址是连续的,可以根据元素的位置直接计算出内存地址,直接进行读取。对于顺序存储读取一个特定位置元素的平均时间复杂度为O(1),遍历整个集合的平均时间复杂度为O(n)。正常来说,只有基于数组实现的集合,才有这种特性。1.传统的for循环遍历,基于计数器的: 遍历者自己在集合外部维护一个计数器,然后依次读取每一个位置的元素,当.原创 2020-10-23 19:59:15 · 2570 阅读 · 2 评论 -
HashMap keySet与entrySet遍历分析
keySet():返回的是只存放key值的Set集合,使用迭代器方式遍历该Set集合,在迭代器中再使用get方法获取每一个键对应的值代码案例:keySet遍历代码/** * 通过keySet遍历 * @param map */public static void keySetTest(Map<String ,Object> map){ Iterator<String> keys = map.keySet().iterator(); while(k原创 2020-10-17 17:31:44 · 684 阅读 · 2 评论