jjzjj

JVM面试题:宝哥面试题分享(26)

JVM面试题001JDK、JRE、JVM关系?JDK(JavaDevelopmentKit):java语言的软件开发包。包括Java运行时环境JRE。JRE(JavaRuntimeEnvironment):Java运行时环境,包括JVM。JVM(JavaVirtualMachine):一种用于计算机设备的规范。Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。002什么是类加载器,类加载器有哪些?实现通过类的权限定名获取该类的二进制

Guava缓存(一)基础

1.概述1.1简介Guava缓存,谷歌开源的一种本地缓存,使用本节点的内存来存储的,实现原理类似于ConcurrentHashMap,使用多个segments方式的细粒度锁,在保证线程安全的同时,支持高并发场景需求,同时支持多种类型的缓存清理策略,包括基于容量的清理、基于时间的清理、基于引用的清理等。1.2本地缓存&分布式缓存本地缓存:指的是在应用中的缓存组件,其最大的优点是应用和cache在同一个进程内部,请求缓存非常快速,没有过多的网络开销等,在单应用不需要集群支持或者集群情况下各节点无需互相通知的场景下使用本地缓存较为合适;同时,它的缺点也是因为缓存跟应用程序耦合,多个应用程序无法直接共

elasticsearch(es) 如何查看当前集群中哪个节点是主节点(master)

elasticsearch查看当前集群中的master节点是哪个需要使用_cat监控命令,具体如下。查看方法es主节点确定命令,以kibana上查看示例如下:GET_cat/nodesv返回结果示例如下:ipheap.percentram.percentcpuload_1mload_5mload_15mnode.rolemastername172.16.16.188529952.591.701.45mdi-elastic3172.16.16.187329950.990.991.19mdi-elastic2172.16.16.231699940.871.001.03mdi-elastic4172

Fastjson反序列化漏洞

一、fastjson简介fastjson是java的一个库,可以将java对象转化为json格式的字符串,也可以将json格式的字符串转化为java对象提供了toJSONString()和parseObject()方法来将Java对象与JSON相互转换。调用toJSONString方法即可将对象转换成JSON字符串,parseObject方法则反过来将JSON字符串转换成对象。二、fastjson反序列化漏洞原理在反序列化的时候,会进入parseField方法,进入该方法后,就会调用setValue(object,value)方法,在这里,会执行构造的恶意代码,最后造成代码执行。那么通过以上步

JAVA输入语句与循环控制结构------JAVA入门基础教程

importjava.util.Scanner;classLogicExer{   staticScannerin=newScanner(System.in);   publicstaticvoidmain(Stringargs[])   {      inta;      intb;      a=b=20;      booleanbo1=(++a%3==0)&&(a++%7==0);      System.out.println(a+"+"+bo1);      booleanbo2=(b++%3==0)&&(++b%7==0);      System.out.println(b+"

【Java基础教程】初识Java

作者简介:辭七七,目前大一,正在学习C/C++,Java,Python等作者主页:七七的个人主页**文章收录专栏:Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用,数组的使用,类和对象,继承和多态,抽象类和接口等内容欢迎大家点赞👍收藏⭐加关注哦!💖💖初始Java1.Java的main方法1.1main方法示例1.2运行Java程序2.注释2.1基本规则2.2注释规范3.标识符4.关键字1.Java的main方法1.1main方法示例publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println

两万字《Java完全自学手册》15张导图,送给所有的零基础小白(建议收藏)

领取福利15张学习路线导图3G学习资料10G计算机书籍哈喽,大家好,我是一条~Java学习如逆水行舟,不进则退。一条一路自学过来,踩过很多坑,吃过很多苦。现在回想起来,当初要是能有一个完整的学习路线让我按图索骥就好了。思来想去,决定总结一份学习路线来帮助正在路上或者准备出发的Java新手。完整路线该路线图右侧为主路线,需循序渐进,步步为营;左侧为辅助路线,需贯穿始终,熟练掌握。建议做好时间规划,不断的提高自己的学习效率,学习过程中尽量把手机调至静音给自己一个安静的学习环境和氛围。同时,巧妇难为无米之炊,一条学习新知识的一般方法为先看视频学基础,再看书学原理,最后看博客查缺补漏,沉淀消化。最后,

StringBuffer(史上最详细)

StringBuffer是String的增强类文章目录StringBuffer是String的增强类添加删除替换插入长度StringBuffer练习题欢迎评论一起学习,如果觉得本文章对你有帮助,一键三连支持一下1.StringBuffer的直接父类是AbstractStringBuilder2.StringBuffer实现了Serializable即StringBuffer的对象可以串行化3.在父类中AbstractStringBuilder有属性char[]value,不是final在该value数组存放字符串内容,引出存放在堆中的4.StringBuffer是一个final类不能被继承5.

java 调试 - 观察超出范围的变量

在调试C/C++应用程序时,我可以创建一个地址表来监视转换为指针类型的地址,然后查看结构的内容,即使它超出范围也是如此。有没有可能在Java中实现类似的东西?假设我在一个方法中,我向“&this”之类的东西添加了一个监视,然后当我离开类方法时,我仍然可以看到它的内容,即使它超出了范围?我很确定我的问题的答案是“否”,所以我最感兴趣的是“为什么不呢?”解释。这是JVM限制吗?JPDA限制?有没有更好的地方可以问这样一个专业的问题? 最佳答案 在C/C++中,您正在观察(指向的区域)任意指针,并将其转换为该变量。在Java中没有指针。您

java - 峰值内存使用不超过限制

我看到使用-Xmx2g时,峰值内存达到1G并执行主要收集(marksweep收集器)。使用-Xmx3g时,它达到1.5G并进行主要收集。使用-Xmg4g,它达到2G并进行主要收集。但是,从这里我尝试将最大内存增加到6G、8G、12G,并且每次峰值内存达到2G时都会进行主要收集。如何让它超越2G使用?我没有遇到任何设置。-Xms在这里重要吗?对于那些-Xmx,我将-Xms设为-Xmx的一半。我正在使用Jetty,Java1.6.024。更新:是的,我使用的是64位JVM。我使用的JVM选项是:-Xmx6g-Xms3g-XX:MaxPermSize=256m我确定峰值内存的方法是查看JCo