
java高阶
文章平均质量分 61
码涤生
现在以一颗谦容的心想大家学习,将来以一颗无私的心想大家解答疑难杂症
展开
-
ArrayList使用remove()移除元素失败
List使用remove移除元素失败原创 2022-02-27 09:34:02 · 1039 阅读 · 0 评论 -
Java数组复制操作几种方式的性能分析
System.arraycopy() > clone() > Arrays.copyof() > for()理论分析前三种的复制方式都是相似的他们都是属于浅拷贝(基础类型的数据拷贝值,引用类型的数据拷贝引用),后面的用的是深拷贝,对于引用类型的数据来说相当于是直接建造了一个一模一样的新房屋。@HotSpotIntrinsicCandidate注解的作用:JDK的Object类源码中,被@HotSpotIntrinsicCandidate标注的方法,在HotSpot中都有一套高原创 2021-04-09 16:43:25 · 510 阅读 · 2 评论 -
从String的==看String的线程池、String.intern以及StringBuffer、StringBuilder
推荐阅读:https://www.cnblogs.com/xiaoxi/p/6036701.htmlString的相关原理String是通过char数组来保存数据的,并且String类是final类(在Java中,被final修饰的类是不允许被继承的,并且该类中的成员方法都默认为final方法);public final class String implements java.io.Serializable, Comparable<String>, CharSequen.原创 2021-04-08 20:35:48 · 242 阅读 · 0 评论 -
自增/自减运算揭秘,有原理有真相
问题简介在牛客网做题的时候遇到这个问题,正确的答案应该是A:先说结论就是:在做_i+i的时候就已经做了i++,这时候的实际情况是_i+1,i++在做运算的时候又是用的他变化之前的值,所以做出的结果就是1,在寻找问题潜在规律之前我们先探究一下自增自减的原理:自增自减原理程序中的变量会存储在主内存中,当需要计算时,主内存中的变量值会被加载到相应的寄存器中,CPU计算过程中,会从寄存器中读取数据,并将计算结果写回寄存器,最终写回主内存。...原创 2021-04-06 14:02:43 · 1132 阅读 · 0 评论 -
Cannot invoke “javax.script.ScriptEngine.eval(String)“ because “engi
java.lang.NullPointerException: Cannot invoke "javax.script.ScriptEngine.eval(String)" because "engine" is null这个错误是从码云上克隆下来一个项目在运行的时候遇到的,这部分的内容是关于验证码的加载,并没有搞清楚其中的原因但是排查出来是版本的问题,将jdk的版本从13降到了8问题就解决了...原创 2021-02-25 09:49:15 · 10094 阅读 · 1 评论 -
Java中常用的时间类
java.util.Date 这个方法类中的方法除过getTime()方法都被标记为了过时。 java.sql.Date 他继承与java.util.Date类,这个类与Date类相似,其中的许多方法都已经过时,过时的方法被标记为了@Deprecated,其中三个参数的构造函数就是,一个参数的构造函数中的date表示的是一个时间戳,这个类中的方法主要是用在SQL相关的操作中的:java.sql中常用的方法的代码示例:Date sqlNowDate = new java.sql..原创 2020-07-21 20:14:30 · 4421 阅读 · 0 评论 -
Java异常类型体系概述与应用
Java异常体系概述 自己对于Java异常体系的了解通过画图的方式画出来了,其中Checked异常通常指的是与程序自身的错误相关的,Unchecked异常通常是由于外界引起的,列入我们的数据库连接失败、所加载的文件不存在等。在我们使用自定义异常的时候,有一种设计方式好像是和枚举类型相结合的,在下面尝试对这种方式进行一个实现。 Java异常处理 系统抛出异常通常有三种形式:Throw、Throws、系统自己抛出。这些抛出的异常的处理通常我们是通过try-catch-finally的语句...原创 2020-07-01 09:19:23 · 466 阅读 · 0 评论 -
Java嵌套类
Java嵌套类的笔记,记录了Java嵌套类的各种应用场景以及他们在功能以及结构和能力上的差异点。原创 2020-05-10 17:43:42 · 559 阅读 · 0 评论 -
Java反射的应用场景(对象的五种创建、深克隆、浅克隆、对象类型信息的获取,编译器API的介绍)
Java中的反射技术有着很广泛的应用,在诸多高阶技术以及现代框架中都有体现,同时他也是Java对象多种创建方式的其中之一,Java对象的创建包括new关键字、clone、序列化及反序列化、反射创建。对象的克隆技术又分为浅克隆深克隆,我们在这里都有清晰的介绍。反射给Java添上了动态语言的特性,那么Java动态语言的特性在JDK1.6之后推出的编译器API中同样有体现,而且有着更大的引用。Java的反射技术除过上述我们所讲到的,还有一个就是通过Java的类型信息获取一个对象更加详尽的信息.原创 2020-04-24 15:02:11 · 641 阅读 · 0 评论 -
Java泛型——类泛型、接口泛型、方法泛型的实现及泛型限定与类型变化关系
自定义泛型类、泛型方法、泛型接口对泛型的限定、以及数据类型的变化:协变、逆变、双变、不变原创 2020-04-21 12:27:06 · 4624 阅读 · 0 评论 -
Java的工厂模式解耦与Spring的 IOC容器应用
学习java以及Spring也有一段时间了,但是对Spring的IOC这一块一直有点照本宣科的意思,这次重新看了Spring的相关教程,通过写个博客希望可以把相关的知识串联起来,在以后写代码的时候可以做到心中有数! 日常我们代码中存在的问题——代码耦合 在软件工程中我们常提出的一句话就是“高内聚,低耦合”简而言之就是在项目开发的过程中我们应该尽可能的减少代码块...原创 2020-04-07 21:02:25 · 351 阅读 · 0 评论 -
深入理解Java虚拟机思维导图——Java 发展史
原创 2020-04-02 20:16:25 · 236 阅读 · 0 评论 -
java中参数的引用类型——按值引用、按索引引用
概述 现在常用常见的方法参数的传递方法我们可以划分为按值调用(call by value:表示方法接受的是调用者提供的值)、按引用调用(call by reference:表示方法接收的是调用者提供的变量地址),在最古老的高级语言Algol中也曾出现过按名调用(call by name)。 我们可以通过一个方法可以修改传递引用所对应的变量值,这里我们常见的是...原创 2020-03-16 19:53:27 · 474 阅读 · 0 评论 -
Java代理——静态代理、单接口动态代理、多接口动态代理、AOP编程
代理理念 在java中代理的运用我们可以类比于生活中的中介(卖家与买家通过中介来认识沟通)、明星经纪人(粉丝与明星之间一般是通过经纪人来预约联系,这样可以避免大量的分析直接联系给明星带来困扰,经过经纪人“审核”的粉丝可以与明星进行沟通互动)之类的第三方,这个第三方可以起到安全屏障、减少双方之间的关联程度。在java代理的理念之上诞生了经典模式之一的代理模式又称为委托模式,通过...原创 2020-03-07 11:41:38 · 1225 阅读 · 0 评论