git最佳实践 Be a better developer with these Git good practices#git#github#webdev#beginners If you’re a developer, you probably use the versioning system called Git on a daily basis. The use of this tool is cruci 2024-04-29
事件分析平台设计 在广告业务中,我们的服务器每天都会收集到很多条用户行为日志。我们希望能有效地利用这些日志来揭示用户行为模式,以解答以下问题: 在过去的三个月中,哪个广告渠道的用户注册量最大? 上周,北京地区浏览广告的用户年龄分布是怎样的? 最近一周,通过广告注册的用户,他们的一周留存率是多少?有何变化趋势? 在过去的一周中,用户从接触广告到完成下单的各个环节的转化率如何? 为解答这些问题,我构建了一个事件分析 2024-01-15 system design #Java #Clickhouse
用户画像平台设计 不管在任何公司,我们都需要努力了解我们的用户,以便为他们提供更优质的服务。APP内容推荐需要根据用户特征来决定推送内容;促销活动需要针对不同的用户群体设计不同的活动方案;线上产品售卖也需要了解用户喜好,才能更好地把产品卖给用户。 为了实现这些目标,我建立了一个用户画像平台。本文将首先探讨平台的功能需求和标签体系定位,然后介绍平台的架构和具体功能实现。 2024-01-01 system design #Java #Clickhouse
Mysql面试题 数据库基础知识为什么要使用数据库 数据保存在内存 优点: 存取速度快 缺点: 数据不能永久保存 数据保存在文件 优点: 数据永久保存 缺点:1、速度比内存操作慢,频繁的IO操作。2、查询数据不方便 数据保存在数据库 数据永久保存 使用SQL语句,查询方便效率高。 管理数据方便 什么是SQL? 结构化查询语言(Structured Query Language)简称SQL,是一种数据库 2022-06-01 Mysql #Java #Mysql
JVM面试五十问 1.什么是JVM?JVM——Java虚拟机,它是Java实现平台无关性的基石。 Java程序运行的时候,编译器将Java文件编译成平台无关的Java字节码文件(.class),接下来对应平台JVM对字节码文件进行解释,翻译成对应平台匹配的机器指令并运行。 Java语言编译运行 同时JVM也是一个跨语言的平台,和语言无关,只和class的文件格式关联,任何语言,只要能翻译成符合规范的字节码文件,都能 2022-05-12 Java > JVM #Java #JVM
Java并发六十问 1.并行跟并发有什么区别?从操作系统的角度来看,线程是CPU分配的最小单位。 并行就是同一时刻,两个线程都在执行。这就要求有两个CPU去分别执行两个线程。 并发就是同一时刻,只有一个执行,但是一个时间段内,两个线程都执行了。并发的实现依赖于CPU切换线程,因为切换的时间特别短,所以基本对于用户是无感知的。 并行和并发 就好像我们去食堂打饭,并行就是我们在多个窗口排队,几个阿姨同时打菜;并发就是 2022-04-17 Java #Java
Synchronized 锁升级 在图文详解Java对象内存布局这篇文章中,在研究对象头时我们了解了synchronized锁升级的过程,由于篇幅有限,对锁升级的过程介绍的比较简略,本文在上一篇的基础上,来详细研究一下锁升级的过程以及各个状态下锁的原理。本文结构如下: 1 无锁 2 偏向锁 3 轻量级锁 4 重量级锁 总结 1 无锁在上一篇文章中,我们提到过 jvm会有4秒的偏向锁开启的延迟时间,在这个偏向延迟内对象处于为无锁 2022-04-05 Java #Java #synchronized #锁
Java面试题 所有的final修饰的字段都是编译期常量吗? 不是的,只有被final修饰的字段同时满足是基本数据类型或者String,并且在编译期间就可以确定值的情况下,才能被视为编译期常量。例如,final int x = 1;和final String s = "Hello";是编译期常量,但final Object o = new Object();就不是,因为o的值需要在运行时才 2022-04-04 Java #Java
Java 内存对象布局 作为一名Java程序员,在日常工作中使用这款面向对象的编程语言时,做的最频繁的操作大概就是去创建一个个的对象了。对象的创建方式虽然有很多,可以通过new、反射、clone、反序列化等不同方式来创建,但最终使用时对象都要被放到内存中,那么你知道在内存中的java对象是由哪些部分组成、又是怎么存储的吗? 本文将基于代码进行实例测试,详细探讨对象在内存中的组成结构。全文目录结构如下: 1、对象内存结构 2022-03-22 Java #Java
Graylog 查询语句语法 编写搜索查询语法搜索语法非常接近 Lucene 语法。如果你没有指定要搜索的消息字段,那么默认情况下所有的消息字段都会被包括在搜索中。 包含词汇 ssh 的消息: 1ssh 包含词汇 ssh 或 login 的消息: 1ssh login 包含精确短语 ssh login 的消息: 1"ssh login" 字段 type 包含 ssh 的消息: 1type:ssh 2022-03-05 graylog #graylog #elastic search #es