Java
文章平均质量分 81
取名还要想半天
这个作者很懒,什么都没留下…
展开
-
并发数据问题之分布式锁
并发数据问题之分布式锁架构不是凭空设计出来的,是长出来的什么是分布式锁分布式锁听起来很高大上,其实等你实际用的时候你会发现也还好,redis实现分布式锁的核心就是setnx指令;场景示例之前做过一个微信社群运营的项目,这个项目可以很好的诠释为啥我们会用分布式锁,大家有兴趣可以看看这个:企业微信关于后台调用token说明:https://developer.work.weixin.qq.com/document/path/91039使用分布式锁的前提:分布式使用同一个标识调用标识是变化的,原创 2022-05-06 11:00:26 · 337 阅读 · 0 评论 -
并发数据问题之幂等设计
并发数据问题技术是解决问题慢慢出现的,不是凭空设计的。幂等定义:接口的幂等性实际上就是接口可重复调用,在调用方多次调用的情况下,接口最终得到的结果是一致的 ;幂等的实现:数据库UK天然实现,插入时考虑同一个uk时的告警处理,更新时可以使用数据库乐观锁,加version;redis实现,指令setnx;模型示例:正常创单模型用户创单生成订单落库,此时订单状态位待支付用户支付成功,更改订单状态已支付,履约接单物理域操作拣货-代发货,出库-已发货,货到达快递点-待收货用户收获,交原创 2022-03-12 21:32:42 · 1289 阅读 · 0 评论 -
浅谈代码细节
代码命名的个人总结,for循环高效,策略模式示意原创 2022-01-15 15:34:12 · 205 阅读 · 0 评论 -
让人又爱又恨的JVM
JVM内存1.方法区 – 存放字节码文件2.程序计数器-- 记录字节码文件执行到那个位置3.Java虚拟机栈 – 程序方法压栈出栈 方法中的局部变量4.Java堆内存 – 方法执行中创建的对象存储5.常量池 – static修饰的一般常量存储空间 图示未体现6.内存其他区域 本地方法栈 native修饰的一些变量新生代老年代新生代:创建和使用完后的对象立马放的区域 注意:刚开始创建的对象大部分优先分配在新生代;什么时间变为老年代?老年代:创建后需要长期使用的原创 2021-10-17 13:21:43 · 198 阅读 · 0 评论 -
挂羊头卖狗肉--代理的二三事
反射提到反射就不得不说类加载的过程,在Java代码运行的过程中,并不是只有new对象一种方式;类加载类加载的过程作用:将.class文件加载到虚拟机中的过程;类加载的时机:创建类的实例(对象)调用类的类方法访问类或者接口的类变量,或者为该类变量赋值使用反射方式来强制创建某个类或接口对应的java.lang.Class对象初始化某个类的子类直接使用java.exe命令来运行某个主类过程:如图示从左到右,以及每步做的工作;类加载器的分类我们也可以进行继承加载器,建立自己的类原创 2021-07-28 08:59:37 · 70 阅读 · 0 评论 -
泛型-注解-枚举的小小用法
泛型泛型好处把运行时期的问题提前到了编译期间,可以在开发时发现,写不是要求的泛型,会报错避免了强制类型转换返参通用性泛型类package fanxing;public class ClassFanXing<T> { private T t; private String name; private Integer age; public T getT() { return t; } public void s原创 2021-07-09 09:12:10 · 89 阅读 · 0 评论 -
redis入门+springboot整合
redis入门应用为何用redis传统的MySQL在查询走的是磁盘IO,耗时较长,在高并发的情况下,性能很容易出问题;redis是一个基于内存设计的非关系型数据库,数据之间没有关系,查询速度非常快,对海量用户处理非常高效;redis介绍Redis(Remote Dictionary Server)是用 C 语言开发的一个开源的基于内存的高性能键值对(key-value)缓存和存储系统。特点高性能。内存存储,不走磁盘IO,在大数据量下也可以高性能运行。官方提供测试数据,50个并发执行1000原创 2021-05-05 19:49:35 · 780 阅读 · 0 评论 -
springboot整合dubbo项目
springboot项目整合dubbo前置环境准备1.ZooKeeper客户端安装完毕并启动;2.dubbo客户端可视化工具准备完成;api创建(共用服务接口)创建api项目,项目目录如下pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XML原创 2021-03-29 23:57:59 · 411 阅读 · 1 评论 -
MySQL入门
MySQL指令总结基础指令指令分类DDL(Data Definition Language) :数据定义语言。用来操作数据库,表,列等。DML(Data Manipulation Language) :数据操作语言。用来对数据库中表的记录(数据)进行增删改。DQL(Data Query Language) :数据查询语言。用来查询数据库中表的记录(数据)。相对来说,查询在工作中最常用;DDL(操作库表列)库相关-- 操作库SHOW DATABASES; -- 查询所有数据库SHOW C原创 2021-03-28 20:02:43 · 275 阅读 · 1 评论 -
手动搭建springboot项目
手动搭建springboot项目maven项目手动改造为springboot项目新建maven项目pom文件引入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ht原创 2021-03-16 13:24:33 · 442 阅读 · 0 评论