![](https://img-blog.csdnimg.cn/20210503170026685.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 61
javaee
喜欢前端的后端MelodyJerry
喜欢前端的全栈攻城狮的MelodyJerry,奋斗在全栈路上
【个人三大博客汇总】:
https://www.cnblogs.com/melodyjerry/p/13305991.html
展开
-
面试回答,JVM内存模型/内存空间:运行时数据区
发布于个人公众号,打开微信,搜索MelodyJerry即可本文由作者原文 [JVM|内存模型] Java虚拟机的内存模型?也就这7个而已 修改而来,可点击左下角阅读原文。JVM内存模型/内存空间Java虚拟机JVM运行起来,就会给内存划分空间,这块空间成为运行时数据区。运行时数据区主要划分为以下 6个 :① 程序计数器 (Program Counter Register)一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器线程私有的内存值得注意的是:《Java虚拟机.原创 2021-08-29 15:28:51 · 7798 阅读 · 3 评论 -
正则表达式regex(入门使用)
文章目录前序优势What is 正则表达式?入门1 基本匹配2 元字符2.1 锚点2.1.1 ^ 号2.2.2 $ 号2.2 运算符.2.3 字符集(字符组)2.3.1 否定字符集2.4 重复次数2.4.1 * 号2.4.2 + 号2.4.3 ? 号2.5 { } 号2.6 | 或运算符2.7 (...) 特征标群2.8 \ 转义符号进阶1 简写字符集2 标志2.1 i 忽略大小写(Case Insensitive)2.2 g 全局搜索 (Global search)2.3 m 多行查找(Multili原创 2021-06-02 16:22:10 · 21111 阅读 · 10 评论 -
[Java|面试] 面试被问Java的动态代理机制,能说说吗
Java的动态代理机制文章目录Java的动态代理机制0. 什么是代理1.动态代理和静态代理的区别2. 使用代理的情况3. 动态代理的构成4. JDK中的动态代理5. 手写一个JDK动态规划的demo6. 总结0. 什么是代理代理是基本的设计模式之一,它是你为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象。这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色。代理这种设计模式是通过不直接访问被代理对象的方式,而访问被代理对象的方法。从Java面向对象编程的角度,代理模原创 2021-05-26 15:59:16 · 9905 阅读 · 47 评论 -
[面试|OOM|JVM] 网易互娱一面:什么是OOM?为什么会出现OOM?怎么解决?
什么是OOM?为什么会出现OOM?文章目录什么是OOM?为什么会出现OOM?概念原因JVM内存模型OOM的error类型OOM分析参考资料概念OOM,全称“Out Of Memory”,意思是“内存用完了”来源于 java.lang.OutOfMemoryError这是个特别严重的问题,因为这个问题已经 严重到应用程序自己无法处理了。原因官方的文档称,当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时,就会抛出 java.lang.OutOfMem原创 2021-05-04 22:05:34 · 8449 阅读 · 0 评论 -
[JVM|内存模型] Java虚拟机的内存模型?也就这7个而已
JVM内存模型Java虚拟机所管理的内存包括以下 7个 运行时数据区域:1. 程序计数器 (Program Counter Register)一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器线程私有的内存值得注意的是:《Java虚拟机规范》中,唯一一个没有规定任何OutOfMemoryError情况的区域!!!2. Java虚拟机栈 (VM Stack)Java方法执行的线程内存模型为虚拟机执行Java方法(也就是字节码)服务线程私有的内存其生命周期与线程相同原创 2021-05-04 21:06:26 · 8315 阅读 · 0 评论 -
[面试|Map] 网易互娱提前批问:能说说不同场景下,不同遍历Map集合方式的效率吗
在准备网易互娱的提前批时,看到有同学被问:能说说不同场景下,不同遍历Map集合方式的效率吗详细源码过程见 3种场景不同方法遍历Map集合的效率比较map的key采用简单形式和复杂形式时,查找的效率是不同的,简单的key值效率更高当我们只需要取得value值时,采用values来遍历效率更高当数据量大的时候,采用entrySet遍历key+value的效率要高于keySet(这也是为什么“大家建议使用entrySet,认为entrySet对于大数据量的查找来说,速度更快”)...原创 2021-05-04 17:01:07 · 8181 阅读 · 0 评论 -
[面试|Map|红黑树] 网易面试官问HashMap、TreeMap和HashTable的区别,怎么回答?
HashMap、TreeMap和HashTable的区别Map接口有三个比较重要的实现类,分别是TreeMapHashMapHashTableTreeMap有序的线程不安全TreeMap是SortedMap的实现类基于红黑树每个key-value对作为红黑树的一个节点没有调优选项,因为该树总是处于平衡状态存储key-value对时,需要根据key对节点进行排序(两种排序方式)自然排序:TreeMap的所有key必须实现Comparable接口,而且所有的key应该是同一个原创 2021-05-04 12:44:05 · 8317 阅读 · 0 评论 -
[面试|依赖冲突] 什么是Jar包版本冲突?怎么解决?
什么是依赖冲突/版本冲突?Maven的依赖机制会导致Jar包的冲突。举个例子,在项目中,使用了两个Jar包,分别是A和B。现在A需要依赖另一个Jar包C,B也需要依赖C。但是A依赖的C的版本是1.0,B依赖的C的版本是2.0。这时候,Maven会将这1.0的C和2.0的C都下载到你的项目中,这样你的项目中就存在了不同版本的C。这时Maven会采用最短路径优先原则(即,根据寻找到的依赖路径中最短的),来决定使用哪个版本的Jar包,而另一个无用的Jar包则未被使用,这就是所谓的依赖冲突。原创 2021-05-02 21:20:08 · 8442 阅读 · 0 评论 -
【Java多线程与高并发】3、引出线程的安全性问题
线程是否安全呢?线程的安全性可能是很复杂的,在没有充足同步的情况下,多个线程中的操作执行顺序是不可预测的,甚至会产生奇怪的结果。看个例子:@NotThreadSafe //类不是线程安全的public class UnSafeSequence { private int value; /** * 返回唯一的数值 * @return value++ */ public int getNext() { return value+原创 2021-04-28 23:01:52 · 9111 阅读 · 0 评论 -
[面试|HashMap|红黑树] 转载:HashMap到8时转为红黑树到6转为链表 原因详解
来源:HashMap到8时转为红黑树到6转为链表 原因详解原创 2021-04-27 15:15:08 · 11384 阅读 · 0 评论 -
【LeetCode】5738. K 进制表示下的各位数字总和
题目地址5738. K 进制表示下的各位数字总和题目描述给你一个整数 n(10 进制)和一个基数 k ,请你将 n 从 10 进制表示转换为 k 进制表示,计算并返回转换后各位数字的 总和 。转换后,各位数字应当视作是 10 进制数字,且它们的总和也应当按 · 进制表示返回。示例 1:输入:n = 34, k = 6输出:9解释:34 (10 进制) 在 6 进制下表示为 54 。5 + 4 = 9 。示例 2:输入:n = 10, k = 10输出:1解释:n 本身就原创 2021-04-25 14:03:08 · 9595 阅读 · 0 评论 -
[转]Java-double类型的小数位数设置
转载:https://blog.csdn.net/qq_41820708/article/details/87901231在一些编程过程中,有时会对小数点后的个数有要求,比如:最终输出的数字保留一位小数,此时有以下几种方案:方案一:直接输出示例:public class 位数控制 {public static void main(String[] args) {//保留小数点后俩位 double a=2.12324; System.out.printf("%.2f",a); }}.原创 2021-04-20 21:08:21 · 10153 阅读 · 0 评论 -
一题引出“Java的GC垃圾回收机制的标准”
题目描述判断一块内存空间是否符合垃圾收集器收集的标准有哪些?A 给对象赋予了空值null,以下再没有调用过B 对象重新分配了内存空间C 给对象赋予了空值nullD 给对象赋予了新值这题目的问法或许有些问题?应该是“对象的引用”解析在Java中,判断一块内存空间是否符合GC垃圾收集器收集标准的标准只有两个:对象的引用置为NULL,然后再也没有被引用过。对象的引用被重新指向了一个对象,赋予了新值,重新分配了内存空间。例如:Dog dog = new Dog();//这个应该原创 2021-04-14 22:06:54 · 9263 阅读 · 0 评论 -
一题引出“Java的synchronized锁问题”
题目描述关于下面一段代码,以下说法正确的是:public class Test { private synchronized void a() { } private void b() { synchronized (this) { } } private synchronized static void c() { } private void d() { synchronized (Test.cl原创 2021-04-14 21:45:25 · 9519 阅读 · 0 评论 -
Java默认浮点型是double类型、区别单引号‘‘和双引号““
在java里面 float类型数据类型初始化时必须使用后缀f因为java默认浮点型是double用后缀f表示为float类型;A应为:float x = 0.0f;布尔值可以是一个表达式的值,但必须是一个true或者false值B正确char只能是一个字符 而不是一个字符串C应为:char c=‘A’;D没变量名…没变量名…没变量名…重要的事情说三遍...原创 2021-04-14 21:10:08 · 9742 阅读 · 0 评论 -
一题引出“Java的内部类”
题目描述在下面插入哪段代码可以获得一个Point对象的坐标?( )A、Point p = Line.getPoint();B、Line.Point p = Line.getPoint();C、Point p = (new Line()).getPoint();D、Line.Point p = (new Line()).getPoint();class Line { public class Point { public int x,y;} public Point getPoint()原创 2021-04-14 20:34:26 · 9047 阅读 · 0 评论 -
[算法]找出第k小的元素
题目描述从数组a[]中找出第k小的元素。分析使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。解决import java.util.Random;public class Main{ public static int quickSelect(int arr[], int l, int r, int k) { Random rand = new Random(); int p = rand.nextInt(r - l + 1) + l;原创 2021-04-08 22:07:33 · 9314 阅读 · 1 评论 -
[动态规划]测试次数
题目描述x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测 试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样 的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。如果到了塔的最高层第n层扔没原创 2021-04-08 17:06:08 · 8952 阅读 · 0 评论 -
[HTTP] 回顾Request请求信息数据
request 对象和 response 对象的原理request 和 response 对象是由服务器创建的。接着我们来使用它们request 对象是来获取请求消息,response 对象是来设置响应消息其基本原理,如下图 ????request 对象继承体系结构ServletRequest – interface,接口↓| 继承HttpServletRequest – interface,接口↓| 实现org.apache.catalina.connector.RequestFa原创 2021-04-08 12:54:17 · 8893 阅读 · 2 评论 -
蓝桥杯往年试题练习合集(带答案)更新ing
蓝桥杯文章目录蓝桥杯1. 字符逆序2. 用筛法求之N内的素数3. 字符串的输入输出处理4. 斐波那契数列(Fibonacci)5. 闰年判断6. 马虎的计算7. 不同的字串8. 三项数列求值9. 数的分解1. 字符逆序题目描述将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。输入输入包括一行。 第一行输入的字符串。输出输出转换好的逆序字符串。样例输入I am a student样例输出tneduts a ma Iimport java.uti原创 2021-04-04 21:04:06 · 11875 阅读 · 2 评论 -
[Java集合框架]分享师兄的一份思维导图(带水印)
原创 2021-04-04 21:01:31 · 8284 阅读 · 0 评论 -
Maven-项目管理
搬运自己的博客园:《Maven项目管理》左者使用SSM框架,需要导入jar包;右者使用Maven,不需要导入jar包。Maven是什么?Maven是Apache下的项目管理工具,它由纯Java语言开发,可以帮助我们更方便的管理和构建Java项目。为什么要使用Maven?1、 jar包管理:a) 从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下载到错误的jar包;b) 本地仓库统一管理jar包,使jar包与项目分离,减轻项目体积。2、 m原创 2021-04-04 20:59:40 · 8748 阅读 · 0 评论 -
[面试|HTTP] 关于HTTP中的ServletContext对象
文章目录概念获取功能Demo1.获取mine类型mine类型调用方法Demo2.域对象调用方法Demo3.获取文件的真实路径(服务器路径)调用方法Demo概念ServletContext对象范围:所有用户所有请求的数据谨慎使用。所有用户可以操控它,不太安全;而且,它的生命周期长:服务器始到终,存储的数据多了,会造成内存的压力。代表整个web应用,可以和程序的容器(服务器)来通信(交互数据)获取通过request对象获取调用request.getServletContext原创 2021-04-01 22:54:41 · 8104 阅读 · 0 评论 -
快速使用 vscode 进行 Java 编程
https://juejin.cn/post/6844903586460106760原创 2021-03-31 23:18:42 · 7936 阅读 · 0 评论 -
Java实现GBK转UTF8
将文本文件的编码格式从GBK转UTF-8的方式有很多,比如,从文本文件中用GBK编码读取数据,转为String类型,然后通过UTF-8编码重新写入文本文件实现转码,现在经常使用 Apache Common 组件,用commons-io.jar实现文件的读取和写入,代码如下:commons-io 下载:http://commons.apache.org/io/download_io.cgi//GBK编码格式源码路径String srcDirPath = "D:\\dev\\workspace\\ma原创 2021-03-25 11:32:01 · 4719 阅读 · 0 评论 -
Maven-Please refer to xxx\target\surefire-reports for the individual test results.
问题描述Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project fruit: There are test failures.Please refer to xxx\fruit\target\surefire-reports for the individual test results.Please refer to dump files原创 2021-03-11 20:54:02 · 5588 阅读 · 0 评论 -
Java-5种生成随机数的方法
5种生成随机数的简单方法 ????方法①???? 通过java.Math包的random方法得到1-10的int随机数???? 公式:最小值—最大值(整数)的随机数(类型) 最小值+Math.random()*最大值import java.util.Random;public class RandomDemo { public static void main(String[] args) { for (int i=0;i<5;i++) { System.out原创 2021-03-11 11:30:32 · 2911 阅读 · 0 评论 -
Tomcat:Web服务器软件
从原先个人的Gitee搬运:《Tomcat:Web服务器软件》文章目录Tomcat:web服务器软件安装目录结构启动可能遇到的问题中文乱码黑窗口一闪而过启动报错暴力温柔访问查看IP地址关闭正常关闭强制关闭部署/配置项目的方式虚拟目录直接将项目放到webapps目录下即可简化部署配置conf/server.xml文件在conf\Catalina\localhost创建任意名称的xml文件部署项目的类型静态项目动态项目目录结构(Java动态项目)IDEA中配合使用Tomcat集成到IDEA中新建Web项目.原创 2021-03-11 11:05:33 · 2202 阅读 · 0 评论 -
[转]陌陌Java安全编码规范
陌陌Java安全编码规范https://github.com/momosecurity/rhizobia_JJAVA安全编码规范目录1、安全编码基本原则1.1 所有输入数据都是有害的1.2 不依赖运行环境的安全配置1.3 安全控制措施落实在最后执行阶段1.4 最小化1.5 失败终止2、常见漏洞对应的安全编码方法命令注入代码注入SQL注入Mongo注入XXEXpath注入XSSCSRFURL跳转漏洞SSRF任意文件遍历文件上传反序列化漏洞WebSo.原创 2021-02-25 10:10:26 · 2220 阅读 · 0 评论 -
3种场景不同方法遍历Map集合的效率比较
测试用例//HashMap1:大小为1000000,//key和value的值均为String,//key的值为1、2、3.........1000000Map<String,String> map1 =new HashMap<String,String>();String key1,value1;for(int i=1;i<=1000000;i++){ key1 = ""+i; value1="value"+i; map1.put(key1原创 2021-02-21 19:56:07 · 1836 阅读 · 0 评论 -
HashMap、TreeMap和HashTable的区别
https://www.cnblogs.com/sidekick/p/8010522.htmlMap接口有三个比较重要的实现类,分别是HashMap、TreeMap和HashTable。TreeMap是有序的,HashMap和HashTable是无序的。Hashtable的方法是同步的,HashMap的方法不是同步的。这是两者最主要的区别。这就意味着Hashtable是线程安全的,HashMap不是线程安全的。HashMap效率较高,Hashtable效率较低。 如果对同步性或与遗留代码的兼容性.原创 2021-02-20 11:23:50 · 1672 阅读 · 3 评论 -
[转]Java中的字符串操作(比较String,StringBuiler和StringBuffer)
本文作者:@Yuchao Huang原文链接:https://cnblogs.com/misterchaos/p/12782986.html版权声明:自由转载-非商用-知识共享署名4.0文章目录一、前言二、String,StringBuiler和StringBuffer2.1 String类2.2 StringBuiler 类2.3 StringBuffer 类2.4 String,StringBuiler和StringBuffer的比较(对比C/C++)三、各种字符串操作的效率测试3.1 测试代.转载 2021-02-20 11:05:37 · 114 阅读 · 0 评论 -
解决Swagger2中tags中文无法点击展开的问题
问题SpringBoot集成了Swagger2,在实际开发过程中,使用了Swagger2注解@Api(tags = "{ }")。其中,tags 内容为中文,如上图所示。@Api(value = "/category", tags = {"品类管理"})但是在测试接口时,只能点开某一类菜单,展示不了具体接口的测试页面。解决通过官方的issue得知:Swagger2.6.1的tags,是不支持中文的Swagger2.9.2的tags,支持中文修改项目的Mavne配置,升级Swagge.原创 2021-02-08 21:06:50 · 3303 阅读 · 0 评论 -
【Java笔记】<<、>>和>>>
左移左移运算符 <<????使指定值的所有位都左移规定的次数左移m<<n,代表把数字m在无溢出的前提下乘以2的n次方右移右移运算符 >>???? 使指定值的所有位都右移规定的次数右移m>>n 代表把数字m除以2的n次方,原来是正数的还是正数,负数还是负数注意,如果是单数,也就是二进制末位为1,则结果是将m除以2的n次方的整数商无符号右移无符号右移运算符 >>>????同右移,但是结果全变正数Demo[外链图原创 2021-02-06 17:35:08 · 1498 阅读 · 0 评论 -
Swagger笔记-开发中会用到的部分注解(持续更新)
一份在开发过程中学习Swagger的笔记(含搬运)原创 2021-02-05 23:52:08 · 929 阅读 · 0 评论 -
注解@RestController
@RestController@RestController注解,相当于@ResponseBody + @ControllerSpring 4.0引入了@RestController,这是一个控制器的专用版本,它是一个方便的注释。通过使用@RestController批注对控制器类进行注释,您不再需要将@ResponseBody添加到所有请求映射方法中。@ResponseBody注释默认处于活动状态。Demo要在我们的示例中使用@RestController,我们需要做的就是将@C原创 2021-02-01 17:07:40 · 1131 阅读 · 1 评论 -
Java集合-Set
2020.12.31 更新待补充、完善ing……Set概述set集合不能存储相同的元素同时因为其是一个抽象的接口:所以不能直接实例化一个set对象。Set s = new Set() :×该接口主要继承于Collections接口,所以具有Collection的一些常见的方法。常见用法Sr.No.MethodDescription1add( )向集合中添加元素2clear( )去掉集合中所有的元素3contains( )判断集合中是否包含某原创 2021-01-01 18:02:12 · 472 阅读 · 0 评论 -
Java中List集合的常用方法(更新ing)
整理了去年的笔记,原先用的是Eclipse,现在用惯了IDEA后续继续更新内容ListList接口是继承Collection接口,所以Collection集合中有的方法,List集合也继承过来。常用方法:void add(int index, E element)在指定位置插入元素,后面的元素都往后移一个元素。boolean addAll(int index, Collection<? extends E> c)在指定的位置中插入c集合全部的元素,如果集合发生.原创 2020-12-13 17:26:49 · 3025 阅读 · 0 评论 -
Java的Collection集合的常用方法(更新ing)
整理了去年的笔记,原先用的是Eclipse,现在用惯了IDEA常用方法boolean add(E e)添加元素到Collection集合中。boolean addAll(Collection<? extends E> c)将指定c中的所有元素都添加到此Collection集合中。void clear()移除此collection集合中的所有元素boolean contains(Object o)检查Collection集合中是否包含o对象,如果.原创 2020-12-13 17:23:41 · 616 阅读 · 0 评论 -
IDEA写jsp没有代码提示或报错
好久没写jsp了,昨天一写,发现调用不了request.getParameter。果然是太久没碰jsp了 =_=\\解决好吧,解决也很简单,直接上图吧因为没有导入Tomcat的jar包原创 2020-11-19 21:04:06 · 850 阅读 · 0 评论