Redis应用-分布式锁Redis应用-异步消息队列与延时队列Redis应用-位图Redis应用-HyperLogLogRedis应用-布隆过滤器Redis应用-限流Redis应用-Geo
如果你要统计网站的PV,你可以使用Redis计数器就好了,每来一个请求,调用一次i...
water
5年前 (2020-04-24) 2048℃ 0评论
0喜欢
init和clinit区别
①init和clinit方法执行时机不同
init是对象构造器方法,也就是说在程序执行 new 一个对象调用该对象类的 constructor 方法时才会执行init方法,而clinit是类构造器方法,也就是在jvm进行类加载—–验证—-...
water
5年前 (2020-04-22) 1735℃ 0评论
0喜欢
很早就想把JavaGuide的书单更新一下了,昨晚加今天早上花了几个时间对之前的书单进行了分类和补充完善。虽是终极版,但一定还有很多不错的 Java 书籍我没有添加进去,会继续完善下去。希望这篇文章对你有帮助,不要再无书可看。
欢迎在留言区补充你觉得不错的 Java 方向...
water
5年前 (2020-04-21) 1661℃ 0评论
0喜欢
Java 8在Lambda表达式、接口默认方式、新的日期API等方面引入的新特性广受关注,同时在并发编程方面也做出了大量改进。以往的几个Java版本都对java.util.concurrent做了不同程度的增强,比如Java 7的Fork/Join框架,而Java 8则进一步在...
water
5年前 (2020-04-21) 1846℃ 0评论
0喜欢
以前一直觉得有这个问题存在但也没有深究,今天来彻底探讨一下二者之间的关系
预备知识
首先是关于return返回的底层知识
java方法是在栈幀中执行,栈幀是线程私有栈的单位,执行方法的线程会为每一个方法分配一小块栈空间来作为该方法执行时的内存空间,栈幀...
water
5年前 (2020-04-20) 1521℃ 0评论
0喜欢
这里简单对其重复的方法做点简单的区分。
offer,add区别:
一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。
这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只...
water
5年前 (2020-04-17) 1695℃ 0评论
0喜欢
目的
集中jdk常用包,以方便记住jdk的常用功能及常用类,开发的时候,找jdk的API也会更加方便,
也是对jdk包的说明
常用包
第一层
java、javax、org、sun包都是jdk提供的类包,且都是在rt.jar中。rt.ja...
water
5年前 (2020-04-15) 2844℃ 0评论
2喜欢
一直以来,非常鄙视,成功学、教你怎么谈恋爱、厚黑学类的书籍。会教你怎么走一些捷径,总以为读这些书籍,会让自己失去纯真,失去本性。
最近看了《早起的奇迹》、《微习惯》,想法有些改变。发现不同类型书籍,有不同的营养。以前只会看
一些世界名著,哈哈。会有一些快餐类的书籍,名著可...
water
5年前 (2020-04-13) 1922℃ 0评论
6喜欢
话说有一天,产品经理突然找到正在摸鱼的你。
产品:『我们要加一个聚合搜索功能,当用户在我们网站查询一件商品时,我们分别从 A、B、C 三个网站上查询这个信息,然后再把得到的结果返回给用户』
你:『哦,就是写个爬虫,从 3 个网站上抓取数据是吧?』
产品:『呸,爬虫是犯法的...
water
5年前 (2020-04-10) 1936℃ 0评论
0喜欢
背景:近期由于跨机房数据同步问题,准备调研使用redis替换memcache,在调研过程中发现棘手的问题,原有的memcache提供大量批量获取操作(mget)操作,程序最大支持同时获取2000个。而redis最新的3.x版本引入了cluster模式,而也正是因为引入了clus...
water
5年前 (2020-04-10) 2929℃ 0评论
0喜欢
前言
什么是安全?
程序不能恶意破坏用户计算机的环境,比如特洛伊木马等可自我进行复制的恶意程序。程序不可获取主机及其所在网络的私密信息。程序的提供者和使用者的身份需要通过特殊验证。程序所涉及的数据在传输、持久化后都应是被加密的。程序的操作有相关规则限制,并且不能耗费...
water
5年前 (2020-04-10) 1826℃ 0评论
1喜欢
—- 众所周知,Java语言具有完善的安全框架,从编程语言,编译器、解释程序到Java虚拟机,都能确保Java系统不被无效的代码或敌对的编译器暗中破坏,基本上,它们保证了Java代码按预定的规则运作。但是,当我们需要逾越这些限制时,例如,读写文件,监听和读写So...
water
5年前 (2020-04-10) 1643℃ 0评论
0喜欢
一、java提供了三种ClassLoader对Class进行加载:
1.BootStrap ClassLoader:称为启动类加载器,是Java类加载层次中最顶层的类加载器,负责加载JDK中的核心类库,如:rt.jar、resources.jar、charsets.jar...
water
5年前 (2020-04-10) 1764℃ 0评论
0喜欢
本文通过探析JDK提供的,在开源项目中比较常用的Java SPI机制,希望给大家在实际开发实践、学习开源项目提供参考。
1 SPI是什么
SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来...
water
5年前 (2020-04-09) 1848℃ 0评论
0喜欢
JAVA Launcher简析
sun.misc.Launcher类是java的入口,在启动java应用的时候会首先创建Launcher类,创建Launcher类的时候回准备应用程序运行中需要的类加载器。
一、ClassLoader
Launcher作为JAVA应用的入口...
water
5年前 (2020-04-09) 2613℃ 0评论
2喜欢
@AliasFor是一个注解,用于为注解属性声明别名。
代码如下:它有两个属性value和attribute @AliasFor注解注释了
自身,并且value和attribute互为别名。
@Retention(RetentionPolicy.RUNTIME)
@Tar...
water
5年前 (2020-04-07) 2402℃ 0评论
0喜欢
首先,我们讲讲一般常用的“==”和“equals()”;
“==”运算符用来比较两个变量的值是否相等。也就是说,该运算符用于比较变量对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能使用“==”运算符。
具体而言,如果两个变量是基...
water
5年前 (2020-04-07) 2338℃ 0评论
2喜欢