前言
对一个java后台开发者而言,提到缓存,第一反应就是redis和memcache。利用这类缓存足以解决大多数的性能问题了,并且java针对这两者也都有非常成熟的api可供使用。但是我们也要知道,这两种都属于remote cache(分布式缓存),应用的进程和缓存的进...
water
4年前 (2020-10-14) 3093℃ 0评论
0喜欢
今天去服务器后台看日志,发现有很多NullPointerException异常。我下意识的去找异常栈信息,想看下到底是哪行代码导致了空指针。但是发现日志中只打印出了如下日志:
Copynull
java.lang.NullPointerException: null
...
water
4年前 (2020-10-13) 2591℃ 0评论
1喜欢
初学者很容易看错,如果没有看到spring或者JUC源码的人肯定是不太了解的。
ThreadPoolTaskExecutor是spring core包中的,而ThreadPoolExecutor是JDK中的JUC。ThreadPoolTaskExecutor是对Threa...
water
4年前 (2020-10-10) 2141℃ 0评论
1喜欢
一、堆外内存组成
通常JVM的参数我们会配置
-Xms 堆初始内存 -Xmx 堆最大内存 -XX:+UseG1GC/CMS 垃圾回收器 -XX:+DisableExplicitGC 禁止显示GC -XX:MaxDi...
water
4年前 (2020-09-25) 3024℃ 0评论
3喜欢
采用IDEA的插件执行PB的文件的JAVA编译,这样的话,就不用执行命令了,同时可以编译多个PB文件。
第一步:安装插件
安装 protocol buffer editor
第二步:配置pom文件注意版本,保证jar包的引入
<depend...
water
4年前 (2020-07-15) 2508℃ 0评论
1喜欢
点击图片支持看大图
转载请注明:学时网 » java Queue相关思维导图...
water
5年前 (2020-06-15) 1970℃ 0评论
2喜欢
图片看不清,请点击图片查看原图,支持图片放大
包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)
java.util包源码思维导图
转载请注明:学时网 &...
water
5年前 (2020-06-11) 2571℃ 0评论
0喜欢
jdk源码包思维导图
转载请注明:学时网 » java源码包概括思维导图...
water
5年前 (2020-06-08) 1954℃ 0评论
1喜欢
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) 1662℃ 0评论
0喜欢
Java 8在Lambda表达式、接口默认方式、新的日期API等方面引入的新特性广受关注,同时在并发编程方面也做出了大量改进。以往的几个Java版本都对java.util.concurrent做了不同程度的增强,比如Java 7的Fork/Join框架,而Java 8则进一步在...
water
5年前 (2020-04-21) 1847℃ 0评论
0喜欢
以前一直觉得有这个问题存在但也没有深究,今天来彻底探讨一下二者之间的关系
预备知识
首先是关于return返回的底层知识
java方法是在栈幀中执行,栈幀是线程私有栈的单位,执行方法的线程会为每一个方法分配一小块栈空间来作为该方法执行时的内存空间,栈幀...
water
5年前 (2020-04-20) 1522℃ 0评论
0喜欢
这里简单对其重复的方法做点简单的区分。
offer,add区别:
一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。
这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只...
water
5年前 (2020-04-17) 1696℃ 0评论
0喜欢
目的
集中jdk常用包,以方便记住jdk的常用功能及常用类,开发的时候,找jdk的API也会更加方便,
也是对jdk包的说明
常用包
第一层
java、javax、org、sun包都是jdk提供的类包,且都是在rt.jar中。rt.ja...
water
5年前 (2020-04-15) 2844℃ 0评论
2喜欢
话说有一天,产品经理突然找到正在摸鱼的你。
产品:『我们要加一个聚合搜索功能,当用户在我们网站查询一件商品时,我们分别从 A、B、C 三个网站上查询这个信息,然后再把得到的结果返回给用户』
你:『哦,就是写个爬虫,从 3 个网站上抓取数据是吧?』
产品:『呸,爬虫是犯法的...
water
5年前 (2020-04-10) 1936℃ 0评论
0喜欢
前言
什么是安全?
程序不能恶意破坏用户计算机的环境,比如特洛伊木马等可自我进行复制的恶意程序。程序不可获取主机及其所在网络的私密信息。程序的提供者和使用者的身份需要通过特殊验证。程序所涉及的数据在传输、持久化后都应是被加密的。程序的操作有相关规则限制,并且不能耗费...
water
5年前 (2020-04-10) 1826℃ 0评论
1喜欢
—- 众所周知,Java语言具有完善的安全框架,从编程语言,编译器、解释程序到Java虚拟机,都能确保Java系统不被无效的代码或敌对的编译器暗中破坏,基本上,它们保证了Java代码按预定的规则运作。但是,当我们需要逾越这些限制时,例如,读写文件,监听和读写So...
water
5年前 (2020-04-10) 1644℃ 0评论
0喜欢
一、java提供了三种ClassLoader对Class进行加载:
1.BootStrap ClassLoader:称为启动类加载器,是Java类加载层次中最顶层的类加载器,负责加载JDK中的核心类库,如:rt.jar、resources.jar、charsets.jar...
water
5年前 (2020-04-10) 1765℃ 0评论
0喜欢
本文通过探析JDK提供的,在开源项目中比较常用的Java SPI机制,希望给大家在实际开发实践、学习开源项目提供参考。
1 SPI是什么
SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来...
water
5年前 (2020-04-09) 1849℃ 0评论
0喜欢
JAVA Launcher简析
sun.misc.Launcher类是java的入口,在启动java应用的时候会首先创建Launcher类,创建Launcher类的时候回准备应用程序运行中需要的类加载器。
一、ClassLoader
Launcher作为JAVA应用的入口...
water
5年前 (2020-04-09) 2613℃ 0评论
2喜欢