![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 66
左林右李02
mt实时数据平台研发
展开
-
application.yml中的配置怎么写
application.yml中的配置怎么写原创 2023-06-01 21:45:11 · 644 阅读 · 0 评论 -
利用 Docker 搭建主从服务器
docker搭建mysql主从复制原创 2023-03-26 00:26:23 · 371 阅读 · 0 评论 -
springboot基础——公共字段填充
公共字段填充原创 2023-01-07 12:52:28 · 429 阅读 · 1 评论 -
Java集合类型互转lambda表达式
常用lambda表达式原创 2022-12-16 16:45:10 · 476 阅读 · 0 评论 -
springboot如何修改返回参数类型
扩展mvc框架的消息转换器原创 2022-11-26 13:00:33 · 515 阅读 · 0 评论 -
分支污染怎么快速恢复
分支污染怎么快速恢复原创 2022-11-07 17:29:07 · 469 阅读 · 0 评论 -
代码之美:多个if...else怎么优化
多if else优化原创 2022-10-17 16:31:49 · 129 阅读 · 0 评论 -
06.Nacos体系架构:什么是服务治理?
Nacos体系架构:什么是服务治理?转载 2022-10-10 16:13:02 · 169 阅读 · 0 评论 -
05.如何搭建优惠券计算服务和用户服务?
如何搭建优惠券计算服务和用户服务?转载 2022-10-10 15:47:02 · 143 阅读 · 0 评论 -
动态代理之JDK Proxy
Java代理原创 2022-07-11 21:23:15 · 332 阅读 · 1 评论 -
promotion failed成因和解决方法
promotion failed成因和解决方法原创 2022-07-06 20:49:39 · 1762 阅读 · 0 评论 -
如何选择缓存的读写策略
缓存读写策略转载 2022-06-20 17:08:13 · 396 阅读 · 0 评论 -
thrift 0.8.0安装
thrift 0.8.0安装原创 2022-06-17 11:31:06 · 402 阅读 · 0 评论 -
RPC协议
rpc协议转载 2022-06-14 17:01:15 · 1078 阅读 · 0 评论 -
短 URL 生成器设计:百亿短 URL 怎样做到无冲突
高并发转载 2022-06-07 22:42:17 · 1125 阅读 · 1 评论 -
atomic原子操作的实现方式
java原子类解析原创 2022-06-02 18:50:37 · 137 阅读 · 0 评论 -
ClassLoader详解
Java 类加载顺序ClassLoader 的顺序Bootstrap ClassLoader加载 Java lib 底下的包Extensions ClassLoader加载 Java lib/ext 底下的包System ClassLoader加载 Java classpath 底下的包Custom ClassLoader(用户自定义ClassLoader)为什么叫双亲委派一个类加载器查找class和resource时,是通过“委托模式”进行的,它首先判断这个clas转载 2022-04-19 16:36:39 · 106 阅读 · 0 评论 -
分库分表详述
分库分表分库分表的方法垂直拆分水平拆分分库分表带来的问题分区键不同实例间join实现复杂总结分库分表的方法垂直拆分水平拆分垂直拆分垂直拆分,顾名思义就是对数据库竖着拆分,也就是将数据库的表拆分到多个不同的数据库中。垂直拆分的原则一般是按照业务类型来拆分,核心思想是专库专用,将业务耦合度比较高的表拆分到单独的库中。举个形象的例子,就是在整理衣服的时候,将羽绒服、毛衣、T恤分别放在不同的格子里。这样可以解决我在开篇提到的第三个问题:把不同的业务的数据分拆到不同的数据库节点上,这样一旦数据库发生故转载 2022-04-18 16:57:36 · 407 阅读 · 0 评论 -
DCL正确写法
双重检查创建单例对象的错误写法在Java领域一个经典的案例就是利用双重检查创建单例对象,例如下面的代码:在获取实例getInstance()的方法中,我们首先判断instance是否为空,如果为空,则锁定Singleton.class并再次检查instance是否为空,如果还为空则创建Singleton的一个实例。public class Singleton { static Singleton instance; static Singleton getInstance(){ if (原创 2022-04-12 20:33:41 · 223 阅读 · 0 评论 -
常见的sql注入及修复方式
常见代码疏漏对于mysql1.将 WHERE some_field = ‘${变量}’ 替换为 WHERE some_field = #{param}2.将 like ‘%${变量}%’ 替换为 like concat(’%’, #{变量}, ‘%’)3.将 like concat(’%’, ${变量}, ‘%’) 替换成 like concat(’%’, #{变量}, ‘%’)将 WHERE some_field IN (${变量}) 替换为WHERE `some_field` IN&l原创 2022-01-25 11:17:17 · 3108 阅读 · 0 评论 -
高并发问题汇总
1 开篇词 | 为什么你要学习高并发系统设计?2 01 | 高并发系统:它的通用设计方法是什么?3 02 | 架构分层:我们为什么一定要这么做?4 03 | 系统设计目标(一):如何提升系统性能?5 04 | 系统设计目标(二):系统怎样做到高可用?6 05 | 系统设计目标(三):如何让系统易于扩展?7 06 | 面试现场第一期:当问到组件实现原理时,面试官是在刁难你吗?8 07 | 池化技术:如何减少频繁创建数据库连接的性能损耗?9 08 | 数据库优化方案(一):查询请求增加时,如何做原创 2021-12-03 11:55:20 · 208 阅读 · 0 评论 -
虚引用的作用
虚引用的作用主要是管理堆外内存,堆外内存堆外内存=操作系统内存-jvm内存,如下图为什么要使用堆外内存?在一些场景下,使用堆外内存,可以提高效率。比如零拷贝,传统java代码在读取网络数据时,网卡读取到的数据会先给存放到操作系统内存,然后操作系统将数据拷贝一份给jvm,这个效率非常低当使用堆外内存时,就可以省略一次拷贝。怎么使用堆外内存?DirectByteBuffer、虚引用...原创 2021-08-08 12:30:21 · 683 阅读 · 0 评论 -
对象内存结构分析
对象内存结构分析空object对象占用几个字节怎样打印出对象在内存中的布局对象在内存中的布局空object对象占用几个字节64位操作系统中,空的object对象占用两个字节(16位),其中8位为markword,4位为class pointer(类型指针),其中:8位存放markword4位存放class pointer(类型指针)(在64位操作系统中,一个指针的大小为64位,原本是8字节,但是jvm默认开启class指针压缩(参数为-XX:+UseCompressedClassPointers)转载 2021-07-11 17:22:33 · 153 阅读 · 1 评论 -
jvm内存分区、垃圾回收算法和垃圾回收器
jvm垃圾回收算法&垃圾回收器代垃圾收集器特点jvm默认的垃圾回收器几种比较推荐的垃圾回收器组合代垃圾收集器特点所有新生代垃圾收集器,都使用复制算法,都会发生stop-the-world。由于绝大多数对象的生命周期通常比较短,在新生代被回收的可能性很大,新生代的垃圾回收通常可以回收大部分对象,因此采用复制算法效率更高。parnew和parallel scavenge区别ParNew 与 Parallel Scavenge的一个主要区别是,ParNew可以与CMS进行搭配使用。“ParNe原创 2021-03-22 00:01:46 · 112 阅读 · 1 评论 -
jdbc executeBatch返回值含义
executeBatch方法会返回一个int数组int[] executeBatch() throws SQLException;数组各值可能是以下之一:大于或等于零的数字,表示命令已成功处理,并且是更新计数,给出了数据库中受命令影响的行数执行SUCCESS_NO_INFO ( -2)的值,表示命令为处理成功,但受影响的行数为未知如果批量更新中的命令之一无法正确执行,此方法引发BatchUpdateException,JDBC driver可能会也可能不会继续处理剩余的命令。但是drive原创 2020-12-06 14:24:54 · 3633 阅读 · 1 评论 -
HashMap put源码分析
/** * Implements Map.put and related methods * * @param hash hash for key * @param key the key * @param value the value to put * @param onlyIfAbsent if true, don't change existing value * @param evict if false, the tab...原创 2020-11-16 21:51:27 · 149 阅读 · 1 评论 -
Java 字符串和时间戳相互转换
日期格式字符串转换成时间戳/** * 日期格式字符串转换成时间戳 * @param date 字符串日期 * @param format 如:yyyy-MM-dd HH:mm:ss * @return */ public static String date2TimeStamp(String date_str,String format){ try { SimpleDateFormat sdf = new SimpleDateFormat(format);.原创 2020-07-30 14:09:12 · 939 阅读 · 0 评论 -
基于反射实现jdbc orm操作
实现自己的ORM框架本文将介绍简单的ORM框架的实现过程。为了能够顺利的读懂本文,你需要有JDBC、注解和反射的基础知识。先看看效果,一条语句实现插入和更新操作。// 创建SimpleDbPipe对象SimpleDbPipe<Student> dbPipe = new SimpleDbPipe<Student>();// 创建一个带插入数据库中的对象Stude...转载 2020-01-06 13:59:23 · 171 阅读 · 1 评论