
java
猫老壳
这个作者很懒,什么都没留下…
展开
-
秒杀系统中常见问题及解决方案
秒杀中的常见问题的解决1)解决超卖的问题1)Redis预减库存,有一个下单请求过来时预减库存,若减完后的redis库存小于0说明已经卖完,此时直接返回客户端已经卖完。后续使用内存标记,减少Redis访问。若预减库存成功,则异步下单,请求入队列,返回客户端排队中。2)数据库层面防止超卖:Redis预减库存只是抢到了这个机会,真正是否购买成功还是要等到所有数据库操作的真正成功,即消息队列的消费端是否消费成功。数据库层面,秒杀的订单表设置唯一索引,防止重复下单。数据库层面,减库存的时候同时判断此时库原创 2020-08-02 16:13:20 · 6579 阅读 · 0 评论 -
Java并发编程知识点总结
文章目录2 并发编程2.1 线程2.1.1 线程的几种状态有哪些方法可以保证线程安全?2.2 创建多线程的几种方式2.3 并发机制底层实现2.3.1 synchronized关键字2.3.2 synchronized与Lock的区别联系2.3.3 volatile关键字2.3.4 atomic包和CAS原理及问题2.4 Java并发容器2.4.1 List集合的线程安全2.4.2 Set集合类的线程安全2.4.3 Map的线程安全2.4.4 CountDownLatch(倒计数)2.4.5 CyclicB原创 2020-07-31 10:54:16 · 715 阅读 · 0 评论 -
Torch、Java、Milvus快速搭建以图搜图系统
Torch、Java、Milvus快速搭建以图搜图系统1 原理概述以图搜图大致原理(口水话版)以图搜图,即通过一张图片去匹配数据库中的图片,找到最相似的N张图。在我们普通的搜索系统中,文字匹配的搜索单纯的MySQL数据库就能实现简单的搜索,但是图片就存在很多难点。1、首先要解决的是图片怎么表达的问题,肯定不会是每个像素点去匹配,而是对图像提取特征。在传统的数字图像处理中,图像的特征有很多:颜色特征、纹理特征、关键点特征、几何特征,可以将具有代表性的特征提取处理归一化后形成一个多维向量去表示图片。在深原创 2020-07-04 10:55:04 · 4810 阅读 · 2 评论 -
Java虚拟机JVM总结(笔记)
文章目录1 JVM相关1.1 JVM内存结构1.2 Java内存模型(JMM)1.3 JVM垃圾回收算法1.3.1 哪些内存需要垃圾回收1.3.2 判断对象存活算法1.3.3 GC root对象1.3.4 finalize方法1.3.5 垃圾回收算法1.3.6 何时晋升到老年代1.3.7 Minor GC和Full GC触发条件1.3.8 safe point(安全点)1.4 垃圾回收器1.4.1 Serial垃圾收集器1.4.2 ParNew收集器1.4.3 Parallel Scavenge收集器1原创 2020-06-05 13:50:12 · 535 阅读 · 0 评论 -
深拷贝与浅拷贝
通俗理解就是:在对象拷贝过程中,浅拷贝不会新创建一个对象而只拷贝对象的引用,深拷贝会新创建一个对象。假设有一个User类,一个Child类。其中User类中有Child类型的成员变量。public class User implements Cloneable{ public int age; public String name; public Child child...原创 2019-12-03 15:07:29 · 106 阅读 · 0 评论 -
Lambda表达式与匿名内部类
lambda的无参形式public class Test2{ public static void main(String[] args) { //匿名内部类形式创建线程 new Thread(new Runnable(){ @Override public void run() { System.out.printl...原创 2019-12-03 10:43:17 · 671 阅读 · 0 评论 -
String类详解
一 String的创建七大数据类型中是没有String类型的!String是一个类,那么类的创建正常是需要构造函数创建,如使用new方法。String类的创建有三种方法:String s = "abc";String s = new String(); //可传参,String的构造函数非常多String s = "abc"+"efg";1) String s = "abc"方式创建...原创 2019-11-29 11:16:10 · 186 阅读 · 0 评论 -
Integer类详解
问题一:一直很好奇一件事,类似于Integer i = 15; String s = “aa”;之类的代码是怎么实现的?Integer和String是一个类,i,s是对应的对象,对象的创建需要new出来(不讨论反射),但是上面的对象怎么创建的?于是去找Integer的构造函数,在第849行找到了。。。(构造函数不都放在前面么),如下:private final int value;p...原创 2019-11-28 17:07:16 · 803 阅读 · 0 评论 -
当finally和return并存时的执行情况
public class tryDemo { public static int show() { int result = 0; try { return result; } finally { System.out.println("执行finally模块"); re...原创 2019-11-28 09:42:14 · 144 阅读 · 0 评论 -
java String总结
对http://c.biancheng.net/java/40/阅读后简单总结。1、String与int相互转换1.1 String转int有以下两种方式:Integer.parseInt(str)Integer.valueOf(str).intValue()在 String 转换 int 时,String 的值一定是整数,否则会报数字转换异常(java.lang.NumberForma...原创 2019-11-19 13:37:43 · 275 阅读 · 0 评论 -
CSS(1)基本知识
1、CSS的使用方式: 1、内联样式:不推荐使用 2、内部样式: 在head标签内定义style标签,style标签体内容就是css代码。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>css</...原创 2019-11-13 19:05:17 · 134 阅读 · 0 评论 -
java中正则表达式
1、正则表达式基本语法.(点):匹配所有单个字符,除换行符。\s :匹配空格(是 [ \t\n\x0b\r\f] 的简写)\S :匹配一个非空格\w:匹配一个单词字符(字母数字下划线)\W :匹配一个非单词字符\d :匹配一个数字字符\D :匹配一个非数字字符[] :复选集。[abc]表示匹配a或b或c;[abc][efg]表示匹配a或b或c,并且后面紧跟e或f或g[^ ]:表...原创 2019-11-05 16:15:02 · 249 阅读 · 0 评论