首页
学习
活动
专区
工具
TVP
发布

程序猿~

专栏作者
149
文章
222666
阅读量
25
订阅数
【架构设计专题系列】 [方法论篇] - 1、我心目中好的架构设计
最近在做 BI-统计图查询层重构(java应用层分析查询), 自己也在设计的这个过程中结合过往的经验在思考:
夹胡碰
2022-11-02
4420
[数据库知识分享] - 索引、PG存储结构、explain
1、索引越多越好吗? 2、为什么会有联合索引的最左前缀问题和like%走索引问题? 3、如何合理设计索引 4、如果索引都无法解决提高性能,还有什么方面能提升?
夹胡碰
2022-09-21
3210
[PostgreSQL] - CTE
1、PostgreSQL CTE语句与materialized 2、7.8. WITH查询(公共表表达式)
夹胡碰
2022-09-19
5840
[PostgreSQL] - explain SQL分析介绍
一、图形化在线分析工具 https://explain.dalibo.com/ 📷 二、执行分析语句 EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS, FORMAT JSON) select * from ... 生成分析JSON之后,填入图形化分析页面,进行分析。 三、分析样例 📷 1、走索引 - Index Scan Node 表示先走二级索引,再走一级索引找到数据 finds relevant records based on an Index. Index Sc
夹胡碰
2022-07-30
6410
[PostgreSQL] - 存储结构及缓存shared_buffers
包含三个文件, 具体介绍请看PostgreSQL目录结构之base目录,Free Space Map and Visibility Map:
夹胡碰
2022-07-30
2.1K0
[JAVA基础] JVM - 并发的可达性算法分析
GC Roots只占堆的很小部分,并且在各种优化技巧(如OopMap)的加持下,带来的停顿已经是非常短暂且固定的了。 可从GC Roots再继续往下遍历对象图,这一步骤的停顿就要与Java堆的容量直接成正比了。 为了降低线程停顿时间,就需要并发的进行可达性分析。如下就是并发可达性分析的细节。
夹胡碰
2022-05-27
3620
[JAVA] JVM垃圾回收 - HotSpot的算法细节实现
本文介绍JVM垃圾回收算法的具体实现,介绍各个术语,并图文并茂介绍具体的实现细节。 垃圾回收判定及回收过程如下:
夹胡碰
2022-05-27
2590
[JAVA基础] - JVM对象内存布局及锁的标记位
一、对象布局 1、对象头 1)存储对象自身的运行时数据 hash码、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等。占位32/64位虚拟机分别占32/64个比特,官方称"Mark Word" 2)类型指针 指向对象的元数据,如果是数组,还会存储数组长度。 2、实例数据 3、对齐填充 要求对象是8的整数倍,对象头已经是8位的整数倍,只填充实例数据即可。 二、Object o = new Object()内存占用情况 占用16个字节 对象头12个字节,对齐填充4个字
夹胡碰
2022-05-19
3900
JVM内存模型
特殊:本地内存(Native Memory) 从JDK1.7到1.8,方法区的实现由永久代变成了元空间,元空间的部分数据分配在本地内存中。 Java8内存模型—永久代(PermGen)和元空间(Metaspace)
夹胡碰
2022-05-13
2810
[算法] - 树的遍历以及优美打印
话不多说,直接上代码 import java.util.LinkedList; import java.util.Queue; public class BaseTree { public static void main(String[] args) { TreeNode treeNode = buildTreeNode(2); TreeOperation.beautifulShow(treeNode); System.out.println("
夹胡碰
2022-03-07
2770
ThreadLocal子线程共享及源码分析
使用场景: 拦截器赋值(ThreadLocal.set),不依赖上下文传参,同一个线程内传值(ThreadLocal.get) 使用现象: 在父线程ThreadLocal.set,子线程get不到值。
夹胡碰
2021-11-24
6260
[算法] - 跳台阶 - 动态规划
牛客网 NC68 跳台阶 描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 递归实现: public class Solution { public int jumpFloor(int target) { if(target == 1 || target == 2){ return target; } return jumpF
夹胡碰
2021-06-17
5200
[算法] - 斐波那契数列
牛客网 NC65-斐波那契数列 两种实现 迭代 public class Solution { public int Fibonacci(int n) { if(n == 0 || n == 1){ return n; } int a = 0; int b = 1; int fib = 0; for(int i = 2; i <= n; i++){
夹胡碰
2021-06-17
7690
SpringCloud - Jackson序列化LocalDateTime
SpringCloud开发中,Jackson作为默认的序列化器,在跨服务调用过程中,序列化LocalDateTime时常发生格式不一致问题,下面将对SpringCloud中Jackson的序列化方式及源码进行分析。
夹胡碰
2021-06-17
2.7K0
Jackson - LocalDateTime序列化探索
在Java开发中,涉及Json序列化及反序列化的情况有很多,最常见的就是SpringBoot/SpringCloud项目中HTTP/Rest接口的传参。其中经常会涉及到时间类型LocalDateTime的序列化和反序列化,这里经常会因为序列化失败,导致接外部接口调用或Feign调用失败。
夹胡碰
2021-06-17
2.7K0
FastJson - 序列化LocalDateTime初探
Json的序列化方式有很多种,常见的有FastJson、Gson、Jackson,下面将对FastJson的LocalDateTime序列化使用及源码进行分析讲解。
夹胡碰
2021-06-11
4.6K0
Mysql - insert into on duplicate key update 异常探究
场景: 向表admin插入一条数据,如果business_id字段如果有重复的,则is_update置为1
夹胡碰
2021-06-11
1.6K0
Spring Cloud Hyxtrix 初探
模式采用这种实现,线程池隔离采用的是自己独立的线程池替代Web容器的线程池,来自己实现服务的熔断、限流、超时。
夹胡碰
2021-04-25
3500
[算法] - leetcode 链表两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
夹胡碰
2021-04-23
8150
java - 手写队列/栈
话不多少,直接上代码 1. 手写队列 package com.jiafupeng.test; /** * @author jiafupeng * @desc * @create 2021/4/10 15:59 * @update 2021/4/10 15:59 **/ public class MyQueue { private ListNode head; private ListNode tail; private static class ListNode{
夹胡碰
2021-04-15
5070
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档