自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 java 解析三维模型,最大最小坐标,java解析tileset.json文件

java 解析三维模型,最大最小坐标,java解析tileset.json文件

2024-04-17 16:37:14 481 3

原创 java计算瓦片边界的经纬度

java瓦片图层解析

2024-03-14 15:43:56 1844 1

原创 java解析tif文件 | 获取最大最小坐标 | java判断点是否在tif平面内

java解析tif

2024-01-19 10:57:11 490

原创 java对象分配过程

jvm对象分配过程new Object()占用多少空间survivor满了

2023-04-13 15:59:43 139

原创 mysql 删除问题 and 优化

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [[AS] tbl_alias][PARTITION (partition_name [, partition_name] …)][WHERE where_condition][ORDER BY …][LIMIT row_count]InnoDB 表如果要从大表中删除许多行,则可能会超出表的锁表大小InnoDB。为了避免这个问题,或者只是为了最大限度地减少表保持锁定的时间,以下策略(根本不使

2021-06-13 20:57:02 910

原创 软考-软件设计师上午知识总结

时间计算方式: 第一条指令执行时间+(指令数-1)*各指令段执行时间中最大的执行时间( 1+2+3+4 + (N-1)*4 ) , n是执行条数, 4是1234中最大的时间。中断 计算机运行过程中,遇到突发率件,要求 CPU 暂时停止正在运行的程序,转去为突发事件服务,服务完毕,再自动返回原程序继续执行,这个过程称为中断,计算机存储数据采用的是双符号位(00 表示正号、11 表示负号),两个符号相同的数相加时,如果运算结果的两个符号位经逻辑。木马程序的客户端运行在攻击者的机器上。

2024-05-17 15:21:35 270

原创 pandora源码解析 [未完]

这里主要是 createClassLoader(返回自定义的类加载器) 和 reLaunch。

2024-01-19 11:01:25 355

原创 最简单的翻转链表/反转链表

【代码】最简单的翻转链表/反转链表。翻转链表反转链表

2023-06-09 17:23:59 70

原创 华为OD 任务混部,单词倒叙

任务混部单词倒叙

2023-06-08 17:16:19 290 1

原创 mysql日志二阶段提交,mysql三个日志写入顺序

mysql二阶段提交redolog 和 binlog 的提交顺序

2022-07-21 00:49:19 270

原创 分布式cap

C(一致性)所有节点在同一时刻都能看到相同的数据。对某个指定的客户端来说,读操作保证能够返回最新的写操作结果。和各节点返回数据一致A(可用性)每个请求都能得到成功或者失败的响应。非故障的节点在合理的时间内返回合理的响应比如节点同步失败,但要保证整个系统的可用,数据就无法保持一致性P(分区容错)出现消息丢失或者分区错误时系统能够继续运行。当出现网络分区后,系统能够继续“履行职责”。允许网络分区的存在CA , 其实CA本身就冲突, 除非本身系统就是一个单机牺牲C/A 也并不是什么都不做

2022-02-27 22:32:51 90

原创 CAS 自旋锁 轻量级锁

compareAndSet / Compare and Swap三个参数(内存值V,旧的预期值A,要修改的新值B){}CAS有3个操作数,内存值V(当前值),旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。两个好处1.无锁的方式没有锁竞争带来的系统开销,也没有不同线程间频繁调度的开销,所以性能比锁更优越2.对死锁免疫ABA问题:当你获得对象当前数据后,在准备修改为新值前,对象的值被其他线程连续修改了两次,而经过两次修改后,对象的值又恢复为旧值,

2022-02-24 00:01:29 295

原创 java的类加载,双亲委派

classloader loadclass 双亲委派源码

2022-01-19 11:56:59 182

原创 线程创建几个?jar内存多大

**线程数量多少合适cpu密集的话,单核1个,理论上单线程就可以了, 多核的话, 一般就是N 或者N+1 因为要考虑到线程的切换io密集的话,理论能多少就多少,考虑其他两个线程计算公式,以实际测试结果为准1.最佳线程数=CPU核数×[1+(I/O耗时/CPU耗时)]2.线程数=CPU核数×目标CPU利用率×(1+平均等待时间/平均工作时间)jar内存多大...

2021-06-14 00:48:16 185

原创 hashmap

本质来说是一个node[]结构:默认0.75的负载因子,意思是超过容量3/4的时候,会对数组进行扩容数组默认长度 1<<4 无符号右移4位, 10000 16一个单向链表 node 内部类tableSizeFor 找到当前cup最接近的 2的次幂putval(){if(数组为空): resize() 初始化数组为默认长度if(判断hash是否存在) 不存在就添加新节点else 存在的情况–判断key的hash && key的equals key与第一个

2021-06-09 17:17:24 48

原创 copyOnWriteArrayList(cow)

场景; 主线程在遍历list的时候,子线程在向list中添加元素。抛出ConcurrentModificationException线程安全的list在对其实例进行修改操作(add/remove等)会新建一个数据并修改,修改完毕之后,再将原来的引用指向新的数组。这样,修改过程没有修改原来的数组。也就没有了ConcurrentModificationException错误。public boolean add(E e) {final ReentrantLock lock = this.lock;lo

2021-06-06 01:43:48 68

原创 redis三种集群

主从做读写分离 需要人工维护主从配置slaveof replicaof 123.132.131.123:123从一般是只读的 可配置只开启rdb的话,rdb中包含了slaveof信息,选择rdb方式同步开启aof,flush后,就使用aof同步read only yes 从节点是否只读backing size 节点丢失,记录可追溯的大小,超过了就要全量更新min replica to write 从节点写成功几个,才算是写成功,一致性靠拢sentinel哨兵 故障转移 启一个就行

2021-06-06 01:38:44 63

原创 Executors

Executors.newSingleThreadExecutor()new ThreadPoolExecutor(1, 1,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue()));是一个单线程的线程池,只有一个核心线程,都通过这个来执行线程池中最多执行1个线程,之后提交的线程活动将会排在队列中以此执行Executors.newCachedThreadPool();new ThreadPoolExecutor(0, Integer.MAX_VAL

2021-06-06 01:28:47 68

原创 ThreadPoll

1.corePoolSize(核心线程数)线程池中会维护一个最小的线程数量,即使这些线程处理空闲状态,他们也不会 被销毁,除非设置了allowCoreThreadTimeOut。这里的最小线程数量即是corePoolSize。内部参数:corePoolSize:线程池的基本大小,即在没有任务需要执行的时候线程池的大小,并且只有在工作队列满了的情况下才会创建超出这个数量的线程。这里需要注意的是:在刚刚创建ThreadPoolExecutor的时候,线程并不会立即启动,而是要等到有任务提交时才会启动,除非

2021-06-06 01:27:19 109

原创 请求参数注解

@RequestParam@RequestParam用来处理 Content-Type 为 application/x-www-form-urlencoded在Content-Type: application/x-www-form-urlencoded的请求中,get 方式中queryString的值,和post方式中 body data的值都会被Servlet接受到并转化到Request.getParameter()参数集中,所以@RequestParam可以获取的到。一 : @RequestP

2021-06-06 01:24:21 315

原创 对象生命周期

对象的整个生命周期大致可以分为7个阶段:创建阶段(Creation)、应用阶段(Using)、不可视阶段(Invisible)、不可到达阶段(Unreachable)、可收集阶段(Collected)、终结阶段(Finalized)与释放阶段(Free)。1.创建阶段(Created)一个Java类(除Object类外)至少有一个父类(Object),这个规则既是强制的,也是隐式的。你可能已经注意到在创建一个Java类的时候,并没有显式地声明扩展(extends)一个Object父类。不要对一个对象进

2021-06-06 01:21:28 1096

原创 异或经典题目

//求第一个位置的1n&(~n+1)//如何不用额外变量交换两个数a= a^bb= a^b = abba= a^b = a^b ^ abb// arr中,有两种数,出现奇数次public static void printOddTimesNum2(int[] arr) {int eor = 0;for (int i = 0; i < arr.length; i++) {eor ^= arr[i];}// eor = a ^ b// eor != 0 两个数不一样,e

2021-06-06 01:15:06 99

原创 mysql分区

场景表非常大以至于无法全部都放在内存中,或者只在表的最后部分有热点数据,其他均是历史数据批量删除大量数据可以使用清除整个分区的方式一个表最多只能有1024个分区,在5.7版本的时候可以支持8196个分区在早期的mysql中,分区表达式必须是整数或者是返回整数的表达式,在mysql5.5中,某些场景可以直接使用列来进行分区如果分区字段中有主键或者唯一索引的列,那么所有主键列和唯一索引列都必须包含进来分区表无法使用外键约束类型range 根据列值在给定范围内将行分配给分区list 类似于按r

2021-06-06 01:09:53 73

原创 mysql 事物隔离级别

读未提交(Read Uncommitted)这种事务隔离级别下,select语句不加锁,也不是快照读。任何操作都不会加锁读提交(Read Committed, RC)普通select是快照读;//读取数据可见版本 commit之后的数据加锁的select, update, delete等语句,除了在外键约束检查(foreign-key constraint checking)以及重复键检查(duplicate-key checking)时会封锁区间,其他时刻都只使用记录锁;间隙锁(gap lock

2021-06-06 01:07:29 350

原创 SpringCloud

组件Eureka:服务注册与发现,用于服务管理。Feign: web调用客户端,能够简化HTTP接口的调用。Ribbon:基于客户端的负载均衡。Hystrix:熔断降级,防止服务雪崩。Zuul:网关路由,提供路由转发、请求过滤、限流降级等功能。Config:配置中心,分布式配置管理。Sleuth:服务链路追踪Admin:健康管理优点微服务是一种架构风格,将单体应用划分为小型的服务单元。独立部署。不依赖其他服务,耦合性低,不用管其他服务的部署对自己的影响。易于开发和维护:关注特定业务

2021-06-06 00:59:12 55

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除