本文通过探析JDK提供的,在开源项目中比较常用的Java SPI机制,希望给大家在实际开发实践、学习开源项目提供参考。
1 SPI是什么
SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来...
water
5年前 (2020-04-09) 1934℃ 0评论
0喜欢
JAVA Launcher简析
sun.misc.Launcher类是java的入口,在启动java应用的时候会首先创建Launcher类,创建Launcher类的时候回准备应用程序运行中需要的类加载器。
一、ClassLoader
Launcher作为JAVA应用的入口...
water
5年前 (2020-04-09) 2684℃ 0评论
2喜欢
@AliasFor是一个注解,用于为注解属性声明别名。
代码如下:它有两个属性value和attribute @AliasFor注解注释了
自身,并且value和attribute互为别名。
@Retention(RetentionPolicy.RUNTIME)
@Tar...
water
5年前 (2020-04-07) 2477℃ 0评论
0喜欢
首先,我们讲讲一般常用的“==”和“equals()”;
“==”运算符用来比较两个变量的值是否相等。也就是说,该运算符用于比较变量对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能使用“==”运算符。
具体而言,如果两个变量是基...
water
5年前 (2020-04-07) 2418℃ 0评论
2喜欢
{
“source”: {
“remote”: {
“host”: “http://10.58.197.33:9800”
},
...
water
5年前 (2020-01-03) 1965℃ 0评论
0喜欢
以前一直用eclipse,最近改用idea.记录下idea的远程调试。
一.启动服务
1.配置tomcat 启动参数增加
12-Xdebug-Xnoagent -Djava.compiler=NONE -Xrunjdwp:transpo...
water
5年前 (2020-01-03) 1980℃ 0评论
0喜欢
主要是两个文件
1.# Fix for security permission error
cat /home/elasticsearch/.java.policy
grant {
permission java.lang.reflect.ReflectPermiss...
water
5年前 (2020-01-03) 5996℃ 0评论
8喜欢
原创山鬼谣me 发布于2017-03-18 22:40:51 阅读数 5536 收藏展开
环境
系统:centos7 elasticsearch:5.2.2
安装步骤
es配置文件里面需要增加:...
water
5年前 (2019-12-13) 2106℃ 0评论
0喜欢
git log –since==2019-01-01 –until==2019-12-31 –format=’%aN’ | sort -u | while read name; do echo -en “$...
water
5年前 (2019-12-12) 1854℃ 0评论
0喜欢
这段代码叫“扰动函数”。题主贴的是Java 7的HashMap的源码,Java 8中这步已经简化了,只做一次16位右位移异或混合,而不是四次,但原理是不变的。下面以Java 8的源码为例解释,
//Java 8中的散列值优化函数
static final int ha...
water
5年前 (2019-12-05) 1961℃ 0评论
0喜欢
Eric Steven Raymond 是开放源代码运动的主要理论家,这两天终于读完了代表性的5篇文章,获益良多,小结一下。
《黑客道简史》(A Brief History of Hackerdom) 1996本文记载了不为人知的黑客早期历史(主要是1983年以前)。在《...
water
6年前 (2019-07-24) 2777℃ 0评论
0喜欢
当程序员们谈论各类编程语言的相对优势时,他们通常会采用相当平淡的措词,就好像这些语言是一条工具带上的各种工具似的 —— 有适合写操作系统的,也有适合把其它程序黏在一起来完成特殊工作的。这种讨论方式非常合理;不同语言的能力不同。不声明特定用途就声称某门语言比其他语言更优秀只能导致侮...
water
6年前 (2019-07-23) 1921℃ 0评论
0喜欢
来源
http://blog.csdn.net/qw599186875/article/details/52265995?ticket=ST-213719-sl0mP1mtz9GcbY44tTbE-passport.csdn.net
java 1.6 帮助文档
中文
链接:htt...
water
6年前 (2019-06-21) 5480℃ 0评论
10喜欢
PermGen is an abbreviation for Permanent Generation and it’s a special heap space which is separate from the main Java heap where JVM keeps ...
water
6年前 (2019-06-18) 2008℃ 0评论
1喜欢
问题描述
在工作过程中,遇到一个问题:Tomcat在重启或者发布的时候,会有多次的full GC。
笔者使用的版本说明:
Tomcat7.0.25
JDK8
首先排查JVM的问题,就要把GC日志打开
-XX:+PrintGC -XX:+PrintGCDetails -XX:+Pr...
water
6年前 (2019-06-18) 3110℃ 0评论
1喜欢
前言:
由于最近写的程序在运行一段时间后出现高cpu,然后不可用故进而进行排查,最终定位到由于metaspace引起fullgc,不断的fullgc又占用大量cpu导致程序最终不可用。下面就是这次过程的分析排查和总结,便于以后温故,同时也希望能给遇到同样问题的同学一些参考。
一 ...
water
6年前 (2019-06-18) 2258℃ 0评论
0喜欢
1 标准参数
标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;
通过命令 java即可查看
如下
where options include:
-d32 use a 32-bit data model if available
-d64 ...
water
6年前 (2019-06-18) 2556℃ 0评论
1喜欢
一、线程5种状态
新建状态(New) 新创建了一个线程对象。
就绪状态(Runnable) 线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。
运行状态(Running) 就绪状态的线程获取了CPU,执行...
water
6年前 (2019-06-18) 1820℃ 0评论
0喜欢
为解决CMS算法产生空间碎片和其它一系列的问题缺陷,HotSpot提供了另外一种垃圾回收策略,G1(Garbage First)算法,通过参数-XX:+UseG1GC来启用,该算法在JDK 7u4版本被正式推出,官网对此描述如下:
The Garbage-First (G1) c...
water
6年前 (2019-06-05) 1659℃ 0评论
0喜欢
1.查看分区
hive> show partitions table_name;
2.extended查看表/分区最新更新时间< transient_lastDdlTime : unix时间戳>
hive> desc extended table_n...
water
6年前 (2019-04-11) 8475℃ 0评论
6喜欢