摘要: a、装箱:将基本类型用它们对应的引用类型包装起来; b、拆箱:将包装类型转换为基本数据类型; 阅读全文
posted @ 2020-11-16 11:54 抬头就能看到阳光 阅读(46) 评论(0) 推荐(0)
摘要: a、可变性:String类中使用字符数组保存字符串,private final char value[],所以string对象是不可变的。StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字 阅读全文
posted @ 2020-11-16 11:53 抬头就能看到阳光 阅读(45) 评论(0) 推荐(0)
摘要: a、indexOf():返回指定字符的索引。b、charAt():返回指定索引处的字符。 c、replace():字符串替换。 d、trim():去除字符串两端空白。 e、split():分割字符串,返回一个分割后的字符串数组。 f、getBytes():返回字符串的 byte 类型数组。 g、le 阅读全文
posted @ 2020-11-16 11:52 抬头就能看到阳光 阅读(104) 评论(0) 推荐(0)
摘要: a、加载(注册)数据库驱动(到JVM) b、建立(获取)数据库连接。 c、创建(获取)数据库操作对象。 d、定义操作的SQL语句。e、执行数据库操作。 f、获取并操作结果集。 g、关闭对象,回收数据库资源(关闭结果集-->关闭数据库操作对象-->关闭连接) 阅读全文
posted @ 2020-11-13 22:47 抬头就能看到阳光 阅读(81) 评论(0) 推荐(0)
摘要: a、封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。 b、继承:继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的 功能,但不能选择性地继承父类。通过使用继承可以提高代码复用性。继承是多态的前提。 阅读全文
posted @ 2020-11-13 22:46 抬头就能看到阳光 阅读(44) 评论(0) 推荐(0)
摘要: == : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(基本数据类型 == 比较的是值,引用数据类型 == 比较的是内存地址) equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况: 情况1:类没有覆盖 equals() 方法。则通过 equa 阅读全文
posted @ 2020-11-13 22:45 抬头就能看到阳光 阅读(307) 评论(0) 推荐(0)
摘要: 有了上⾯对分布式锁的粗略基础,我们模拟下10w⼈抢单的场景,其实就是⼀个并发操作请求⽽已,由于环境有限,只能如此测 试;如下初始化10w个⽤⼾,并初始化库存,商品等信息,如下代码: parallelStream():并⾏流模拟多⽤⼾抢购 (startTime + timeout) >= System 阅读全文
posted @ 2020-11-12 16:14 抬头就能看到阳光 阅读(211) 评论(0) 推荐(0)
摘要: 上⾯是创建锁,同样的具有有效时间,但是我们不能完全依赖这个有效时间,场景如:有效时间设置1分钟,本⾝⽤⼾A获取锁 后,没遇到什么特殊情况正常⽣成了抢购订单后,此时其他⽤⼾应该能正常下单了才对,但是由于有个1分钟后锁才能⾃动释 放,那其他⽤⼾在这1分钟⽆法正常下单(因为锁还是A⽤⼾的),因此我们需要A 阅读全文
posted @ 2020-11-12 16:12 抬头就能看到阳光 阅读(248) 评论(0) 推荐(0)
摘要: redis的普通key⼀般都允许覆盖,A⽤⼾set某个key后,B在set相同的key时同样能成功,如果是锁场景, 那就⽆法知道到底是哪个⽤⼾set成功的;这⾥jedis的setnx⽅式为我们解决了这个问题,简单原理是:当A⽤⼾先set成功 了,那B⽤⼾set的时候就返回失败,满⾜了某个时间点只允许 阅读全文
posted @ 2020-11-12 16:11 抬头就能看到阳光 阅读(99) 评论(0) 推荐(0)
摘要: 原始⼆进制数据 boolean 64-bit date(64 位毫秒值的⽇期) 64-bit double 32-bit int 64-bit long null UTF-8 编码的 string 另外还包括 3 种递归类型: list for lists and arrays map for ma 阅读全文
posted @ 2020-11-11 16:17 抬头就能看到阳光 阅读(269) 评论(0) 推荐(0)